Verify release readiness by detecting changed skills, checking version updates, and running validation scripts. Use before creating releases or publishing to marketplace.
Use this skill to prepare skills for release. It detects which skills have changed since the last release and reports whether versions were updated accordingly.
This skill automates the release preparation workflow and ensures all skills have proper version updates.
Before using this skill:
main bookmark and main@origin (remote tracking bookmark)jq is installed (for JSON parsing)scripts/verify-skills-static.sh and scripts/verify-skills-opencode.sh scripts availableRun the detection script using the Bash tool:
bash .claude/skills/verify-release-readiness/scripts/detect-changes.sh
This script:
main@origin bookmark)Exit codes:
Optional: Compare against a different revision:
bash .claude/skills/verify-release-readiness/scripts/detect-changes.sh <revision>
Examples:
bash .claude/skills/verify-release-readiness/scripts/detect-changes.sh main - Compare against local main bookmarkbash .claude/skills/verify-release-readiness/scripts/detect-changes.sh @- - Compare against parent commitAfter running the script:
changed_skills arrayneeds_update: false ā Version was properly updated āneeds_update: true ā Version needs manual update ā Present the findings in a clear format:
Found X changed skills:
ā skill-name-1
- Current version: 0.2.0
- Main version: 0.1.0
- Status: Version updated ā
- Changed files: agentfiles/shared/skills/skill-name-1/SKILL.md
ā skill-name-2
- Current version: 0.3.0
- Main version: 0.3.0
- Status: Version NOT updated ā
- Changed files: agentfiles/shared/skills/skill-name-2/SKILL.md, agentfiles/shared/skills/skill-name-2/README.md
For skills marked with ā (needs_update: true):
Tell the user: "Please manually update the version field in the SKILL.md frontmatter for the following skills: [list them]"
The user should:
Wait for the user to indicate they're done.
Once user confirms versions are updated, run the verification scripts:
bash scripts/verify-skills-static.sh
bash scripts/verify-skills-opencode.sh
Both should output TAP format with all tests passing. Report any failures to the user.
After verification passes, summarize:
Release preparation complete:
- X skills changed
- Y versions manually updated
- All verification tests passed ā
Ready to commit and release!
If detection script fails (exit code 2):
jj stmain@origin (remote) bookmark exists: jj bookmark listIf no changes detected (exit code 1):
bash .claude/skills/verify-release-readiness/scripts/detect-changes.sh main to compare against the local main bookmark insteadIf verification fails:
{
"changed_skills": [
{
"name": "evaluate-skills",
"current_version": "0.2.0",
"main_version": "0.1.0",
"needs_update": false,
"changed_files": ["agentfiles/shared/skills/evaluate-skills/SKILL.md"]
},
{
"name": "write-agents-files",
"current_version": "0.2.0",
"main_version": "0.2.0",
"needs_update": true,
"changed_files": ["agentfiles/shared/skills/write-agents-files/SKILL.md", "agentfiles/shared/skills/write-agents-files/scripts/validate.sh"]
}
]
}