toolhive-release
Automates the release process by analyzing commits, determining semantic version bumps, and preparing PRs.
Install
mkdir -p .claude/skills/toolhive-release && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/3804" && unzip -o skill.zip -d .claude/skills/toolhive-release && rm skill.zipInstalls to .claude/skills/toolhive-release
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Creates ToolHive release PRs by analyzing commits since the last release, categorizing changes, recommending semantic version bump type (major/minor/patch), and triggering the release workflow. Use when cutting a release, preparing a new version, checking what changed since last release, or when the user mentions "release", "version bump", or "cut a release".Key capabilities
- →Analyze git commits since last tag
- →Categorize changes into features, fixes, and breaking changes
- →Recommend semantic versioning bumps
- →Trigger GitHub release workflows
How it works
It scans git history to categorize commits, calculates the appropriate semantic version bump, and triggers a GitHub workflow to create a release PR.
Inputs & outputs
When to use toolhive-release
- →Cutting a new version of the library
- →Analyzing changes for a release PR
- →Determining if a change requires a major bump
- →Automating the versioning process
About this skill
ToolHive Release
Automates the ToolHive release process by analyzing changes and triggering the release PR workflow.
When to Use
- When cutting a new ToolHive release
- When checking what's changed since the last release
- When deciding between patch, minor, or major version bump
- When the user says "release", "cut a release", "new version", or "version bump"
Instructions
Step 1: Find the Last Release
git tag --sort=-v:refname | head -1
This returns the most recent version tag (e.g., v0.8.3).
Step 2: List Commits Since Last Release
git log <last-tag>..HEAD --oneline --no-merges
Count the commits:
git log <last-tag>..HEAD --oneline --no-merges | wc -l
Step 3: Categorize Changes
Analyze each commit and categorize into:
| Category | Description | Version Impact |
|---|---|---|
| New Features | New functionality, new commands, new APIs | Minor bump |
| Bug Fixes | Fixes to existing functionality | Patch bump |
| Breaking Changes | API changes, removed features, incompatible changes | Major bump |
| Improvements | Enhancements to existing features, refactoring | Patch or Minor |
| Tests/CI | Test additions, CI/CD changes | No impact |
| Documentation | Doc updates, README changes | No impact |
| Dependencies | Dependency updates (Renovate PRs) | Patch bump |
Step 4: Recommend Version Bump
Based on the categorization:
- Major (
X.0.0): Any breaking changes present - Minor (
0.X.0): New features without breaking changes - Patch (
0.0.X): Only bug fixes, dependency updates, improvements
Present the recommendation with justification to the user.
Step 5: Trigger the Release Workflow
IMPORTANT: Present the analysis and recommendation to the user and WAIT for explicit confirmation before proceeding.
After user confirms the bump type, use the GitHub MCP tool to trigger the workflow:
mcp__github__run_workflow(
owner: "stacklok",
repo: "toolhive",
workflow_id: "create-release-pr.yml",
ref: "main",
inputs: { "bump_type": "<patch|minor|major>" }
)
Step 6: Monitor and Report
- Get the workflow run status:
mcp__github__list_workflow_runs(
owner: "stacklok",
repo: "toolhive",
workflow_id: "create-release-pr.yml",
per_page: 1
)
- Poll until completion (check the
statusfield until it shows "completed"):
mcp__github__get_workflow_run(
owner: "stacklok",
repo: "toolhive",
run_id: <run_id from step 1>
)
- Find the created PR:
mcp__github__list_pull_requests(
owner: "stacklok",
repo: "toolhive",
state: "open",
sort: "created",
direction: "desc",
per_page: 5
)
Look for the PR with title matching "Release v<new-version>".
Report the PR URL to the user.
Release Workflow Chain
For reference, here's what happens after the PR is merged:
- create-release-pr.yml (manual) → Creates PR with version bumps
- create-release-tag.yml (auto on VERSION change) → Creates git tag + GitHub Release
- releaser.yml (auto on release publish) → Builds binaries, images, Helm charts
See WORKFLOW-REFERENCE.md for detailed workflow documentation.
Example Output
## Commits since v0.8.3 (24 commits)
### New Features
- OAuth Authorization Server (#3531, #3513, #3520, #3488)
- ExcludeAll for VirtualMCPServer (#3499)
- Generic PrefixHandlers (#3524)
### Bug Fixes
- OAuth token refresh context cancellation (#3539)
- Custom YAML unmarshalers for registry metadata (#3545)
### Improvements
- Logging updates (#3546, #3547)
### Tests/CI/Docs
- E2E tests for secrets management (#3485)
- Dependency updates
**Recommendation: Minor release (0.9.0)**
New features (OAuth auth server, ExcludeAll) warrant a minor version bump.
Error Handling
- No tags found: Repository may not have any releases yet. Check
git tagoutput. - Workflow trigger fails: Ensure GitHub MCP server is configured and has proper permissions. The token needs
actions:writescope. - PR not found: The workflow may still be running. Poll
mcp__github__get_workflow_rununtil status is "completed", then search for the PR. - Workflow run failed: Use
mcp__github__get_workflow_runto check theconclusionfield. If "failure", usemcp__github__get_job_logsto investigate.
When not to use it
- →Releasing non-ToolHive repositories
Prerequisites
Limitations
- →Requires explicit user confirmation for version bumps
- →Depends on GitHub Actions permissions
How it compares
It automates the categorization and versioning logic based on commit history rather than manual release preparation.
Compared to similar skills
toolhive-release side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| toolhive-release (this skill) | 1 | 3mo | Review | Intermediate |
| github-actions-templates | 7 | 3mo | No flags | Intermediate |
| upgrade-deps | 0 | 2mo | No flags | Advanced |
| ci-cd-config-sync | 0 | 3mo | Review | Intermediate |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by stacklok
View all by stacklok →You might also like
github-actions-templates
wshobson
Create production-ready GitHub Actions workflows for automated testing, building, and deploying applications. Use when setting up CI/CD with GitHub Actions, automating development workflows, or creating reusable workflow templates.
upgrade-deps
obot-platform
Upgrade dependencies and runtimes safely, run CI, and report higher-risk options.
ci-cd-config-sync
mrcoffeex
Detect codebase changes and suggest GitHub Actions CI/CD config updates. Use when: adding dependencies (composer/npm), creating new Laravel features, changing environment variables, modifying Docker Compose, or adding tests. Analyzes changes and proposes workflow updates to keep CI/CD in sync with y
bump-go-dependencies
docker
Update direct Go module dependencies one by one, validating each bump with tests and linter, committing individually, and producing a summary table for a PR description
gha
ykdojo
Analyze GitHub Actions failures and identify root causes
github-actions-failure-debugging
Rabithua
Guide for debugging failing GitHub Actions workflows. Use this when asked to debug failing GitHub Actions workflows.