agentleFS
cloverinkcloverink/shipwright/skills/review-docs/SKILL.md

review-docs

Skill0 starsChanged 49 days agoMITView on GitHub

Verify Phase D doc updates are accurate. Binary pass/fail gate judged by an Opus reviewer (stats, links, code-doc sync, completeness), same reviewer for both rounds. Runs after /update-docs.

23 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use create-vercel-ai-issue, dev-auth-bypass and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • FranciscoMorettiSkill

    create-vercel-ai-issue

    Create a well-formed GitHub issue in vercel/ai using the gh CLI. Use when reporting an AI SDK bug or preparing an issue body that contains logs, code blocks, versions, reproduction steps, and shell-sensitive text.

    Also in 3 projects that use this

  • FranciscoMorettiSkill

    dev-auth-bypass

    Authenticate a browser against a local ChatJS app without OAuth. Use for development login, local auth bypass, authenticated browser or Playwright testing, and the /api/dev-login route.

    Also in 3 projects that use this

  • +10 more from FranciscoMoretti

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 7 are distinctive, and 5 are very specific to this project.

  • 0

    Common

    Most of the 21 edited versions we read keep these.

  • 7

    Distinctive

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Always run after /update-docs, even if it reports "came back clean".

    line 36
  2. Very specific:

    When called from /ship:

    line 41
  3. Distinctive:

    Read-only review of staged doc changes

    line 42
  4. Distinctive:

    If issues found: fix in-place, re-stage, re-review

    line 43
  5. Very specific:

    Do NOT commit: /ship commits per phase

    line 44
  6. Very specific:

    If no staged doc changes AND /update-docs reported "clean" → report "Phase D clean: no doc changes to review" and pass.

    line 54
  7. Distinctive:

    Run Step 3's tools first. Spawn only when Step 1 found a staged doc diff or a tool reports drift.

    line 58
  8. Distinctive:

    Run any doc-drift tools your project has:

    line 95
  9. Very specific:

    If you don't have tools, manually spot-check (assumes repo-root-relative links.

    line 107
  10. Distinctive:

    Binary pass/fail: no numeric score

    line 151
  11. Distinctive:

    Scope to doc diff only: don't review impl code (that's Phase R's job)

    line 152
  12. Distinctive:

    Fix in-place: if issues found, fix immediately, re-stage, re-review

    line 153

“Common” is measured: kept by at least 6 in 10 of the 21 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/review-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-full instead if: your diff is mixed (code + docs): it'll detect scope and dispatch. Called by: /ship Phase D (after /update-docs), /review-full (docs-only diffs).

Execution: Opus judges, this session fixes

Docs are a trust surface. Sonnet misses cross-file inconsistencies (README says "30 modules" but modules/ has 32 files), so the verdict comes from the read-only code-reviewer agent (Opus), lens docs, named reviewer-docs. This session runs the automated checks, applies fixes and re-stages.

Round 2 continues the same reviewer via SendMessage with the evidence rule from Reviewer Continuity. No round 3: still failing → stop and report.

<!-- CONFIGURE: skip the reviewer spawn and rely on Step 3 tools alone if your docs are simple -->

When to run

Phase D pipeline:
  /update-docs  → stage doc changes
  /review-docs  → verify them    ← you are here
  (if fail)     → fix in-place, re-stage, same reviewer re-checks (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 with Step 3's tools; spawn the reviewer only when there is a staged doc diff or a tool reports drift.

Bundling behavior

When called from /ship:

  • Read-only review of staged doc changes
  • If issues found: fix in-place, re-stage, re-review
  • Do NOT commit: /ship commits per phase
  • Round 2 has no SHA to cite, so the re-review prompt cites git diff --cached --stat -- '*.md' instead

Step 1: Gather doc changes

git 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.

Step 2: Spawn the docs reviewer

Run Step 3's tools first. Spawn only when Step 1 found a staged doc diff or a tool reports drift. Create the findings file and pass literals (shell variables do not survive between Bash calls):

RUN_DIR="${TMPDIR:-/tmp}/shipwright/$(git branch --show-current | tr / -)-$(date +%s)"
mkdir -p "$RUN_DIR" && printf 'STATUS: RUNNING\n' > "$RUN_DIR/docs.md" && echo "$RUN_DIR"
Agent({
  subagent_type: "code-reviewer",          // "shipwright:code-reviewer" when installed as a plugin
  name: "reviewer-docs",
  prompt: "Lens: docs. Checklist: <SKILLS_DIR>/review-docs/SKILL.md §Review focus areas.
           Staged doc diff: <git diff --cached --stat output>. Step 3 tool output: <paste>.
           Findings file: <RUN_DIR>/docs.md. Append, flip line 1 to STATUS: DONE, reply with path + verdict only."
})

SKILLS_DIR is the parent of this skill's base directory. The verdict is binary: Result: PASS or Result: FAIL.

Review focus areas

The docs lens checklist. The reviewer loads this section.

RiskWhat to check
Stat accuracyCounts (components, endpoints, tests, modules) match reality
File path validityAll [link](path) references point to files that exist
Code-doc syncFunction names, prop signatures, route paths match source
FrontmatterUpdated docs have valid title/description metadata
CompletenessAll relevant tiers updated (core, arch, journey, config)
Stale datesDates that should have been updated are current
<!-- CONFIGURE: Add project-specific risks (e.g., versioned API docs, i18n strings) -->

Step 3: Automated checks

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)
<!-- CONFIGURE: Replace with your tools, or remove if you don't have them -->

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

Step 4: Scoring

Binary pass/fail. No numeric score.

ResultMeaning
PassAll docs accurate, no stale references, stats match reality
FailOne 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.

Step 5: Report

## 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

Guidelines

  • Binary pass/fail: no numeric score
  • Scope to doc diff only: don't review impl code (that's Phase R's job)
  • Fix in-place: if issues found, fix immediately, re-stage, re-review
  • Reviewer is read-only: the agent reports, this session edits
  • Max 2 rounds, same reviewer: still failing after round 2 → flag to user

Exit conditions

  • PASS → return "Ready for Phase S", OR
  • FAIL after 2 fix rounds → return remaining issues, stop pipeline

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.