Release and Versioning
Following the version and release conventions here keeps every tool's copy of the bundle consistent, so a tagged release installs the same behavior everywhere. For how an already-released version reaches a user's tool, see Get Started.
Version source
A skill's version can drift silently between tools if the plugin manifests fall out of sync with each other or with manifest.json. The package version lives in:
- .claude-plugin/plugin.json
- .cursor-plugin/plugin.json
- gemini-extension.json
Keep these in sync whenever you bump a version, and make sure manifest.json's skill_count and skills list match what is actually in skills/.
What a release contains
A release is the current state of skills/ plus its regenerated artifacts:
- skills/: source of truth (skills, router, references, scripts)
- cursor/rules/: generated Cursor rules
- codex/: generated Codex tree
- The plugin and extension manifests, plus manifest.json
Because the generated trees are committed and verified by continuous integration (CI), any tagged commit on main is a coherent, installable release for every tool. See Architecture for how the generated trees are kept in sync with skills/.
Release checklist
- Make changes under skills/. See Add or Edit a Skill for the SKILL.md edit and rebuild steps.
- Regenerate derived trees:
bash scripts/build-cursor-rules.sh bash scripts/build-codex-skills.sh
- Update manifest.json if skills were added or removed.
- Manifests with a stale version number make tools report the wrong bundle version to their users. Bump the version in the plugin and extension manifests.
- A failed drift check means the tagged commit would ship a generated tree that does not match skills/. Confirm CI passes before tagging.
- Without a tag, tools and the skills CLI have no fixed point to install from. Tag the release.
Compatibility
- Adding a skill is backward compatible. Existing skills and routes are unaffected.
- Changing a slug is a breaking change for skills CLI users who reference it. Avoid renaming slugs once published.
- Changing routing triggers can change which skill activates for a given request. Review the router (skills/CLAUDE.md) when editing triggers.
Additional Resource Refer to the Get Started documentation for how each tool picks up a new release.