name: ship description: Use only when explicitly invoked via /ship with a written feature spec for a larger task — never auto-invoke disable-model-invocation: true argument-hint: "<spec — paste inline or reference a file>"
Ship: Spec to Reviewed Code
Overview
Orchestrates the full pipeline from written spec to review-clean feature branch. The user participates in brainstorming ONLY. Their approval of the final design section is their consent for everything downstream.
Core rule: after design approval, never ask the user for permission, preference, or approval. Where an underlying skill ends with a checkpoint or choice-offer, that checkpoint is overridden — proceed immediately.
Phases
0. Worktree (silent). Invoke superpowers:using-git-worktrees. Branch name:
feature/<ticket-ref> if the spec contains one (e.g. ABC-123), else
feature/<kebab-slug-of-title>. Follow the repo's existing worktree directory
convention; ask only if none exists. Record the worktree creation commit as
BASE_SHA. If baseline tests fail, report that to the user before brainstorming.
Otherwise output one line ("Worktree ready at
1. Brainstorm (interactive). Invoke superpowers:brainstorming against the
spec. Fully interactive as that skill defines. Design doc goes to
docs/plans/YYYY-MM-DD-<topic>-design.md in the worktree, committed.
THE GATE. When the user approves the final design section, announce exactly: "Design approved — going autonomous. Next time you hear from me, the code review will be done." From here on, no questions except per Question Triage below.
2. Plan. Invoke superpowers:writing-plans against the design doc. Output
committed to docs/plans/YYYY-MM-DD-<topic>-plan.md. That skill ends by
offering "Subagent-Driven vs Parallel Session" — do NOT present this offer.
Proceed directly to phase 3. Do not show the plan for approval; link it in the
final report.
3. Implement. Invoke superpowers:subagent-driven-development on the plan: fresh implementer subagent per task, two-stage review per task, commit per task, exactly as that skill defines. Suppress its ending handoff to finishing-a-development-branch. Subagent questions: Question Triage below.
4. Fresh-context review. Dispatch the superpowers:requesting-code-review reviewer subagent on BASE_SHA..HEAD with the spec and plan paths. The reviewer's fresh context IS the "close and reopen Claude" step — do not ask the user to restart anything.
5. Fix loop (max 3 rounds). Critical + Important findings → fix subagent → NEW fresh reviewer re-reviews the full diff. Minor findings: record for the report, do not fix. Stop looping when: review is clean, OR 3 rounds are done, OR a finding requires reworking the user-approved design. Whatever remains goes in the report as unresolved (with options, if design-level). Do not pause to ask which option the user prefers — the report is where that question lives.
6. Report and stop. Use the template below. Do NOT merge, push, or open a PR.
Question Triage (phases 2–5)
When any subagent asks a question, in order:
- Answerable from spec, design doc, or plan → answer it yourself, continue.
- Not answerable, but a conservative minimal choice exists that is reversible in one place → make that choice, instruct the subagent, log it under "Open decisions" for the final report, continue.
- Not answerable AND the choice forks substantial downstream work, or is destructive/irreversible → stop and ask the user. This should be rare.
Final Report Template
- What was built, against the design
- Tasks completed
- Review rounds run; findings caught and fixed
- Unresolved findings, with options if design-level
- Open decisions made during implementation needing user confirmation before merge
- Fresh full test-suite output — run it now; evidence, not memory
- Worktree path, branch name, links to design + plan docs
- Close with: "Manual QA and merge are yours — say the word and I'll run finishing-a-development-branch."
Red Flags — You're About to Break the Pipeline
- "I'll just confirm the plan looks right with the user" → No. Design approval was the consent.
- "Which execution approach would you prefer?" → Suppressed. Always subagent-driven, this session.
- "This question is important enough to wait for" → Triage first; rule 2 covers most cases.
- "One more review round will get it clean" → Cap is 3. Report unresolved.
- "All done — shall I create the PR?" → No. Stop at the report.
| Excuse | Reality |
|---|---|
| "The user would want to see the plan" | They always accept it. It's linked in the report. |
| "Asking is safer than deciding" | The user walked away on purpose. A stalled pipeline delivers nothing. Triage instead. |
| "This finding deserves a fourth round" | Cap is 3. Unresolved findings belong in the report. |
| "Opening a PR is the natural next step" | Publishing is the user's call. Stop at the report. |