release
Skill31 starsChanged 6 months agoMITView on GitHub
Adds the release that every PR must carry, and runs before creating or pushing any PR. Bumps the plugin version and writes changelog entries: gathers merged PRs since the last tag plus unmerged current-branch changes, decides the semver bump, and commits the release onto the current branch (or opens a release PR from main). Runs non-interactively. Triggers when preparing, pushing, or finalizing a PR, or when the user says "release", "cut a release", "create a release PR", "prepare a release", or "bump version".
We split this skill into the rules it gives an agent
4 rules. 0 are common, 4 are distinctive, and 0 are very specific to this project.
0
Common
Most of the 184 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 13
Add a release (version bump + changelog) to the current branch before its PR is created or updated.
- Distinctive: line 21
Run the info script to collect merged PRs and calculate the version:
- Distinctive: line 69
Write the formatted changelog section (from step 4) to a temporary file:
- Distinctive: line 81
Run the release script with the new version and temp file path:
“Common” is measured: kept by at least 6 in 10 of the 184 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Add a release (version bump + changelog) to the current branch before its PR is created or updated. Every PR must include a release.
This skill is non-interactive. Decide the version and changelog yourself; do not ask the user to confirm the classification, version, or wording. Only stop and report if a script returns an error.
Steps
1. Gather release info
Run the info script to collect merged PRs and calculate the version:
bash .claude/skills/release/scripts/release-info.sh 2>&1Capture the JSON output (errors may arrive on stderr, hence 2>&1). If the error is already_released, the branch already carries its release commit (each branch gets exactly one; later commits such as review fixes ship under it). There is nothing to do, so skip the remaining steps and report that. This is not a failure. stale_release means another PR already shipped this branch's version; stop and tell the operator to bump the version manually by updating all four version fields (.claude-plugin/plugin.json, the codagent entry in .claude-plugin/marketplace.json, .codex-plugin/plugin.json, .cursor-plugin/plugin.json) and renaming the branch's ## <version> heading in CHANGELOG.md to match, then rerun this skill. Updating only some of these can make the next run report already_released and leave the rest stale. For any other "error", stop and report the message to the user.
2. Decide the classification and version
The script's classification comes from conventional commit prefixes, which is only a heuristic. Review it and adjust on your own judgment:
- Internal changes (tooling, CI, repo automation, skills used only by maintainers such as this one) are patch-level even if prefixed with
feat:. - User-facing new capabilities in shipped skills are minor.
- Breaking changes to shipped skills' behavior or interfaces are major.
Recompute new_version from current_version if you change any category (major → X+1.0.0, minor → X.Y+1.0, otherwise X.Y.Z+1). Briefly state the chosen version and classification in your output, then continue without waiting.
3. Write changelog descriptions
For each PR in the JSON output, write a one-sentence description that is slightly more informative than the raw PR title. Strip the conventional commit prefix from the title (feat:, fix:, chore:, etc.) and expand it into a sentence that gives enough context to understand the change without clicking through.
If an entry has "is_branch_commits": true and "number": 0, it represents unmerged commits on the current branch. Read the commit messages (git log origin/main..HEAD --oneline --no-merges) and write a description summarizing those changes. Omit the PR link for these entries since they have no PR yet — just use a bullet with the description.
4. Format the changelog section
Build the changelog section for the new version. Only include sections that have entries. Sort entries by PR number ascending within each section.
Format:
## <new_version>
### Major Changes
- [#<number>](https://github.com/Codagent-AI/agent-skills/pull/<number>) <description>
### Minor Changes
- [#<number>](https://github.com/Codagent-AI/agent-skills/pull/<number>) <description>
### Patch Changes
- [#<number>](https://github.com/Codagent-AI/agent-skills/pull/<number>) <description>
- <description without link> (for branch-commit entries with no PR)5. Write the changelog section to a temp file
Write the formatted changelog section (from step 4) to a temporary file:
TMPFILE=$(mktemp)
cat <<'CHANGELOG_EOF' > "$TMPFILE"
<paste the formatted changelog section here>
CHANGELOG_EOF
echo "$TMPFILE"6. Commit the release
Run the release script with the new version and temp file path:
bash .claude/skills/release/scripts/create-release-pr.sh <new_version> <tmpfile_path>On a feature branch, this commits the release onto the branch and pushes it; if the branch has no PR yet, the calling workflow (e.g. codagent:push-pr or codagent:finalize-pr) creates it next. On main, it creates a release/v<new_version> branch and opens a release PR.
7. Report
Print the version and the PR URL returned by the script (or note that no PR exists yet).
Clean up the temp file:
rm -f "$TMPFILE"Other versions194 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 194
- paperclipai/paperclip★ 110ksame name
- modelcontextprotocol/servers★ 92ksame name
- remotion-dev/remotion★ 70ksame name
- traefik/traefik★ 65ksame name
- usememos/memos★ 64ksame name
- tw93/Pake★ 63ksame name
- Yeachan-Heo/oh-my-claude-sisyphus★ 40ksame name
- Yeachan-Heo/oh-my-claudecode★ 40ksame name
- tobi/qmd★ 30ksame name
- jlowin/fastmcp★ 28ksame name
184 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Used alongsideProjects with it also use create-agent-adapter, changelog-style and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
MicrosoftSkillcreate-agent-adapter
Technical guide for creating a new Paperclip agent adapter. Use when building a new adapter package, adding support for a new AI coding tool (e.g. a new CLI agent, API-based agent, or custom process), or when modifying the adapter system. Covers the required interfaces, module structure, registration points, and conventions derived from the existing claude-local and codex-local adapters.
Also in 5 projects that use this
GrinvSkillchangelog-style
Turn a commit range into CHANGELOG.md entries following common-changelog style. Use when finishing a PR or cutting a release, to write/fix the [Unreleased] section's entries — moving [Unreleased] under a new dated version heading is a separate, automated step (see the release skill / scripts/sync-version.ts), not this skill's job.
Also in 4 projects that use this
GrinvSkilldocs-consistency-check
Check README/manifest.json/server.json/CHANGELOG.md/AGENTS.md and docs/*.md for drift against the actual registered tools and source. Use after adding, renaming, or removing a tool, or as part of a live-audit pass.
Also in 4 projects that use this
MicrosoftSkillpr-report
Review a pull request or contribution deeply, explain it tutorial-style for a maintainer, and produce a polished report artifact such as HTML or Markdown. Use when asked to analyze a PR, explain a contributor's design decisions, compare it with similar systems, or prepare a merge recommendation.
Also in 5 projects that use this
Microsoft AzureSkilldocumentation-consistency
Keeps GPT-RAG MCP service and umbrella documentation aligned with shipped behavior. Use for capabilities, configuration keys, deployment steps, endpoints, defaults, operations, or breaking changes.
Also in 6 projects that use this
parcadeiSkillagent-context-isolation
Agent Context Isolation
Also in 3 projects that use this
- +3 more from Grinv
In this repository30 other files it gives its agents.
- AGENTS.mdAGENTS.md
- docs/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- releaseSkill
- ask-questionsSkill
- call-agentSkill
- designSkill
- finalize-prSkill
- fix-prSkill
- handoffSkill
- implement-changeSkill
- initSkill
- orchestrate-changeSkill
- plan-tasksSkill
- prepare-acceptanceSkill
- proposal-reviewSkill
- proposeSkill
- push-prSkill
- review-approachSkill
- review-assumptionsSkill
- review-specSkill
- review-tasksSkill
- session-reportSkill
- simple-planSkill
- specSkill
- task-complianceSkill
- test-flowsSkill
- test-planSkill
- verify-behaviorSkill
- wait-ciSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

