From rolepod
Use at the end of a development branch — pre-merge gate, CI lane discipline, 4-option finish menu (merge, PR, keep open, discard), release checklist for production launches. Phase = Ship.
How this skill is triggered — by the user, by Claude, or both
Slash command
/rolepod:finish-workWhen to use
when implementation + verification + review are done and the next decision is about the fate of the branch — merge to main, open a PR, keep working, discard, or stage a production launch
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Ship-phase entry skill. Close out a branch safely. Run the pre-merge gate, decide between four finish options, and handle launch ritual when production traffic is involved.
Ship-phase entry skill. Close out a branch safely. Run the pre-merge gate, decide between four finish options, and handle launch ritual when production traffic is involved.
Skip when:
Owns:
Does not own:
Return / hand off:
check-work.review-code or implement-plan.APPROVED / APPROVED-WITH-NITS / REJECTED)Run all four gates before any merge / push action.
Simplicity (S1-S5) — revise on any "yes":
S1: Feature beyond request? → cut
S2: Abstraction for single-use? → inline
S3: Config / flexibility nobody asked? → cut
S4: Defensive code for impossible? → make it structurally impossible
(type system / data model / API
constraint); if structure can't, the
case is NOT impossible — handle it
S5: Same pattern in 3+ places? → centralize before commit
Any "yes" → revise before commit. S4 example: a runtime null check becomes a compiler-enforced Optional<T>.
Tests (T1-T6) — block the commit on a failure:
T1: Task needs a test (bug / feature / migration / auth / billing / race /
contract / perf / security) and none exists? → write it
T2: New tests pass? T3: Existing tests pass (no regression)?
T4: Tier-appropriate speed? T5: Isolated (no order dependency)?
T6: Assertion tight — would a 1-char bug still pass? → tighten
(weak: `assert x is not None` · tight: `assert x == expected`)
Skip only when ALL hold: ≤5 lines · single file · zero logic-bearing · NOT a high-risk path. Any fail → write the test.
The PreCommit hook also enforces the T-gate.
Failure-mode (F1-F5) — run the check-work failure-mode gate; do
not merge with an unresolved F-finding.
Reviewer — risk-appropriate review completed (see review-code).
Any failure → fix or report; do not merge.
| Lane | Content | Required for merge? |
|---|---|---|
| Phase 1 (always-on, < 5 min) | lint · typecheck · smoke unit · auth / tenant guard · money core · migration apply · build | YES |
| Phase 2 (path-triggered) | the touched module's full test suite | YES when triggered |
| Phase 3 (nightly / manual) | integration · E2E · chaos · security deep · perf benchmark | NO (post-merge notify only) |
Red required lane → Lead fixes and re-pushes; do not ask user permission for each iteration of fix-and-rerun once the merge intent is approved. Triage the cause before re-running — see references/ci-triage.md.
Present concrete options:
| Option | When |
|---|---|
| Merge to main | All gates green, user authorized |
| Open PR | Needs upstream review or CI on PR runner |
| Keep open | More work planned; checkpoint commit only |
| Discard | Branch is an experiment that did not pan out |
Fill templates/finish-menu.md — gate status, the four options, the recommendation, and the one specific action awaiting authorization. State the recommendation, then wait for the user to pick before acting.
Fill templates/pr-body.md — summary, test plan checklist, risks, linked artifacts. Title under 70 chars. Open with gh pr create using a HEREDOC body.
Launch ritual for production traffic: fill templates/release-checklist.md — rollback, monitoring, on-call, feature flag default, and migration safety all confirmed before traffic.
Post-merge: update spec / plan if reality drifted, document non-obvious decisions.
Delegate ship work to the closest specialist:
devops-sre for CI / deploy / rollback / monitoringqa-tester for the final pre-merge correctness floorsecurity-engineer for the security gate on high-risk diffsproduct-manager for launch sequencing and stakeholder commsBrief: branch, diff summary, CI status, review verdict, launch plan if any.
Execute as Lead with this minimum viable checklist:
git tag or branch backup before deleteThe finish menu is the canonical artifact: templates/finish-menu.md. It carries the gate status, the four options, the recommendation, and the specific action awaiting authorization. The PR path adds templates/pr-body.md; a production launch adds templates/release-checklist.md. Do not restate these shapes here; the templates are the single source.
Non-blocking — read only when unsure about authorization or PR quality:
examples/finish-examples.md — an authorization-discipline finish and a PR-body pair, each good/bad with a "why good wins" table. Read the whole file; the contrast is the lesson.Load only when the task needs it:
references/ci-triage.md — triage a red required CI lane by cause before re-runningreview-codeFull Rolepod improves this phase by adding the 3-phase CI lane policy, auto-merge wiring when required lanes pass, and the qa-tester floor enforced via hooks.
using-rolepod for the next request.implement-plan or debug-issue depending on what is next.npx claudepluginhub nuttaruj/rolepod --plugin rolepodGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.