원클릭으로
dev-docs-review
Review all project documentation for staleness — READMEs, skills, plans, CLAUDE.md, project structure trees
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Review all project documentation for staleness — READMEs, skills, plans, CLAUDE.md, project structure trees
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Add PBR texture loading with separate roughness/metallic support to an SDL GPU project using forge_scene.h
Add Cook-Torrance PBR shading with GGX, Schlick-GGX, and Schlick Fresnel to an SDL GPU project alongside forge_scene.h
Add instanced grass rendering with segmented blades, wind animation, LOD density rings, and terrain LOD with geomorphing to an SDL GPU project
Add procedural noise texture generation to the asset pipeline — C tool, Python plugin, web UI with live preview
Add an asset pipeline lesson — hybrid Python + C track for asset processing, procedural geometry, and web frontend
Add an audio lesson — sound playback, mixing, spatial audio, DSP effects, with SDL GPU scenes and forge UI
| name | dev-docs-review |
| description | Review all project documentation for staleness — READMEs, skills, plans, CLAUDE.md, project structure trees |
| argument-hint | [--fix] [--lesson <track>/<NN>] [--pr <number>] |
| disable-model-invocation | false |
Sweep every documentation file in the repo for staleness, inaccuracy, and gaps. This catches stale project structure trees, completed plan items that should be removed, missing READMEs, skill docs referencing deleted files, and lesson lists that are behind the actual lesson count.
When to use this skill:
The user optionally provides:
--fix — auto-fix issues where possible (update trees, prune plans, add
missing READMEs). Without this flag, report findings only.--lesson <track>/<NN> — review only docs relevant to a specific lesson
(e.g. --lesson gpu/37). See "Lesson-scoped review" below.--pr <number> — review only the documentation files changed in a pull
request (e.g. --pr 199). See "PR-scoped review" below.--lesson)When --lesson <track>/<NN> is provided, skip the full parallel sweep and
instead run a single focused agent that checks only the documentation touched
by that lesson. This is fast and useful right after creating or updating a
lesson.
Resolve the lesson from the argument:
<track> is gpu, math, ui, engine, assets, physics, or audio<NN> is the lesson number (zero-padded or not)lessons/<track>/<NN>-* to get the full
slug (e.g. gpu/37 → lessons/gpu/37-3d-picking/)Files to review:
| File | What to check |
|---|---|
lessons/<track>/README.md | Lesson listed in the track's lesson table (GPU track uses screenshot gallery table) |
lessons/<track>/<NN>-*/README.md | Lesson README exists, links are valid, diagrams referenced exist in assets/ |
scripts/forge_diagrams/README.md | Diagram count and lesson count for the track are accurate |
scripts/forge_diagrams/<track>/lesson_<NN>.py | Diagram module exists if lesson has diagrams |
.claude/skills/*/SKILL.md | Find the skill created for this lesson (search for the lesson name or number), verify its path references are valid |
PLAN.md (root) | Lesson is not still listed as a TODO if it exists and is complete |
Checks per file:
Track README.md (lessons/<track>/README.md):
.claude/skills/,
verify it appears in this list. If missing, add it.Lesson README.md (lessons/<track>/<NN>-*/README.md):
assets/*.png references point to files that exist.Diagram infrastructure:
scripts/forge_diagrams/<track>/lesson_<NN>.py exists, verify it is
re-exported in scripts/forge_diagrams/<track>/__init__.py (the track
package __init__.py surfaces modules to the __main__.py registry).scripts/forge_diagrams/README.md counts are still accurate
(total diagrams, per-track lesson counts).Lesson skill:
.claude/skills/*/SKILL.md for references to the lesson number
or slug. The matching skill is the one created alongside the lesson (e.g.
forge-stencil-testing for lesson 34).Root PLAN.md:
main.c + README),
it should not appear as an unchecked TODO in the plan.Report format (lesson-scoped):
Lesson Documentation Review: <track>/<NN>-<slug>
═══════════════════════════════════════════════════
Root README: ✓ ok | X issues (Y fixed)
Track README: ✓ ok | X issues (Y fixed)
Lesson README: ✓ ok | X issues (Y fixed)
Diagram infrastructure: ✓ ok | X issues (Y fixed)
Lesson skill: ✓ ok | X issues (Y fixed)
Root PLAN.md: ✓ ok | X issues (Y fixed)
Details:
────────────────────────────────────────────
[Findings, if any]
--pr)When --pr <number> is provided, review only the documentation files changed
in that pull request. This is useful after a PR lands to verify that all the
docs it touched are consistent.
Get the changed files:
gh pr diff <number> --name-only
Filter to documentation files — keep only files matching:
*.md (READMEs, PLANs, lesson docs).claude/skills/*/SKILL.md (skill docs)CLAUDE.mdscripts/forge_diagrams/README.mdDiscard non-documentation files (.c, .h, .py, .hlsl, etc.).
For each documentation file changed in the PR, check:
README.md files (root, track, lesson, scripts, etc.):
scripts/forge_diagrams/README.md)SKILL.md files:
PLAN.md:
CLAUDE.md:
Report format (PR-scoped):
PR Documentation Review: #<number> — <title>
═══════════════════════════════════════════════
Files reviewed: N documentation files changed in PR
<file-path>: ✓ ok | X issues (Y fixed)
<file-path>: ✓ ok | X issues (Y fixed)
...
Details:
────────────────────────────────────────────
[Findings, if any]
--lesson or --pr flag)When no --lesson flag is given, run the full parallel sweep described below.
This review runs as parallel agents — each agent owns one review area and works independently. Launch all agents at once, then collect results.
Goal: Verify every project structure tree matches the actual filesystem, and verify the root README library lists are current.
Find all structure trees — search for ├── or └── in:
CLAUDE.mdscripts/README.mdscripts/forge_diagrams/README.mdREADME.md that contains a treeREADME.md is intentionally minimal and does NOT contain
a structure tree or full lesson lists — do not add them back.For each tree, extract the listed paths and compare against the real filesystem:
common/ module, a new lesson, a new track)Root README library list — the root README.md has a "What you'll get"
section that lists shared libraries as inline links like
[math](common/math/). Verify this list matches the actual common/*/
directories that have a README (i.e. are real library modules, not empty
or placeholder dirs). Flag any common/ library that exists and is
documented but is missing from the root README's library list.
Note: the root README is intentionally minimal — no structure trees,
no full lesson lists, no skills tables. Do not add them back.
Lesson lists — verify each track's own README lists all lessons for
that track. The GPU track (lessons/gpu/README.md) uses a screenshot
gallery table (thumbnail + name + description). Other tracks use markdown
tables. Check that every lessons/<track>/NN-* directory has a row.
Skills lists — the GPU track README (lessons/gpu/README.md) has a
"Available skills" bullet list mapping each lesson to its Claude Code skill.
Verify that every lesson with a matching skill in .claude/skills/ has an
entry in this list. Cross-reference by globbing .claude/skills/*/SKILL.md
for skills that reference a GPU lesson.
Report each finding with file, line number, and what's wrong.
If --fix: Edit the trees to match reality. Add missing entries, remove
stale ones, fix descriptions. Add missing libraries to the root README
lists. Do not rewrite working trees — only patch the diffs.
Goal: Remove completed items and verify remaining items are current.
Root PLAN.md — read the roadmap:
Lesson PLAN.md files — glob lessons/**/PLAN.md:
main.c, README, assets), the PLAN.md
may still contain stale task assignments, agent decompositions, or TODOs
that were completed. These are fine to keep as historical records — do
NOT delete lesson PLANs.Report each finding.
If --fix: Update the root PLAN.md. Leave lesson PLANs as-is (they
serve as historical records of how the lesson was built).
Goal: Verify all skill SKILL.md files reference correct paths and patterns.
CRITICAL: Context limit batching. There are 60+ skills. A single agent reading all of them will hit context limits and fail. Split skill verification into batches of ~10 skills per agent. Launch all batch agents in parallel.
How to batch:
ls -d .claude/skills/*/Each batch agent does the same work:
For each skill in its batch, read the SKILL.md and check:
/dev-create-diagram") should name skills that actually exist.name: field must use
the correct prefix. Lesson skills (any track) use forge- (e.g.
forge-stencil-testing, forge-bloom), development/workflow skills use
dev- (e.g. dev-create-pr, dev-gpu-lesson). Flag any skill
whose directory name lacks the expected prefix. Check that the name:
field in the YAML frontmatter matches the directory name exactly.Work efficiently — scan for path references, verify against the filesystem, move on. Don't read every line in detail — focus on paths and cross-refs.
Report each finding with skill name and issue. Report "No issues" if the batch is clean.
If --fix: Update path references and name: fields. Rename skill
directories to match the naming convention (git mv the directory). Update
all references to the old directory name across the repo (lesson READMEs,
track READMEs, other SKILL.md cross-references). Do NOT rewrite skill
logic or workflows — only fix factual inaccuracies and naming.
Goal: Find directories that would benefit from a README but don't have one.
Scan directories that should have READMEs:
common/*/ — every library module should have a READMElessons/*/ — every track should have a READMElessons/*/*/ — every lesson should have a READMEpipeline/ — should have a READMEdocs/ — building.md (build guide) and any other docstests/ — could benefit from a READMEtools/ — each tool directoryscripts/ and subdirectories.claude/skills/ — a top-level README explaining the skill systemFor directories that have READMEs, quick-check:
Report directories missing READMEs, and READMEs that appear stale.
If --fix: Write READMEs for directories that need them. Keep them
short — a one-paragraph description, a file listing, and usage examples
where applicable. Do NOT write READMEs for trivial directories (build/,
__pycache__/, etc.).
Goal: Verify CLAUDE.md is accurate and complete.
Code conventions — spot-check 3-5 recent lessons to verify the documented conventions (naming, error handling, line endings) match actual practice. Flag conventions that are documented but not followed, or practices that are followed but not documented.
Testing section — verify the documented test commands work:
cmake --build build --target test_gltfctest --test-dir builduv run pytest tests/pipeline/Shader compilation — verify the documented commands match the actual script arguments.
Dependencies — verify the listed dependencies are current. Check for new dependencies that should be listed.
Cross-references — all lesson references, library references, and skill references should be valid.
Report each finding.
If --fix: Update CLAUDE.md sections that are factually wrong. Do NOT
add new conventions or change the tone — only fix inaccuracies.
After all agents complete, combine their findings into a single report:
Documentation Review Summary
═══════════════════════════════════════════
Project Structure Trees + Root README: X issues found
Plans: X issues found
Skill Documentation: X issues found
README Coverage: X issues found
CLAUDE.md Consistency: X issues found
Total: X issues found (Y auto-fixed)
Details:
────────────────────────────────────────────
[Full findings from each agent, grouped by area]
If --fix was specified, show what was changed. If not, show what would need
to change.
/dev-final-pass for that)/dev-review-diagrams)/dev-markdown-lint)