From shipwright
Verify Phase D doc updates are accurate. Binary pass/fail gate — checks stat accuracy, file path validity, code-doc sync, completeness. Runs after /update-docs.
How this skill is triggered — by the user, by Claude, or both
Slash command
/shipwright:review-docsopusThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Quality gate for documentation. Catches stale stats, dead links, and drift between code and docs.
Quality gate for documentation. Catches stale stats, dead links, and drift between code and docs.
When to use: Verify doc accuracy after
/update-docs, or as a standalone doc audit. Use/review-fullinstead if: your diff is mixed (code + docs) — it'll detect scope and dispatch. Called by:/shipPhase D (after/update-docs),/review-full(docs-only diffs).
Docs are a trust surface. Sonnet misses cross-file inconsistencies (e.g., README says "30 modules" but modules/ has 32 files). Opus catches these.
Phase D pipeline:
/update-docs → stage doc changes
/review-docs → verify them ← you are here
(if fail) → fix in-place, re-stage, re-review (max 2 rounds)
(if pass) → continue to Phase S (ship)
Always run after /update-docs — even if it reports "came back clean." Verify the claim.
When called from /ship:
/ship commits per phasegit diff --cached --stat -- '*.md'
git diff --cached -- '*.md'
If no staged doc changes AND /update-docs reported "clean" → report "Phase D clean — no doc changes to review" and pass.
| Risk | What to check |
|---|---|
| Stat accuracy | Counts (components, endpoints, tests, modules) match reality |
| File path validity | All [link](path) references point to files that exist |
| Code-doc sync | Function names, prop signatures, route paths match source |
| Frontmatter | Updated docs have valid title/description metadata |
| Completeness | All relevant tiers updated (core, arch, journey, config) |
| Stale dates | Dates that should have been updated are current |
Run any doc-drift tools your project has:
# Example — replace with your project's tools
bun run tools/doc-drift.ts # dead file refs + stale dates
bun run tools/stats-sync.ts # stat accuracy (check-only mode)
Any non-zero output = automatic fail.
If you don't have tools, manually spot-check (assumes repo-root-relative links; relative paths like ../foo.md will need adjustment):
# Find dead doc links (root-relative only)
grep -roE '\[.*\]\([^)]+\.md\)' --include='*.md' . | \
awk -F'[()]' '{print $2}' | sort -u | \
while read f; do [ -f "$f" ] || echo "DEAD: $f"; done
Binary pass/fail. No numeric score.
| Result | Meaning |
|---|---|
| Pass | All docs accurate, no stale references, stats match reality |
| Fail | One or more issues found — list per issue with file path |
Why binary? Either docs are accurate or they're not. "Mostly accurate" docs are a trap — users trust them, then hit the inaccurate part.
## Review Docs — Report
Files reviewed: X docs changed
Tiers covered: 1 (core) / 2 (arch) / 3 (journey) / 4 (config)
| Check | Status |
|-------|--------|
| Stat accuracy | pass / fail |
| File path validity | pass / fail |
| Code-doc sync | pass / fail |
| Frontmatter | pass / fail |
| Completeness | pass / fail |
Issues: (if any, with file path + description)
Result: PASS / FAIL
Ready for Phase S: Yes / No
npx claudepluginhub cloverink/shipwright --plugin shipwrightFetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.