# Verification Checklist — README CONCEPTS Section Rules for verifying CONCEPTS table accuracy. Each rule is checked during every workflow run. ## Rules ### 1. External URL Liveness - **Category**: URL Accuracy - **What to check**: Every external URL in the CONCEPTS table (docs links) returns a valid page - **Depth**: Fetch each URL and confirm it loads the expected page (not a redirect to wrong page) - **Source to compare against**: `https://code.claude.com/docs/llms.txt` for canonical URL list - **Date added**: 2026-03-02 - **Origin**: Permissions URL `/iam` was found to redirect to Authentication page instead of Permissions ### 2. Anchor Fragment Validity - **Category**: URL Accuracy - **What to check**: Any URL with an anchor fragment (`#section-name`) matches an actual heading on the target page - **Depth**: Fetch the page and verify the heading exists with the expected anchor - **Source to compare against**: Fetched page content - **Date added**: 2026-03-02 - **Origin**: Rules anchor `#modular-rules-with-clauderules` was stale; section renamed to `#organize-rules-with-clauderules` ### 3. Missing Docs Pages - **Category**: Missing Concepts - **What to check**: Every page in the official docs index (`llms.txt`) that represents a user-facing feature has a corresponding row in the CONCEPTS table - **Depth**: Compare full docs index against CONCEPTS table entries - **Source to compare against**: `https://code.claude.com/docs/llms.txt` - **Date added**: 2026-03-02 - **Origin**: Multiple missing concepts found (Agent Teams, Keybindings, Model Configuration, etc.) ### 4. Local Badge Link Validity - **Category**: Badge Accuracy - **What to check**: Every badge target path in the CONCEPTS table (`best-practice/*.md`, `implementation/*.md`, `.claude/*/`) points to a file or directory that exists - **Depth**: Use Read/Glob to verify file existence - **Source to compare against**: Local filesystem - **Date added**: 2026-03-02 - **Origin**: Initial checklist creation ### 5. Description Currency - **Category**: Description Accuracy - **What to check**: Each concept's description accurately reflects the current official docs description - **Depth**: Compare README description against the official page's meta description or first paragraph - **Source to compare against**: Official docs page content - **Date added**: 2026-03-02 - **Origin**: Memory description missing auto memory; MCP Servers location missing `.mcp.json` ### 6. TIPS Section URL Consistency - **Category**: URL Accuracy - **What to check**: When a URL is updated in the CONCEPTS or Hot table, also check the TIPS section for the same stale URL - **Depth**: Search TIPS section (lines 125–267) for every URL that was flagged in the CONCEPTS/Hot table - **Source to compare against**: llms.txt sitemap + CONCEPTS table URLs - **Date added**: 2026-04-16 - **Origin**: `web-scheduled-tasks` URL was fixed in Hot table (2026-04-14) but the same stale URL persisted in TIPS (line 223) ### 7. Beta Badge Currency - **Category**: Badge Accuracy - **What to check**: Concepts marked `![beta](!/tags/beta.svg)` in the Hot table should still be flagged as beta / research preview in their official docs page (header banner, "research preview" copy, or env-var gating) - **Depth**: Fetch each upstream page and check for explicit beta/preview/experimental wording; if absent, the README badge may be stale - **Source to compare against**: Official docs page banner text + GA-marker copy - **Date added**: 2026-04-26 - **Origin**: Workflow-concepts-agent flagged Routines, No Flicker Mode, Computer Use, and Code Review as carrying README beta badges while their docs pages read as GA (confidence 0.6) — this drift type isn't covered by the existing description-currency rule ### 8. Location Column Factual Accuracy - **Category**: Description Accuracy - **What to check**: Each concept's **Location** column (column 2) value must factually match the mechanism described in the official docs — not merely that the path/command/flag exists, but that the characterization is correct (e.g. how a feature stores state, what it tracks, where config lives) - **Depth**: For any Location value that makes a mechanism claim (e.g. "git-based", "automatic", "built-in (env var)", "cloud backend"), fetch the official page and confirm the claim against the docs' own description of the mechanism - **Source to compare against**: Official docs page body (mechanism/"how it works" sections) - **Date added**: 2026-05-21 - **Origin**: Checkpointing Location read `automatic (git-based)` for every prior run, but `/en/checkpointing` explicitly states checkpoints track file-editing-tool changes (not git, not bash) and are "not a replacement for version control" — *"checkpoints as 'local undo' and Git as 'permanent history'."* Existing rule #5 (Description Currency) only inspects the Description column, so a factual error in the Location column went unchecked indefinitely ### 9. Bundled Skill / Command Rename Tracking - **Category**: Description Accuracy (Location column) - **What to check**: Any slash command or bundled skill named in a CONCEPTS/Hot **Location** column (e.g. `/simplify`, `/code-review`, `/loop`, `/batch`, `/goal`, `/ultrareview`) still exists under that exact name — i.e. it was not renamed or removed in a recent version - **Depth**: Scan the last N versions of the CHANGELOG for "renamed", "removed", or "deprecated" command/skill events; cross-check the current `/en/commands` reference and the `/en/skills#bundled-skills` list for the actual current command names - **Source to compare against**: `https://raw.githubusercontent.com/anthropics/claude-code/main/CHANGELOG.md` + `https://code.claude.com/docs/en/commands` + `https://code.claude.com/docs/en/skills#bundled-skills` - **Date added**: 2026-05-25 - **Origin**: `/simplify` was renamed to `/code-review` in v2.1.147 — a **changelog-only event** that the docs-page-listing checks (rules #1/#3) and the claude-code-guide 95-concept sweep both missed; only a raw-CHANGELOG read caught it. Rules #5/#8 inspect Location *characterization* against docs page bodies but don't systematically scan the changelog for command renames, so a renamed command in a Location column could persist indefinitely