Command cheatsheet

A lookup reference for the /s: commands and the shipd CLI — not a walkthrough. New to shipd? Start with Getting started instead; come back here once you know the loop and just need the invocation you forgot. Looking for a config key or a customisation surface instead? See Customising shipd.

Conventions

Flags shared across several verbs, stated once here instead of on every row below:

  • --json — emit machine-readable JSON instead of the text report.
  • --root DIR — run against a repository root other than the current directory.

How the skills overlap

PipelineOrchestrationMemory
Spec,
build, ship
Epics, driven
Decisions
that stick
Unattended
Asks
first
Evidence
Compounds
  • Spec, build, ship — the pipeline, one change end to end: s:onboard, s:doctor, s:duck, s:plan, s:fix, s:review, s:drive, s:gate, s:status, s:document, s:worktree-hooks
  • Epics, driven — orchestration across many changes: s:epic, s:prd, s:initiative, s:workspace, s:explain, s:epic-grill
  • Decisions that stick — memory that outlives a change: s:remember, s:memory, s:forget
  • Unattended — s:build, s:autopilot
  • Asks first — s:ask
  • Evidence — s:research, s:video-ingest
  • Compounds — s:teach

/s: commands

CommandWhat it doesExample
/s:askAsk the oracle before interrupting a human — a cited recommendation, or a queued question./s:ask Should the new endpoint require auth?
/s:autopilot <epic> [detached]Drive an approved epic's unplanned members to shipped PRs unattended./s:autopilot export-cli
/s:build [change]Plan, delegate to execution sub-agents, verify, and ship a change end to end./s:build export-json-flag
/s:doctorDiagnose a shipd environment and run only the remedies you consent to./s:doctor
/s:documentAuthor or revise a doc against the shipd documentation standard, then lint it clean./s:document Rewrite docs/api-keys.md as a reference
/s:driveDrive a real browser to operate an app, verify a change, and optionally record a branded demo. A manual auth recipe, or login <target> --manual, lets a person log in by hand. When a step fails, handoff gives the person the live browser and resume takes it back. session start --headed opens the window visible from the start./s:drive Verify the checkout flow still works
/s:duckTalk an idea through with an adversarial, read-only rubber-duck critic before planning it./s:duck Should the queue be per-tenant?
/s:epicDecompose a feature into an epic of member changes with shared decisions./s:epic Add multi-tenant billing
/s:epic-grill <epic>Plan every unplanned member of an epic, ask every open decision once, then gate the plans together./s:epic-grill export-cli
/s:explain <epic>Read a shipd epic through the engine and explain what it is for and where it stands./s:explain autonomous-delivery
/s:fixDebug a reported problem against the spec library, then fix the drifted code./s:fix The export command crashes on empty input
/s:forgetRemove a captured preference from the personal memory store./s:forget my vim preference
/s:gateInstall the semantic review gate in a repository end to end./s:gate
/s:initiative <new|list|review|set> [args]Author, list, review, or attach workspace initiatives./s:initiative list
/s:memoryList the preferences captured in the personal memory store./s:memory
/s:onboard [next|back]Run the guided nine-step shipd tour./s:onboard next
/s:planConverge context into an execution-ready spec, then stop./s:plan Add a --json flag to the export command
/s:prd [slug]Interview for a workspace PRD — the outcomes an idea should deliver — before an epic decomposes it./s:prd Add self-serve billing
/s:rememberCapture a durable user preference into the personal memory store./s:remember I prefer terse commit messages
/s:researchTurn a question into a cited research report an epic can link./s:research What are common approaches to rate limiting?
/s:review [target]Run a semantic review of local changes before you push./s:review
/s:status <status|validate|set-status|pipeline> [args]Report or change a spec's lifecycle status through the guarded CLI./s:status status export-json-flag
/s:teach [<change> Q<n>]Distill spec artifacts and answered queue entries into the workspace wiki./s:teach
/s:video-ingest <video-or-slug>Turn a screen recording into a grounded, cited intent brief./s:video-ingest recording.mp4
/s:workspace <init|show|clone|sync>Set up and inspect the shipd workspace./s:workspace show
/s:worktree-hooksAuthor and register a script a fresh worktree runs after creation./s:worktree-hooks copy .env.example into every new worktree

shipd CLI

CommandWhat it doesExample
init [--root DIR]Create the content directory layout and ignore and untrack the local state files; safe to re-run.shipd init
list [kind] [--all]Spec artifacts across the root and its worktrees — kind: changes (default), epics, verified, research, video, or docs; --all (changes only) adds the applied ones.shipd list
status [change]A change's status and progress.shipd status
locate [change]Where an installed change lives.shipd locate
related <term> [term...]Spec artifacts ranked by term-hit count.shipd related statusline
search <term> [term...]The same ranking over a wider corpus: every related surface plus initiative briefs and this repo's git-tracked files.shipd search statusline
epic <slug>An epic's status, metadata, and member states.shipd epic autonomous-delivery
prd [slug]A PRD's report and citing epics; bare: the workspace's PRD roster.shipd prd
workspace [init|sync]The workspace root, its projects, and initiatives; init creates one, sync materializes its members. Needs an ancestor .shipd-config.json declaring workspace (see /s:workspace init).shipd workspace
wiki [init]The wiki store; init scaffolds one.shipd wiki
configThe layered configuration this root resolves.shipd config
board [text] [--epic EPIC] [--interval N]The delivery board (default: full-screen).shipd board text
render [output] [file] [--plain|--ascii]Markdown with its mermaid diagrams drawn as text (default: full-screen); --plain unstyled, --ascii ASCII-only lines.shipd render output docs/what-is-shipd.md --plain
metrics [summary|record-flow|forecast|rollup]Delivery metrics (default: summary).shipd metrics
lint [change] [--epic EPIC] [--initiative INITIATIVE] [--workspace] [--wiki]Structurally validate specs and change deltas.shipd lint
worktree <change> [--fresh]Create the change's worktree, then run the configured post-worktree-scripts.shipd worktree add-login-flow
doctor [--fix]Preflight this environment for shipd; --fix provisions local tooling automatically.shipd doctor --fix
statusline [install] [--settings FILE] [--force]Report or register the shipd statusline.shipd statusline
copilot [add|remove] [--force]Maintain the Copilot code-review skill — the /s:gate merge gate — in a repo.shipd copilot
vendor [add|remove] [--force]Maintain a vendored per-repo shipd install.shipd vendor
harness [list|show|add|remove|status] [ids...] [--all] [--user] [--force]The harness registry, and the generated /s: command files in a repo or in your home; --all acts on every harness in it.shipd harness list
installPick your harnesses and install their commands.shipd install
update [--check]Report or install a newer published plugin version.shipd update --check

doctor --fix

--fix installs textual, difft, and the statusline without asking — the same local-tooling remedies /s:doctor otherwise runs on consent. It never touches GitHub. A protection or automerge finding stays report-only, since each mutates a shared repository rather than the local machine, and stays behind /s:doctor's consent. Every other check with no automated remedy — python, config, pipeline, an unauthenticated gh, and copilot-secret — is report-only too, naming the surface it affects. --fix finishes by delegating to the drive CLI's own doctor --fix, which installs ffmpeg, ffprobe, and vhs — provisioning a full shipd machine in one command.