Release readiness
Skill hparamore/essential-claude-skills-hparamore/fable-toolkit/skills/release-readiness
Run a pre-ship gate that verifies a build is actually ready to deploy RIGHT NOW — build passes, core flows work, no regressions or debug residue, docs and version notes updated — and give a clear GO / NO-GO with evidence. Use whenever the user says "ready to ship?", "can I deploy this", "pre-launch check", "release checklist", "is this good to go", or asks to verify a change before deploying. Verify, don't assume — a NO-GO with reasons beats a GO that breaks prod. Not for planning which features go in a release (use project planning), writing release notes or changelogs, or executing the deploy itself — this is the go/no-go safety check that runs just before shipping.From its SKILL.md
npx -y skills add hparamore/essential-claude-skills-hparamore --skill release-readinessAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
5.2 KB, ~1.1k tokens by cl100k_base, as published. Nobody here has run it
Release-Readiness Gate Playbook
Authored by Claude Fable 5. The purpose of this skill is to be the last honest voice before a deploy. Its only failure mode that matters is a false GO — so every "pass" must be something you observed, never something you assumed.
Why this exists
The moment before shipping is when optimism peaks and diligence drops. Unguided, a model will read the code, see nothing obviously wrong, and say "looks good to ship" — which is a guess wearing a green checkmark. This playbook converts "looks good" into "I ran it and here's what I saw," and gives a verdict the user can act on without re-checking.
Phase 0 — Establish what "shipping" means here
Read CLAUDE.md / WORK_STATUS.md for the deploy process and any release
conventions. Know: what command deploys, where it goes, whether users get it
immediately (and via what mechanism — a service-worker update banner, an app
store, a CDN), and whether there's a rollback path. You can't gate a release you
don't understand the shape of.
Phase 1 — The mechanical gates (must all pass)
These are pass/fail and non-negotiable. Run each, record the actual result:
- Build passes. Run the real build command. A green build is table stakes; a red build is an instant NO-GO. Paste the relevant output.
- Types/lint clean (if the project uses them). Run them. Warnings the project treats as errors count as failures.
- Tests pass (if they exist). Run the suite. Note anything skipped.
- No debug residue. Grep for leftover
console.log,debugger, commented -out blocks,TODO: remove, hardcoded test data, or a stray "test" list/user that shouldn't ship.
Gate: if any mechanical gate fails, you're already at NO-GO. Record the failure and continue gathering the rest anyway — the user deserves the full picture, not just the first blocker.
Phase 2 — The behavior gates (verify the core flows)
A green build that crashes on load has passed nothing that matters. Actually exercise the product's critical paths — the two or three flows that, if broken, mean the release is a failure regardless of what else works. Follow any repo-specific run instructions (e.g. local/signed-out mode).
For each critical flow: run it, observe it, record what you saw (a screenshot or the concrete result). Check specifically:
- Does the app load without console errors?
- Does the primary happy path complete end to end?
- Did this release's changes actually do what they were supposed to? (Verify the feature you're shipping, in the running app — not in the diff.)
- Any obvious regression in the areas the change touched?
Gate: the change you're shipping must be observed working in the running build. "The code looks right" does not clear this gate.
Phase 3 — The hygiene gates (should pass)
Lower stakes, but a mature release checks them:
- Version notes / changelog /
WORK_STATUS.mdupdated to reflect what's shipping? - Docs updated if behavior or setup changed?
- New env vars / config / secrets documented and present in the deploy
target? (A feature that works locally because of a
.env.localthe server doesn't have is a classic post-deploy failure.) - Migrations / data shape changes accounted for?
Phase 4 — Verdict
Give a single clear verdict up top, then the evidence:
# Release Readiness — <what's shipping> — <date>
## Verdict: GO / NO-GO / GO-WITH-CAVEATS
<one sentence stating the call and the single most important reason>
## Mechanical gates
- [x] Build — <result / output snippet>
- [x] Types/lint — <result>
- [ ] Tests — <result, or "none in project">
- [x] No debug residue — <result>
## Behavior gates
- [x] App loads clean — <evidence>
- [x] <critical flow> — <evidence / screenshot>
- [x] This release's change verified working — <what you saw>
## Hygiene gates
- <status of version notes, docs, env, migrations>
## Blockers (if NO-GO)
<numbered, each with what to fix>
## Caveats (if GO-WITH-CAVEATS)
<known-but-acceptable issues the user is choosing to ship with, stated plainly>
Phase 5 — Hand back the decision
Deliver the verdict and do not deploy yourself unless the user explicitly tells you to — deploying is outward-facing and irreversible-ish, and the GO call is theirs to confirm. If it's a NO-GO, offer to fix the blockers. Never upgrade a NO-GO to a GO because the fixes look small or the user seems eager; the whole value of a gate is that it doesn't bend under pressure.
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.