prepare-release
Skill7 starsChanged 9 months agoMITView on GitHub
Prepare a release (phases 1-6). Usage: /prepare-release [version]. If version omitted, infers from conventional commits. Coordinates agents for review, runs prepare-release.sh, then enhances release notes with rich formatting.
49 other projects use a version of this.
Adopted by
Most recently taken up by
- skixmix/AntanItheir own version, first seen Nov 15, 2026
- CherryHQ/cherry-studiotheir own version, first seen Nov 15, 2026
- leancodepl/patroltheir own version, first seen Nov 9, 2026
- Azure/azure-sdk-for-rusttheir own version, first seen Nov 8, 2026
- Krzysztof318/MailFathomtheir own version, first seen Nov 7, 2026
- epam/ketchertheir own version, first seen Nov 1, 2026
Used with
Projects with it also use sync-docs, review-change and 6 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.
Eipi-TongSkillsync-docs
Update SPEC.md and docs/DECISIONS.md to reflect recent code changes. Use after completing a feature, or when the user says "sync docs", "update the spec", or "log this decision".
Also in 4 projects that use this
thlaureSkillreview-change
Use this skill when the user asks for a code review, a correctness pass, a check before PR, or asks whether a Signalist change follows project conventions.
Also in 3 projects that use this
DockerSkillfix-issue
Fix a single GitHub issue end-to-end: triage, research, write the fix, review, and create a PR. Use when asked to fix an issue: "fix issue 1234", "resolve #500", "create a PR for issue 200".
Also in 4 projects that use this
kiminmonacoSkillimplement-feature
Guide for implementing features in ClaudeBar following architecture-first design, TDD, rich domain models, and Swift 6.2 patterns. Use this skill when: (1) Adding new functionality to the app (2) Creating domain models that follow user's mental model (3) Building SwiftUI views that consume domain models directly (4) User asks "how do I implement X" or "add feature Y" (5) Implementing any feature that spans Domain, Infrastructure, and App layers
Also in 3 projects that use this
SentrySkillwrite-docs
Create or update documentation pages for the Abacus docs site. Use when adding new documentation, updating existing pages, or ensuring docs stay in sync with code changes. Ensures pages follow Starlight patterns and build correctly.
Also in 3 projects that use this
MicrosoftSkillrun-tests
Guide for running pytest tests locally. Use this when running tests to verify code changes.
Also in 3 projects that use this
Other versions49 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 49
- CherryHQ/cherry-studio★ 54ksame name
- redis/go-redis★ 22ksame name
- netbox-community/netbox★ 22ksame name
- joke2k/faker★ 19ksame name
- pybind/pybind11★ 18ksame name
- telepresenceio/telepresence★ 7.3ksame name
- modelcontextprotocol/csharp-sdk★ 4.6ksame name
- tmoroney/auto-subs★ 4.5ksame name
- CLIUtils/CLI11★ 4.5ksame name
- ethereum/consensus-specs★ 4ksame name
39 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.
In this repository9 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- plugin/CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- corpus-testSkill
- gen-testSkill
- prereviewSkill
- publish-releaseSkill
- quality-gateSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
36 rules. 0 are common, 22 are distinctive, and 14 are very specific to this project.
0
Common
Most of the 48 edited versions we read keep these.
22
Distinctive
This author's own choices. Worth a look.
14
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 17
If no version is provided, analyze commits since the last tag:
- Very specific: line 33
Only fix:, chore:, docs:, refactor:, test:, perf: → PATCH bump
- Distinctive: line 80
Check commits since last release tag
- Very specific: line 81
Run make bench-quick for quick local regression check (~2 min)
- Very specific: line 82
Create feature branch chore/<version>-release-prep
- Distinctive: line 85
Check if CLAUDE.md needs updates for new features
- Distinctive: line 86
Check if README.md needs updates (verify accuracy of stated details)
- Very specific: line 87
Check if any doc.go files need updates
- Very specific: line 88
Check if docs/developer-guide.md needs updates
- Very specific: line 91
Run make check to ensure all tests pass
- Very specific: line 92
Run govulncheck for security vulnerabilities
- Distinctive: line 93
Verify gopls diagnostics are clean
- Distinctive: line 96
Developer: - Check godoc examples:
- Very specific: line 97
Verify all new features have runnable examples in example_test.go
- Distinctive: line 98
Add any missing examples
- Distinctive: line 99
Ensure examples compile and pass
- Distinctive: line 103
IMPORTANT: Do NOT wait for all agents to complete before acting.
- Distinctive: line 108
If Maintainer finds issues → fix them while other agents run
- Distinctive: line 109
If DevOps completes benchmarks → report benchmark deltas
- Distinctive: line 110
If Architect finds doc gaps → start fixing while waiting for others
- Distinctive: line 111
If Developer finds missing examples → add them incrementally
- Very specific: line 124
Quick benchmark check: If make bench-quick shows regressions:
- Distinctive: line 129
After all agents complete:
- Distinctive: line 134
Commit all changes to the pre-release branch
- Very specific: line 140
After all agent work is committed, from the repository root run the script in background mode (run_in_background: true):
- Very specific: line 151
Phase 5: Create PR, wait for CI checks (with retry for check registration delay), merge with --squash --admin, switch to main
- Distinctive: line 154
If the script fails partway through, check the error message.
- Distinctive: line 162
After the script completes, enhance the auto-generated release notes with richer content:
- Very specific: line 166
Read the auto-generated notes at .release/notes-<version>.md
- Distinctive: line 178
Look at 1-2 previous releases for style consistency:
- Distinctive: line 234
Preserve auto-generated content: Keep the "What's Changed" PR list and changelog link at the bottom
- Very specific: line 238
Write the enhanced notes back to .release/notes-<version>.md, then display them for user review.
- Distinctive: line 242
After the enhanced notes are ready, prompt the user:
- Distinctive: line 255
If user chooses "Yes", from the repository root run:
- Very specific: line 266
Use --admin flag for PR merge if branch protection blocks
- Distinctive: line 268
Document all new public API in CLAUDE.md
“Common” is measured: kept by at least 6 in 10 of the 48 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
prepare-release
Prepare a new release by running comprehensive pre-release checks and updates.
Usage:
/prepare-release <version>- Use specified version (e.g.,/prepare-release v1.46.0)/prepare-release- Infer version from conventional commits
Version Inference
If no version is provided, analyze commits since the last tag:
Step 1: Get Commits Since Last Release
LAST_TAG=$(git describe --tags --abbrev=0)
echo "Last release: $LAST_TAG"
git log "$LAST_TAG"..HEAD --onelineStep 2: Determine Version Bump
Parse conventional commit prefixes:
- Any
BREAKING CHANGE:footer or type with exclamation suffix (e.g.,feat!:,fix!:) → MAJOR bump - Any
feat:orfeat(scope):→ MINOR bump - Only
fix:,chore:,docs:,refactor:,test:,perf:→ PATCH bump
Step 3: Propose or Prompt
If clear signal: Propose the version with explanation:
Analyzing commits since v1.45.2...
Found 4 commits:
- feat(parser): add streaming support
- fix(validator): handle empty schemas
- chore: update dependencies
- docs: improve examples
Recommendation: **v1.46.0** (minor bump due to new feature)
Proceed with v1.46.0? [Yes / Different version]If ambiguous: Prompt user to choose:
Analyzing commits since v1.45.2...
Found 3 commits with unclear versioning signal:
- refactor(core): reorganize internal structure
- perf: optimize memory usage
- chore: update dependencies
What version bump is appropriate?
- v1.45.3 (patch) - Bug fixes and minor improvements
- v1.46.0 (minor) - Notable improvements worth a minor bump
- Other - Specify a different versionProcess
You are the DevOps Engineer coordinating a release. Execute the following phases:
Phase 1: Launch Background Agents
Launch these agents in background mode (run_in_background: true) to run concurrently:
- DevOps Engineer - Pre-release validation:
- Check commits since last release tag
- Run
make bench-quickfor quick local regression check (~2 min) - Create feature branch
chore/<version>-release-prep
- Architect - Review documentation:
- Check if CLAUDE.md needs updates for new features
- Check if README.md needs updates (verify accuracy of stated details)
- Check if any
doc.gofiles need updates - Check if
docs/developer-guide.mdneeds updates
- Maintainer - Code quality review:
- Run
make checkto ensure all tests pass - Run
govulncheckfor security vulnerabilities - Verify gopls diagnostics are clean
- Review new code for consistency and error handling
- Run
- Developer - Check godoc examples:
- Verify all new features have runnable examples in
example_test.go - Add any missing examples
- Ensure examples compile and pass
- Verify all new features have runnable examples in
Phase 2: Monitor Progress & Act Incrementally
IMPORTANT: Do NOT wait for all agents to complete before acting. Instead:
- Poll agents periodically using
TaskOutputwithblock: falseto check status - Report progress to the user as each agent completes (use a status table)
- Act immediately on completed agent results:
- If Maintainer finds issues → fix them while other agents run
- If DevOps completes benchmarks → report benchmark deltas
- If Architect finds doc gaps → start fixing while waiting for others
- If Developer finds missing examples → add them incrementally
Status update format (update after each check):
| Agent | Status | Key Findings | |-------|--------|--------------| | DevOps | ✅ Done | Quick benchmarks clean, no regressions | | Architect | 🔄 Running | - | | Maintainer | ✅ Done | All tests pass, no vulns | | Developer | ✅ Done | 2 examples added |- Quick benchmark check: If
make bench-quickshows regressions:- Flag prominently ⚠️ and investigate before proceeding
Phase 3: Consolidate & Fix
After all agents complete:
- Final summary table of all findings
- List any remaining required changes
- Apply fixes that couldn't be done incrementally
- Commit all changes to the pre-release branch
Phases 4-6: Run Preparation Script
⚠️ CRITICAL: Use the prepare script. Do NOT run these commands manually.
After all agent work is committed, from the repository root run the script in background mode (run_in_background: true):
.claude/scripts/prepare-release.sh <version>Timing: The script takes ~13-15 minutes total (CI benchmarks ~10.3 min + CI checks ~3 min + overhead). This exceeds the Bash tool's 10-minute max timeout, so it must run in background mode. Use
TaskOutputwithblock: true, timeout: 600000to wait, and re-check if it times out — the script is idempotent and can be re-run safely.
The script handles:
- Phase 4: Push branch, trigger CI benchmarks, wait for completion, pull results
- Phase 5: Create PR, wait for CI checks (with retry for check registration delay), merge with
--squash --admin, switch to main - Phase 6: Generate release notes, save to temp file, display for review
If the script fails partway through, check the error message. You can re-run safely:
--skip-benchmarksflag if benchmarks already completed- The script auto-detects already-merged PRs and skips to checkout
- CI check registration delay is handled with automatic retries (up to 75s)
Phase 6.2: Enhance Release Notes
After the script completes, enhance the auto-generated release notes with richer content:
Step 1: Analyze the Release
- Read the auto-generated notes at
.release/notes-<version>.md Get commits since the previous tag:
PREV_TAG=$(git describe --tags --abbrev=0 HEAD^) git log "$PREV_TAG"..HEAD --oneline- For each significant commit, understand what changed by reading relevant files
Step 2: Reference Previous Releases
Look at 1-2 previous releases for style consistency:
gh release view --json body | jq -r '.body' | head -100Step 3: Create Enhanced Notes
Structure the enhanced notes following this format:
## [Emoji] [Theme]: [Headline Summary]
[1-2 sentence overview of what this release accomplishes and its impact]
### [Feature/Change Category 1]
[Context about why this matters]
- **[Benefit 1]**: [Specific detail]
- **[Benefit 2]**: [Specific detail]
- **[Benefit 3]**: [Specific detail]
[Optional: Code example if helpful]
### [Feature/Change Category 2]
[Similar structure...]
### 🔒 [User Impact Section]
- [Breaking changes if any, or "No breaking changes"]
- [API changes if any, or "No public API changes"]
- [Dependency changes if any]
- [Backward compatibility statement]
### 📊 Quality Metrics
- ✅ All tests passing ([count]+ unit tests, [other suites])
- ✅ Zero vulnerabilities (`govulncheck` clean)
- ✅ All benchmarks passing with no regressions
- ✅ Documentation verified accurate
## What's Changed
[Keep the auto-generated PR list from original notes]
**Full Changelog**: [Keep the auto-generated link]Guidelines for Enhancement
- Headline emoji + theme: Match the release character (🚀 Features, 🐛 Bug Fixes, 🔧 Infrastructure, ⚡ Performance)
- User-focused language: Explain benefits, not just what changed
- Code examples: Include for new features when they clarify usage
- Honest impact assessment: Clearly state if there are no user-facing changes
- Preserve auto-generated content: Keep the "What's Changed" PR list and changelog link at the bottom
Step 4: Update the Notes File
Write the enhanced notes back to .release/notes-<version>.md, then display them for user review.
Phase 6.3: Prompt for Publishing
After the enhanced notes are ready, prompt the user:
✅ Release preparation complete!
Version: <version>
Release notes saved to: .release/notes-<version>.md
Ready to publish <version>?
- [Yes, publish now] → Runs publish-release.sh <version>
- [Not yet] → End here (run /publish-release <version> later)If user chooses "Yes", from the repository root run:
.claude/scripts/publish-release.sh <version>Important Notes
- Orchestration Mode: Delegate agent tasks, don't do the work yourself
- Use
--adminflag for PR merge if branch protection blocks - CI benchmarks run on the pre-release branch and are included in the PR
- Document all new public API in CLAUDE.md
- ALWAYS use scripts for phases 4-6 - never run release commands manually
- ALWAYS run scripts in background mode - the prepare script takes ~13-15 min (exceeds Bash 10-min max timeout)
- ALWAYS enhance release notes (Phase 6.2) - never skip to publishing with auto-generated notes only
- If the script fails at Phase 5.3 (CI checks), it's often a timing issue — re-run the script (it's idempotent) or manually run
gh pr checks <PR#> --watchthen merge
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.

