Skip to content

ci(skill): validate skill against agentskills.io spec on PRs - #276

Merged
scottlovegrove merged 2 commits into
mainfrom
scottl/skill-validation
Apr 19, 2026
Merged

ci(skill): validate skill against agentskills.io spec on PRs#276
scottlovegrove merged 2 commits into
mainfrom
scottl/skill-validation

Conversation

@scottlovegrove

Copy link
Copy Markdown
Collaborator

Summary

  • Adds a gh skill publish --dry-run step to the existing Skill Sync Check workflow so broken frontmatter, naming violations, or stripped install metadata are caught on PRs rather than surfacing at release time.
  • Guards the step with a gh skill --help probe: if the subcommand isn't present on the runner (it is a preview feature in gh >= 2.90.0), the step emits a GitHub Actions notice and exits 0 instead of failing. Once ubuntu-latest catches up, the validation starts running automatically with no config change.

Why this (and not a release-pipeline hook)?

gh skill install resolves to the latest tagged release in the repo, and our semantic-release flow already produces those tags plus the matching GitHub release. The agent-skills topic is already set. So no separate skill-publish step is needed — every CLI release is already the skill release.

Test plan

  • On this PR: confirm the Skill Sync Check job runs the new step and either validates cleanly or prints the "skipping validation" notice depending on the runner's gh version
  • Optional local sanity check: gh skill publish --dry-run from the repo root reports Dry run complete. (already verified locally on gh 2.90.0)

🤖 Generated with Claude Code

Adds a `gh skill publish --dry-run` step to the existing skill-sync
check so broken frontmatter or naming violations are caught on PRs
rather than at release time.

The step first probes `gh skill --help` and skips with a GitHub
Actions notice if the subcommand isn't present on the runner —
`gh skill` is a preview feature in gh >= 2.90.0, so stale ubuntu-latest
runners would otherwise fail the check until they catch up.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@doistbot
doistbot requested a review from gnapse April 19, 2026 08:13

@doistbot doistbot left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR thoughtfully enhances the Skill Sync Check workflow by adding a dry-run validation step against the agentskills.io spec using the GitHub CLI. Catching metadata and naming issues during the pull request phase will greatly improve reliability and prevent unexpected failures at release time. A minor adjustment is noted regarding the command probe, as checking specifically for the publish subcommand rather than just the top-level skill namespace ensures the workflow gracefully skips the step on runners with partial preview features.

Share FeedbackReview Logs

Comment thread .github/workflows/check-skill-sync.yml Outdated
Addresses review feedback on #276. A runner could conceivably have the
`skill` namespace registered without all subcommands (partial preview
rollout), so probing `gh skill publish --help` is a more precise guard
than `gh skill --help` for the exact command we are about to invoke.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@scottlovegrove scottlovegrove self-assigned this Apr 19, 2026
@scottlovegrove scottlovegrove added the 👀 Show PR PR must be reviewed before or after merging label Apr 19, 2026
@scottlovegrove
scottlovegrove merged commit f5a17ff into main Apr 19, 2026
4 checks passed
@scottlovegrove
scottlovegrove deleted the scottl/skill-validation branch April 19, 2026 08:35
@doist-release-bot

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.50.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released 👀 Show PR PR must be reviewed before or after merging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants