ship-itemlisted
Install: claude install-skill EvolveHQ/docflow
# ship-item
Execute the completion event for one queue item. This is the most
order-sensitive operation in the system — follow the steps exactly.
## Step 0 — Preconditions and context
1. Confirm the repo is bootstrapped with a `plan/` queue.
2. Read `CONVENTIONS.md` and `AGENTS.md` for: the **integration model**
(direct-to-main fast-forward vs. PR-based with required CI), the
**verify gate** command, the **multi-agent mode**, and the Git
contract (signed commits, tags, trailers).
## Step 1 — Select the item
Default to the lowest-numbered `plan/todo/` file, or the one the user
names. Read it and the owning ADR(s) in full.
## Step 2 — Verify
Run the repo's verify gate. **Require a pass.** Do not bypass with
`--no-verify` or equivalent. If it fails, stop, surface the failure,
fix the root cause, re-run.
## Step 3 — Integrate (per the repo's model)
- **Direct-to-main, fast-forward:** `git merge --ff-only <branch>` (or
the work is already on `main`), then `git push origin main`. The
verify gate ran locally in Step 2.
- **PR-based:** push the branch, `gh pr create --draft --fill`, wait
for CI green (`gh pr checks --watch`), `gh pr ready`, then
`gh pr merge` with the repo's strategy. Confirm the merge landed on
`main` before continuing.
## Step 4 — Move the queue item
Once the change is on `main`:
- `git mv plan/todo/NNNN-<slug>.md plan/done/<YYYY-MM-DD>-<slug>.md`
(today's date prefix).
- Amend the moved file with a footer: **"Shipped at HEAD `<sha>`