arch-design
System-design thinking before any doc or code: goals/non-goals, back-of-envelope numbers, components and contracts, failure modes, operability, security,…
Implement from a spec or plan: extract stories, build in safe waves, test, commit, and get peer review per story. Use for "implement", "build/code this plan", or targeted fix findings. If no plan exists, use /ship:design first.
$ npx -y skills add heliohq/ship --skill dev --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/devContext preview
The summary Claude sees to decide when to auto-load this skill.
Implement from a spec or plan: extract stories, build in safe waves, test, commit, and get peer review per story. Use for "implement", "build/code this plan", or targeted fix findings. If no plan exists, use /ship:design first.
name: dev version: 0.7.0 description: > Implement from a spec or plan: extract stories, build in safe waves, test, commit, and get peer review per story. Use for "implement", "build/code this plan", or targeted fix findings. If no plan exists, use /ship:design first. allowed-tools: - Bash - Read - Write - Edit - Glob - Grep - Agent - AskUserQuestion - mcp__codex__codex - mcp__codex__codex-reply
HOST IMPLEMENTS. PEER CROSS-VALIDATES. EVERY FINDING NEEDS FILE:LINE + EVIDENCE.
_Path note: `../shared/*.md` references resolve against this skill's base directory (announced as "Base directory for this skill" when the skill loaded), not your working directory._
See `../shared/runtime-resolution.md` for the host/peer concept and dispatch commands. In /ship:dev, the **host is the primary implementer** and the **peer is the independent reviewer** — the reviewer MUST differ from whoever implemented the story. Prefer a non-host provider for cross-model validation; if unavailable, use a fresh same-provider session and record the weaker independence in the report.
Two wave shapes, different dispatch patterns (fix routing — **whoever implemented, fixes** — is specified in Step C):
| Wave shape | Implementer | Reviewer | |---|---|---| | **Single-story** (most common) | Host (you), on current branch | Peer agent | | **Multi-story parallel** | Fresh Agent subagents per story, all on the current branch (dependency analysis guarantees their file scopes don't overlap — no worktrees needed) | Peer per story | | **Fix mode** (/ship:auto review_fix/qa_fix/e2e_fix dispatch) | Host — you | (next phase re-runs its own verification) |
| Gate | Condition | Fail action | |------|-----------|-------------| | Spec + plan read | Acceptance criteria extracted, TEST_CMD found | AskUserQuestion | | Implement → Review | Story produced at least one commit (from subagent report, or HEAD moved since WAVE_BASE_SHA for single-story waves) | BLOCKED | | Review → Next story | Verdict is PASS or PASS_WITH_CONCERNS | Targeted fix (progress-governed — see Step C) | | All stories → Done | Full test suite passes | Targeted fix for regression |
**Never:**
before the wave merges. This is the only cross-validation in the pipeline until /ship:review runs.
fix, YOU apply it; don't ask the reviewer to write patches
Tripwire: if the dispatch you are composing contains "do not flag", "don't treat X as a defect", or "at most minor" — stop; you are pre-judging, usually to spare yourself a review round. Let the reviewer raise it and adjudicate the verdict yourself.
compaction or resume, trust `dev-ledger.md` and `git log` over your own recollection
---
Track your progress with the harness's task/todo list. Build the list after Phase 1 (setup), once you know the actual wave/story structure. The items should reflect the real work — don't use a canned template.
**Principle**: one item per wave (not per story) to keep the list short. Set the item's in-progress label to show which story within a wave is active. Always end with a regression test item when there are multiple stories.
**Example** (3-wave normal run):
[in_progress] Wave 1: "Add User model", "Add Product model" (implementing Story 1) [pending] Wave 2: "User API", "Product API" [pending] Wave 3: "Auth middleware" [pending] Cross-story regression test
**Adaptations** (not exhaustive — use judgment):
`"Fixing Story N (round R)"`
---
0. **Check for a ledger.** If `<task_dir>/dev-ledger.md` exists, stories listed there as complete are DONE — do not re-implement or re-review them; resume at the first story not marked complete. The commits the ledger names exist in git even when your context no longer remembers creating them. 1. Read **acceptance criteria** (from spec file, or derived from user request). 2. Read **implementation stories** (from plan file, or single story for small tasks). Accept any heading format: `## Story N`, `## Step N`, `## N. Title`, or numbered/bulleted lists. Normalize as ordered stories. Note the plan's `## Global Constraints` section if present — copy it verbatim into every implementer and reviewer dispatch; it is the reviewer's attention lens for what this project's spec demands. 3. Detect the repo's test command by inspecting project root (`Makefile`, `package.json`, `pyproject.toml`, `go.mod`, `Cargo.toml`, CI configs, `CLAUDE.md`/`AGENTS.md`). If none found, AskUserQuestion. Record as `TEST_CMD`. 4. Extract code conduct from `CLAUDE.md`, `AGENTS.md`, lint/formatter configs, and existing code patterns. Record as `CODE_CONDUCT`. 5. **Build pattern references.** For each story, find the closest analogous implementation before anyone writes code:
shared component/module areas for similar files. Read the full files, not just matching snippets.
file path, why it is analogous, patterns to mirror, and intentional deviatio
An agentic development harness for Claude Code & Codex: agent-routed workflows from raw requirement to green PR.
System-design thinking before any doc or code: goals/non-goals, back-of-envelope numbers, components and contracts, failure modes, operability, security,…
Run Ship's full production workflow from raw requirement to PR: design, dev, E2E, review, QA, refactor, and handoff. Use only for explicit /ship:auto, auto…
Plan implementation before coding: investigate the repo, write spec and plan, and validate with a peer. Use for "plan", "design approach", "scope", or any…
Add durable end-to-end tests for user/API-visible behavior. Detect or scaffold the E2E framework, write tests, run the app, and store evidence. Use for E2E,…
Ship completed work: verify locally, commit related changes, push, create or update the PR, watch CI/reviews, and fix until merge-ready or escalated. Use for…