shiplisted
Install: claude install-skill sdsrss/sgc
# Ship
Run the ship gate, write immutable `decisions/{id}/ship.md`, optionally open a PR, auto-trigger `janitor.compound`. Every gate failure surfaces a specific error — do not bypass.
**Core principle:** every ship is backed by on-disk evidence. No evidence, no ship.
## When to Use
- User runs `/ship` after `/work` + `/review` (+ `/qa` for L2+)
- All features in `progress/feature-list.md` marked done
## Permission
| Directory | Access |
|-----------|--------|
| decisions | R+W |
| progress | R |
| solutions | — |
| reviews | RW |
## Routing
- **Behavior**: [`src/commands/ship.ts`](../../../../src/commands/ship.ts) (`runShip`)
- **Gate checks** (in order): active task exists · all features done · ≥1 code review · qa evidence for L2+ · no unresolved `fail` verdicts (without `--override` ≥40)
- **L3 gate**: refuses `--auto`; prompts interactive `yes` confirmation (§4)
- **PR integration**: [`src/dispatcher/gh-runner.ts`](../../../../src/dispatcher/gh-runner.ts) — `--pr` shells `gh pr create`
- **Auto-janitor**: [`src/dispatcher/agents/janitor-compound.ts`](../../../../src/dispatcher/agents/janitor-compound.ts) — decision logged even on skip (§6)
- **Invariants**: §4 L3 no-auto · §5 override ≥40 · §6 janitor always logged · §10 compound atomic
## Execution
When this skill is invoked, dispatch to the sgc CLI:
```bash
bun src/sgc.ts ship $ARGUMENTS
```
## Gate failure behavior
Each gate names itself in the error (`features not done`, `no code reviews`, `qa evidence mi