Found once, then run the driver-fired loop (Claude /loop, external driver, or
manual re-invocation): plan, implement, review, open and optionally merge one PR
per roadmap unit. After the roadmap, sweep existing issues, ship fix-now work,
report residue as proposals (never create backlog automatically), and print the
final report. Use strong tiers for judgment, cheap tiers for typing, and humans
at expensive-to-undo decisions.
ship-roadmap is the conductor of the loop. It emits its native fixed SHIP:
banner and closing → Next: block; the package-owned machine-result profiles
apply to the worker and sensor skills that a driver invokes inside the loop.
Turn contract — verify before ending the turn
✓ Exactly ONE stage advanced (or a terminal banner printed) and ONE line appended to the run log
✓ Nothing was merged outside the active --fullauto wrapper; direct merge
commands remained blocked and no authorization survived the iteration
✓ Artifact language: explicit user instruction > the project's declared docs language > English. The CONVERSATION language never decides — a Spanish prompt still produces English PRs/issues/commits/SPECs unless one of the first two says otherwise
✓ The closing `→ Next:` block is printed as the ABSOLUTE last output
Any unchecked box means the turn is not done.
When to use
Use for a locked roadmap with supervision at merge/end points. For one feature, one bug, or exploratory work use the manual planning/execution flow instead.
Step 0 — Discover the project (always first)
Read before acting: CLAUDE.md/AGENTS.md Workflow conventions, documentation
map, docs/features/ROADMAP.md, fix index, architecture doc, and .github/
templates. Then establish:
- Substrate: if the guide, map, roadmap and fix index exist, skip founding and confirm their answers; otherwise founding creates missing pieces.
- Skills: verify
plan-feature,execute-phase,review-change, andaudit-prare installed and record their directory for worker prompts. If absent, stop withnpx skills add gtrabanco/agentic-workflow. With--fullauto, also require executable.agentic-workflow/hooks/fullauto-merge.shand its platform guard; otherwise route toinit-workspace, never direct merge. - Run: existing
docs/features/SHIP_DECISIONS.mdor an opendocs/ship-foundingPR means resume with--continue; bare invocation reports status instead of founding again. - Shape: greenfield/existing, branch, and dirty tree; unexplained dirty default branch stops (never clean it silently).
Progressive loading — select the invocation route
The allowlist is exactly the linked paths below. Never invent another reference. Every route starts with guardrails, then loads only its matching row:
Hard rule for --continue at AUDIT: LOAD exactly, in this order,
references/GUARDRAILS.md, references/RECOVERY_AND_SELECTION.md,
references/STOP_CONDITIONS.md, references/ADVANCE.md,
references/MODEL_ROUTING.md, and
references/AUDIT_AND_MERGE.md; after the stage, load
references/CLOSEOUT_AND_LOG.md. When the run is not terminal and all named
primitives exist, every other reference is forbidden for that turn.
| Condition now | LOAD complete route in this order | SKIP now |
|---|---|---|
Found or inspect a run, no --continue (default mode or greenfield --fullauto) |
guardrails → founding | recovery, stop conditions, advance, model routing, audit/merge, terminal report, portability |
Existing-repo founding with --fullauto |
guardrails → founding → audit and merge policy | recovery, stop conditions, advance, model routing, terminal report, portability |
| Continue one non-AUDIT iteration | guardrails → recovery and selection → stop conditions → advance → model routing before stage execution → closeout and log after it | founding, audit/merge, terminal report, portability |
| Continue an AUDIT/fullauto iteration | guardrails → recovery and selection → stop conditions → advance → model routing → audit and merge policy before the AUDIT stage → closeout and log after it | founding, terminal report, portability |
| Terminal stop/report | the active row above, then terminal report | unrelated rows |
| A named platform primitive is absent | the active row above, then portability | unrelated rows |
Do not load terminal reporting before terminal state or portability when all
primitives exist. Model routing precedes every stage; audit/merge precedes every
AUDIT stage, including non---fullauto runs.
Selected resources are one hop from this file. Fixed banners, transitions, floor checks and output blocks are normative; an unreadable required resource stops the run—never improvise from an older run.
Portability
The workflow is driver-neutral. Use the exact portability fallback only when a primitive is unavailable; keep stage order and safety floors.
Relationship to other skills
| Relation | Skills/policy |
|---|---|
| Compose (same/lower tier) | init-workspace; JIT design-feature + plan-feature-scaffold; plan-feature; the review→fold manual path (/review-change → /fold-findings on REVIEW-FAIL → re-run /review-change); verdict-only audit-pr; audit-docs. |
| Cheap workers | execute-phase (fresh context/phase), mechanical folds, audit-blocker fixes; use the validated worker model. |
| Human hand-off | Default merges, product-audit (higher effort), and report issue batches via triage-issue. |
| Sibling | workflow-status supplies the strict sensor result; worker skills use the package-owned output profiles, while the conductor keeps its native SHIP: turn contract. |
Manual feature-by-feature flow remains the default; this skill packages it with the human at its edges.
Done when
- A terminal banner and final report exist with an open PR; roadmap statuses are
true; every PR is merged, open/audited, or parked with a reason.
SHIP: COMPLETEalso accounts for the issue sweep and reports residue as proposals. - Locked answers, iteration evidence, outcomes and recommendations are traceable
in
SHIP_DECISIONS.md, the run log and report; the report states exact next human actions (merges, triage, proposals, product-audit timing).