Skip to content
Back to skills

Release Manager

ASecurity

Multi-persona release vetting board — PM, EM, Designer, QA personas deeply analyze the release candidate; produces the signed verdict file WITHOUT which /release refuses to proceed. Use before any release, when asked to vet a release, or when cutting a version.

  • 31 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 23, 2026
ai-agentsgogitsecurity

Works with

  • terminal

Security analysis

A100/100

Scanned September 23, 2026

npx -y skills add anandgupta42/aireceipts --skill release-manager --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Release Manager?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Release Manager
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/anandgupta42-release-manager/badge)](https://www.skillsdirectory.com/skills/anandgupta42-release-manager)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: release-manager
description: "Multi-persona release vetting board — PM, EM, Designer, QA personas deeply analyze the release candidate; produces the signed verdict file WITHOUT which /release refuses to proceed. Use before any release, when asked to vet a release, or when cutting a version."
trigger: /release-manager
---

# /release-manager — the vetting board (no verdict file, no release)

A human release manager doesn't re-run the tests and call it a day — they ask whether
this release *should exist*, whether it will hurt anyone, and whether the story told
about it is true. This skill runs that judgment as a panel of personas, each in its
OWN agent context (shared context = shared blind spots), then synthesizes a written
go/no-go verdict. `/release` is mechanically blocked without it.

## 0. Scope the candidate

Fix the exact release: version, target SHA, changelog range (`git log <last-tag>..`).
Everything below judges THAT snapshot — a new commit after the verdict voids it.

## 1. The persona panel (separate agent contexts, run in parallel)

Each persona receives: the changelog range, the diff-stat, the README, and its brief.
Each returns findings + a personal GO / NO-GO with one paragraph of reasoning.

- **Product Manager** — is this a coherent release a user can understand? Does every
  user-visible change appear in the changelog in user language? Does the README/docs
  story match what actually ships (install it fresh and follow the quickstart
  literally)? Is anything half-shipped that should be held back or flagged
  experimental? Would YOU tweet this release?
- **Engineering Manager** — risk audit: breaking changes vs semver; dependency delta
  (new deps justified? security advisories open? Dependabot state?); rollback story
  (can a user pin the previous version cleanly?); the flakiest test in the suite;
  open P0/launch-blocking issues (an open perf or correctness P0 = NO-GO); CI green
  on the exact SHA, not a cousin.
- **Designer** — render the artifacts fresh and LOOK at them: terminal receipt (both
  a priced and an unpriced session), SVG light + dark rasterized, PNG, the README as
  GitHub renders it. Any regression in the product's face = NO-GO. Screenshots
  attached to the verdict.
- **QA / adversarial user** — try to break the quickstart in 20 minutes: empty
  transcript dir, weird locale, no git, malformed budget.json, huge session, piped
  vs TTY stdout. Every crash or wrong number = finding; any I2 violation
  (fabricated dollar) = instant NO-GO.

## 2. Mechanical deep checks (the lead runs these, unmasked)

- Full gate matrix fresh on the release SHA (tsc/eslint/vitest/goldens/determinism
  ×10/spec-lint/hygiene/cite-check LIVE).
- **Packed-tarball smoke**: `npm pack` → install the tarball into a temp dir →
  run the binary against a fixture transcript → assert exit 0 + a rendered receipt.
  This is the only test that catches packaging breaks (files whitelist, bin path,
  runtime-vs-dev dependencies).
- `npm publish --dry-run` — inspect the file list line by line (no fixtures, no
  transcripts, no .env, no internal docs).
- gitleaks full-history scan (the pre-flip button) — clean or explained.
- `/review-docs` panel verdict (blocking per the release skill already).

## 3. The verdict file (the gate)

Write `docs/releases/<version>-verdict.md`: candidate SHA, per-persona findings and
votes, mechanical-check results, open-risk list, and the final line — exactly
`VERDICT: GO` or `VERDICT: NO-GO (<reason>)`. Any persona NO-GO that the lead
overrides must carry a written override justification (overrides are visible
forever; use sparingly).

## 4. Enforcement

`/release` step 0 mechanically checks that `docs/releases/<version>-verdict.md`
exists for the exact version being cut, contains `VERDICT: GO`, and names the same
SHA being tagged. Missing, stale-SHA, or NO-GO → the release stops. No exceptions —
including for the maintainer, including for "tiny" releases (the tiny ones are where
packaging breaks hide).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.