Agent skill
release
Verify release readiness and publish. The git wrapup protocol handles version bumps, changelog, README, commits, and tagging during the coding session. This skill verifies nothing was missed, runs final checks, and presents the irreversible publish commands.
Install this agent skill to your Project
npx add-skill https://github.com/cyanheads/mcp-ts-core/tree/main/skills/release
Metadata
Additional technical details for this skill
- type
- workflow
- author
- cyanheads
- version
- 1.2
- audience
- internal
SKILL.md
Context
By the time this skill runs, the git wrapup protocol should have already handled: changelog entry, version bumps, README updates, atomic commits, and an annotated tag. This skill is the final verification gate before irreversible publish commands. Its job is to catch anything the wrapup missed or got wrong — not to redo the work.
Steps
1. Confirm the Target Version
Read package.json to get the version. This is the source of truth. If the user hasn't decided on the bump level yet (patch/minor/major), ask now — but usually this was already set during wrapup.
2. Verify Version Consistency
The wrapup protocol bumps versions, but sometimes a file gets missed. Search for the old version string across the repo and verify the new version appears in all required locations:
| File | What to Verify |
|---|---|
package.json |
version field |
server.json |
Root version + version in each packages[] entry (3 total) |
CLAUDE.md |
Version in the header (**Version:** X.Y.Z) |
README.md |
Version badge (Version-X.Y.Z-blue) and any other version references |
templates/CLAUDE.md |
**Version:** X.Y.Z in the header |
templates/AGENTS.md |
Same — these files are identical |
Fix any mismatches. A grep for the old version is the fastest way to find stragglers.
3. Verify CHANGELOG.md
Confirm the changelog entry:
- Uses a concrete version number and date (never
[Unreleased]) - Groups changes correctly: Added, Changed, Fixed, Removed
- Accurately reflects what actually shipped — cross-reference with
git logsince the last tag
4. Verify README.md
Beyond the version badge, confirm:
- Feature counts (tool count, resource count, etc.) match reality if the surface area changed
- Descriptions and capability lists reflect new features
- MCP SDK version badge is current if the dependency was bumped
- Code examples still match current APIs
5. Verify Skill Versions
For any skills whose SKILL.md was modified in this release cycle, confirm metadata.version in their YAML frontmatter was bumped. This is how the maintenance skill detects updates — if the version didn't bump, consumers won't get the new content on bun update.
6. Verify docs/tree.md
If the file structure changed, regenerate and confirm it's current:
bun run tree
Skip if no structural changes occurred.
7. Run Final Checks
All must pass:
bun run devcheck
bun run test
bun run build
8. Verify Commit and Tag
Confirm a clean release commit and annotated tag exist:
- Commit message:
chore: release v{{VERSION}} - Annotated tag:
v{{VERSION}}with a concise summary of key changes
If the wrapup created the commit and tag already, verify they're correct. If not, create them now.
Tag message examples:
v0.2.0: Cloudflare Workers support, task tools, Graph service
v0.1.7: OTel instrumentation refactor, lighter semconv
v0.1.6: Error factory functions, auto-classification patterns
9. Stop and Present Publish Commands
The following commands are irreversible. Present them to the user for manual execution:
# Push commit and tag
git push && git push --tags
# Publish to npm
bun publish --access public
# Build and push Docker image
docker buildx build --platform linux/amd64,linux/arm64 \
-t ghcr.io/cyanheads/mcp-ts-core:{{VERSION}} \
-t ghcr.io/cyanheads/mcp-ts-core:latest \
--push .
# Publish MCP listing (if applicable)
mcp-publisher publish
Pre-Publish Checklist
- Version consistent across all files (package.json, server.json ×3, CLAUDE.md, README.md, templates)
- No stale old-version references found in repo
- CHANGELOG.md has concrete version and date, content matches actual changes
- README.md current — feature counts, badges, descriptions, examples
- Modified skill versions bumped in YAML frontmatter
-
docs/tree.mdcurrent (if structure changed) -
bun run devcheckpasses -
bun run testpasses -
bun run buildsucceeds - Clean release commit exists
- Annotated git tag exists with summary message
- User presented with publish commands (push, npm, Docker, mcp-publisher)
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
add-resource
Scaffold a new MCP resource definition. Use when the user asks to add a resource, expose data via URI, or create a readable endpoint.
field-test
Exercise tools, resources, and prompts with real-world inputs to verify behavior end-to-end. Use after adding or modifying definitions, or when the user asks to test, try out, or verify their MCP surface. Calls each definition with realistic and adversarial inputs and produces a report of issues, pain points, and recommendations.
add-export
Add a new subpath export to the @cyanheads/mcp-ts-core package. Use when creating a new public API surface that consumers import from a dedicated subpath (e.g., @cyanheads/mcp-ts-core/newutil).
api-errors
McpError constructor, JsonRpcErrorCode reference, and error handling patterns for `@cyanheads/mcp-ts-core`. Use when looking up error codes, understanding where errors should be thrown vs. caught, or using ErrorHandler.tryCatch in services.
api-utils
API reference for all utilities exported from `@cyanheads/mcp-ts-core/utils`. Use when looking up utility method signatures, options, peer dependencies, or usage patterns.
add-tool
Scaffold a new MCP tool definition. Use when the user asks to add a tool, create a new tool, or implement a new capability for the server.
Didn't find tool you were looking for?