ci(skill): validate skill against agentskills.io spec on PRs - #276
Merged
Conversation
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
reviewed
Apr 19, 2026
doistbot
left a comment
Member
There was a problem hiding this comment.
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.
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>
7 tasks
Contributor
|
🎉 This PR is included in version 1.50.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
gh skill publish --dry-runstep 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.gh skill --helpprobe: if the subcommand isn't present on the runner (it is a preview feature ingh >= 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 installresolves to the latest tagged release in the repo, and our semantic-release flow already produces those tags plus the matching GitHub release. Theagent-skillstopic is already set. So no separate skill-publish step is needed — every CLI release is already the skill release.Test plan
ghversiongh skill publish --dry-runfrom the repo root reportsDry run complete.(already verified locally on gh 2.90.0)🤖 Generated with Claude Code