Ship the roadmap (autopilot)
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, and
audit-pr are installed and record their directory for worker prompts. If
absent, stop with npx skills add gtrabanco/agentic-workflow. With
--fullauto, also require executable .agentic-workflow/hooks/fullauto-merge.sh
and its platform guard; otherwise route to init-workspace, never direct merge.
- Run: existing
docs/features/SHIP_DECISIONS.md or an open
docs/ship-founding PR 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: COMPLETE
also 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).
1---2name: ship-roadmap3description: Found or continue a roadmap autopilot one stage per invocation. Default: human merge. --fullauto is invocation-scoped and uses the transient wrapper only after a fresh audit. Triggers: "ship-roadmap", "ship the roadmap", "autopilot this project".4license: MIT5---67# Ship the roadmap (autopilot)89Found once, then run the driver-fired loop (Claude `/loop`, external driver, or10manual re-invocation): plan, implement, review, open and optionally merge one PR11per roadmap unit. After the roadmap, sweep existing issues, ship fix-now work,12report residue as proposals (never create backlog automatically), and print the13final report. Use strong tiers for judgment, cheap tiers for typing, and humans14at expensive-to-undo decisions.1516`ship-roadmap` is the conductor of the loop. It emits its native fixed `SHIP:`17banner and closing `→ Next:` block; the package-owned machine-result profiles18apply to the worker and sensor skills that a driver invokes inside the loop.1920## Turn contract — verify before ending the turn2122```23✓ Exactly ONE stage advanced (or a terminal banner printed) and ONE line appended to the run log24✓ Nothing was merged outside the active --fullauto wrapper; direct merge25 commands remained blocked and no authorization survived the iteration26✓ 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 otherwise27✓ The closing `→ Next:` block is printed as the ABSOLUTE last output28```2930Any unchecked box means the turn is not done.3132## When to use3334Use for a locked roadmap with supervision at merge/end points. For one feature,35one bug, or exploratory work use the manual planning/execution flow instead.3637## Step 0 — Discover the project (always first)3839Read before acting: `CLAUDE.md`/`AGENTS.md` Workflow conventions, documentation40map, `docs/features/ROADMAP.md`, fix index, architecture doc, and `.github/`41templates. Then establish:42431. **Substrate:** if the guide, map, roadmap and fix index exist, skip founding44 and confirm their answers; otherwise founding creates missing pieces.452. **Skills:** verify `plan-feature`, `execute-phase`, `review-change`, and46 `audit-pr` are installed and record their directory for worker prompts. If47 absent, stop with `npx skills add gtrabanco/agentic-workflow`. With48 `--fullauto`, also require executable `.agentic-workflow/hooks/fullauto-merge.sh`49 and its platform guard; otherwise route to `init-workspace`, never direct merge.503. **Run:** existing `docs/features/SHIP_DECISIONS.md` or an open51 `docs/ship-founding` PR means resume with `--continue`; bare invocation reports52 status instead of founding again.534. **Shape:** greenfield/existing, branch, and dirty tree; unexplained dirty54 default branch stops (never clean it silently).555657## Progressive loading — select the invocation route5859The allowlist is exactly the linked paths below. Never invent another reference.60Every route starts with [guardrails](references/GUARDRAILS.md), then loads only61its matching row:6263**Hard rule for `--continue` at AUDIT:** LOAD exactly, in this order,64`references/GUARDRAILS.md`, `references/RECOVERY_AND_SELECTION.md`,65`references/STOP_CONDITIONS.md`, `references/ADVANCE.md`,66`references/MODEL_ROUTING.md`, and67`references/AUDIT_AND_MERGE.md`; after the stage, load68`references/CLOSEOUT_AND_LOG.md`. When the run is not terminal and all named69primitives exist, every other reference is forbidden for that turn.7071| Condition now | LOAD complete route in this order | SKIP now |72|---|---|---|73| Found or inspect a run, no `--continue` (default mode or greenfield `--fullauto`) | [guardrails](references/GUARDRAILS.md) → [founding](references/FOUNDING.md) | recovery, stop conditions, advance, model routing, audit/merge, terminal report, portability |74| Existing-repo founding with `--fullauto` | [guardrails](references/GUARDRAILS.md) → [founding](references/FOUNDING.md) → [audit and merge policy](references/AUDIT_AND_MERGE.md) | recovery, stop conditions, advance, model routing, terminal report, portability |75| Continue one non-AUDIT iteration | [guardrails](references/GUARDRAILS.md) → [recovery and selection](references/RECOVERY_AND_SELECTION.md) → [stop conditions](references/STOP_CONDITIONS.md) → [advance](references/ADVANCE.md) → [model routing](references/MODEL_ROUTING.md) before stage execution → [closeout and log](references/CLOSEOUT_AND_LOG.md) after it | founding, audit/merge, terminal report, portability |76| Continue an AUDIT/fullauto iteration | [guardrails](references/GUARDRAILS.md) → [recovery and selection](references/RECOVERY_AND_SELECTION.md) → [stop conditions](references/STOP_CONDITIONS.md) → [advance](references/ADVANCE.md) → [model routing](references/MODEL_ROUTING.md) → [audit and merge policy](references/AUDIT_AND_MERGE.md) before the AUDIT stage → [closeout and log](references/CLOSEOUT_AND_LOG.md) after it | founding, terminal report, portability |77| Terminal stop/report | the active row above, then [terminal report](references/TERMINAL_REPORT.md) | unrelated rows |78| A named platform primitive is absent | the active row above, then [portability](references/PORTABILITY.md) | unrelated rows |7980Do not load terminal reporting before terminal state or portability when all81primitives exist. Model routing precedes every stage; audit/merge precedes every82AUDIT stage, including non-`--fullauto` runs.8384Selected resources are one hop from this file. Fixed banners, transitions, floor85checks and output blocks are normative; an unreadable required resource stops the86run—never improvise from an older run.8788## Portability8990The workflow is driver-neutral. Use the exact [portability](references/PORTABILITY.md)91fallback only when a primitive is unavailable; keep stage order and safety floors.9293## Relationship to other skills9495| Relation | Skills/policy |96|---|---|97| 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`. |98| Cheap workers | `execute-phase` (fresh context/phase), mechanical folds, audit-blocker fixes; use the validated worker model. |99| Human hand-off | Default merges, `product-audit` (higher effort), and report issue batches via `triage-issue`. |100| 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. |101102Manual feature-by-feature flow remains the default; this skill packages it with103the human at its edges.104105## Done when106107- A terminal banner and final report exist with an open PR; roadmap statuses are108 true; every PR is merged, open/audited, or parked with a reason. `SHIP: COMPLETE`109 also accounts for the issue sweep and reports residue as proposals.110- Locked answers, iteration evidence, outcomes and recommendations are traceable111 in `SHIP_DECISIONS.md`, the run log and report; the report states exact next112 human actions (merges, triage, proposals, product-audit timing).