/ship — docs sync & merge prep
Goal: leave the change merge-ready, with docs in sync and a clear summary — without
performing git actions you didn't ask for.
Do this
Docs sync — update every doc the change touches, not just the spec. Remove stale
references; keep docs lean and accurate. Before a release, sweep for anything the change made
stale and reconcile it before committing, not after:
- Counts & inventories — any README/manifest that tallies features (components, commands,
endpoints, supported versions) must include what you added; reconcile against the source of
truth, don't eyeball it.
- Version & status docs — bump version manifests; flip roadmap/changelog/status entries to
match what actually shipped.
- Reference docs — API/config/usage docs and the spec's own status + acceptance-criteria
checkboxes.
- Doc shape & examples — keep the four doc kinds distinct (tutorial · how-to · reference ·
explanation); don't blur a reference into a tutorial. Every code example you add or touch
must actually run — paste-and-execute it, don't trust it by eye.
(Project-specific files to touch live in the project's own context — for this repo, see
CLAUDE.md → "Release docs sweep".)
Change summary — assemble from the full diff (git diff <base>...HEAD), not just
the last edit:
## Summary — what & why
## Changes (grouped by area)
## Test plan — how it was verified (link the /verify evidence)
## Risks / follow-ups
CI readiness — confirm build, types, lint, tests are green locally; no secrets,
no debug logs, no --no-verify.
Git boundary (important)
Do not run git commit, git push, or open a PR unless the user explicitly asks — and
create no new branches here (the feature branch already exists, made at first write per
rules/git.md). Prepare, then stop:
- Commit message in Conventional Commits v1.0.0 form:
type(scope): imperative subject ≤72 chars, BREAKING CHANGE: footer when applicable (see rules/git.md).
- PR path: push the feature branch with
-u, open the PR (draft until verify passed),
squash-merge by default — merge-commit only if the project's own history shows
non-squash merges.
- Report "ready to commit/PR — say the word."
Exit criterion
Docs synced, summary drafted, checks green. Awaiting the user's go for any git action.
1---2name: ship3description: Final pre-merge step — sync docs, then prepare a clean commit/PR summary. Use after verify passes. Does NOT commit or push unless you explicitly ask; it prepares everything and stops.4---56# /ship — docs sync & merge prep78Goal: leave the change merge-ready, with docs in sync and a clear summary — without9performing git actions you didn't ask for.1011## Do this121. **Docs sync** — update **every** doc the change touches, not just the spec. Remove stale13 references; keep docs lean and accurate. Before a release, sweep for anything the change made14 stale and reconcile it **before** committing, not after:15 - **Counts & inventories** — any README/manifest that tallies features (components, commands,16 endpoints, supported versions) must include what you added; reconcile against the source of17 truth, don't eyeball it.18 - **Version & status docs** — bump version manifests; flip roadmap/changelog/status entries to19 match what actually shipped.20 - **Reference docs** — API/config/usage docs and the spec's own status + acceptance-criteria21 checkboxes.22 - **Doc shape & examples** — keep the four doc kinds distinct (tutorial · how-to · reference ·23 explanation); don't blur a reference into a tutorial. **Every code example you add or touch24 must actually run** — paste-and-execute it, don't trust it by eye.2526 (Project-specific files to touch live in the project's own context — for this repo, see27 CLAUDE.md → "Release docs sweep".)282. **Change summary** — assemble from the full diff (`git diff <base>...HEAD`), not just29 the last edit:30 ```31 ## Summary — what & why32 ## Changes (grouped by area)33 ## Test plan — how it was verified (link the /verify evidence)34 ## Risks / follow-ups35 ```363. **CI readiness** — confirm build, types, lint, tests are green locally; no secrets,37 no debug logs, no `--no-verify`.3839## Git boundary (important)40Do **not** run `git commit`, `git push`, or open a PR unless the user explicitly asks — and41create no new branches here (the feature branch already exists, made at first write per42`rules/git.md`). Prepare, then stop:43- **Commit message** in Conventional Commits v1.0.0 form: `type(scope): imperative subject44 ≤72 chars`, `BREAKING CHANGE:` footer when applicable (see `rules/git.md`).45- **PR path**: push the feature branch with `-u`, open the PR (draft until verify passed),46 **squash-merge by default** — merge-commit only if the project's own history shows47 non-squash merges.48- Report "ready to commit/PR — say the word."4950## Exit criterion51Docs synced, summary drafted, checks green. Awaiting the user's go for any git action.