Checks that the current branch is ready for a release-please release PR — conventional commit types, version manifest sync, findings-store state, and CI status. Use when preparing or verifying a release, cutting a release PR, or confirming a branch is safe to merge for release.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add ivuorinen/skills --skill release-prep --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Release Prep?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ivuorinen-release-prep)More formats (shields.io, HTML) on the badges page.
---
name: release-prep
description: Checks that the current branch is ready for a release-please release PR — conventional commit types, version manifest sync, findings-store state, and CI status. Use when preparing or verifying a release, cutting a release PR, or confirming a branch is safe to merge for release.
metadata:
disable-model-invocation: "true"
---
# Release Prep Checklist
Validates that the repository is in a clean, releasable state. Does **not**
create tags, bump versions, or push commits — release-please automation
manages all of that from `main`. The only action beyond validation is
offering to open a PR, and only after every gate passes and the user
explicitly approves.
Run the steps in order. **Stop immediately and report findings to the user
if any step fails.** Do not proceed to the next step.
## Step 1 — Validate Skills and Version Sync
Run `/validate-skills`. It validates the public skill (router + command
files) and internal skills, plus the version-sync check
(`scripts/check-version-sync.py`). Any error: stop and report. Warnings
touching files changed in this branch must be fixed.
## Step 2 — Audit Gates
Run each gate command in this order. A gate passes when no Critical or High
finding remains open in the findings store after fixes are applied
(`python3 skills/nitpicker/scripts/findings.py list --status open`).
Any gate with an open Critical/High finding: stop and report.
| Gate | Command |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Security | `/nitpicker security` |
| Documentation accuracy | `/nitpicker docs` (Critical and High must be resolved; Medium and below may be deferred as open findings) |
| Architecture | `/nitpicker arch` (refreshes the profile via `/nitpicker arch-profile` when missing or stale — staleness per that command's git-metadata rule) |
| Exhaustive review | `/nitpicker audit` |
| Enforcement loopholes | `/nitpicker agent-loopholes` |
| Hook coverage | `/nitpicker agent-hooks` |
| Performance | `/nitpicker perf` |
| Test-suite strength | `/nitpicker tests` |
| Dependency health | `/nitpicker deps` |
| Error handling | `/nitpicker errors` |
| Migration safety | `/nitpicker migrations` |
| Observability | `/nitpicker observability` |
| API contract | `/nitpicker contract` |
| Accessibility | `/nitpicker a11y` |
| CI/CD pipeline | `/nitpicker ci` |
| Commit discipline | `/nitpicker commits` |
| Concurrency safety | `/nitpicker concurrency` |
| Internationalization | `/nitpicker i18n` |
| Resource lifecycle | `/nitpicker leaks` |
| Configuration | `/nitpicker config` |
| Data privacy | `/nitpicker privacy` |
| Unwired implementations | `/nitpicker unwired` |
No-surface verdicts ("no auditable UI surface", "no localization surface",
"no personal-data surface") pass their gate.
## Step 3 — Release Gate
Run `/nitpicker release-gate`. It fails on any open finding at High or above
across all auditors — this is the aggregate backstop after the per-gate
fixes. If it fails: stop and report.
## Step 4 — Verify Conventional Commits
Confirm every commit on this branch follows the conventional commits format
release-please uses for version bumps and release notes:
- `feat:` — minor bump; `fix:` — patch bump
- `feat!:` or `BREAKING CHANGE:` footer — major bump
- `chore:`, `docs:`, `refactor:` — no bump
```bash
git log main..HEAD --oneline
```
Any non-conforming message: stop; instruct the user to reword via
`git rebase -i main`. Do **not** require a manual `CHANGELOG.md` entry —
release-please manages the changelog.
## Step 5 — Confirm CI Is Green
Check `.github/workflows/validate-skills.yml` passed on the current commit.
Failing CI: stop and report which checks failed.
## Gate Summary
After all steps pass, present:
```text
✅ All release gates passed.
[✓] validate-skills — no skill errors; all version files in sync at vX.Y.Z
[✓] all audit gates — no open Critical/High findings (see INDEX.md)
[✓] /nitpicker release-gate — PASS (threshold High)
[✓] conventional commits — all commits on branch use valid format
[✓] CI — validate-skills.yml passing
Release-please automation will create the Release PR when these changes are
merged to main. No manual version bump or tagging is needed.
```
Then ask:
> **Create a PR for these changes? (y/n) [default: n]**
`n` or no answer: stop; inform the user no PR was created. `y`: open a PR
using the branch's conventional commit messages for title and description.
Do **not** bump versions, create tags, or push beyond what is staged.
## What This Skill Does NOT Do
- Does not bump version numbers, create git tags, or push commits/tags
- Does not create a GitHub Release (release-please does, after the tag)
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!