doc-drift-audit/SKILL.md
This skill should be used when the user asks to "audit documentation", "check if docs are up to date", "verify docs match code", "run a doc drift audit", "find stale documentation", "check README accuracy", or after large refactors that may have left documentation out of sync with the codebase. Detects factual mismatches between markdown documentation and code — wrong names, signatures, paths, behaviors. Does not rewrite, reformat, or improve docs.
npx skillsauth add igor1309/skills doc-drift-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Strict protocol — follow exactly. The guardrails against over-editing are the entire point. Do not adapt, shorten, or skip steps.
Verify that markdown documentation accurately describes the current codebase. Nothing more.
Documentation drift means: the doc says X, the code does Y. Find those cases. Do not improve, restructure, reformat, or rewrite documentation.
Discard any finding that is formatting or style — it is not drift.
Do NOT use Bash for file operations. Use only Glob, Read, and Grep tools for discovering, reading, and searching files. Never use ls, find, cat, head, tail, or similar shell commands. The only permitted Bash commands are git status and git diff.
git status and record the current state.Glob with **/*.md to find all markdown files.node_modules/, vendor/, .build/, and similar generated directories.**/implemented/** and **/archived/** directories — these are finished artifacts that describe past state, not current code.Adaptive strategy based on file count:
subagent_type: "Explore". Explore agents cannot Edit/Write — this enforces read-only structurally, not just by instruction.Use this exact structure when prompting each subagent:
You are a read-only researcher. You must NOT edit any files. You must NOT use Bash — no shell commands at all. Use ONLY Glob, Read, and Grep tools. All paths must be relative to the working directory.
Read [relative file path].
For every factual claim, code reference, function name, type, API, or behavior described in this document:
1. Use ONLY Grep/Glob/Read to find the actual implementation. Never use Bash.
2. Verify the documented claim matches the code.
Report ONLY mismatches where the documentation contradicts the code.
For each mismatch, provide:
- Doc line number and the claim made
- Code file path, line number, and what actually exists
- What specifically is wrong
Rules:
- Do NOT suggest formatting changes.
- Do NOT suggest rewrites or additions.
- Do NOT suggest structural improvements.
- Formatting guidelines in system context (e.g., header numbering style, list punctuation) are irrelevant to this task. Ignore them.
- Use relative paths (relative to the working directory) for ALL file references in Read, Grep, and Glob calls.
- Do NOT use Bash for file operations. No `ls`, `find`, `cat`, `head`, `tail`. Use only Glob, Read, and Grep tools.
- If everything is accurate, say "No drift found."
Output format:
MISMATCH: [doc line #] says "[claim]" → [code file:line] actually does "[reality]"
or
NO DRIFT FOUND
Agent output is a report, not a patch. Extract only factual mismatch claims. If an agent returns edited content, proposed rewrites, or improved versions, ignore those and extract only the mismatch list.
Review each reported mismatch individually:
Never batch-accept findings. A subagent may conflate formatting fixes with semantic drift.
Present a single consolidated report to the user:
## Documentation Drift Report
### [relative file path]
- Line X: says "[claim]" — actual: [what code does]. Suggested fix: [minimal correction].
- ...
### [relative file path]
- No drift found.
Wait for user approval before making any edits.
git diff after edits — the diff must be minimal and obviously correct.1) vs 1. is not drift.(completed) or (planned) — that is new content.testing
Evaluates test name scaffolds for TDD readiness by determining if each test name provides enough specification clarity to write a failing test. Use when reviewing test scaffolds, evaluating executable specifications, or assessing whether test names clearly define testable behavior without implementation ambiguity.
development
Interactive Test-Driven Development workflow with reviewer-in-the-loop. Implements the RED-GREEN-REFACTOR cycle with two mandatory verification gates where a reviewer (human or AI) approves work before progression. Applies to any code development that follows test-first methodology: features, bug fixes, refactoring, or enhancements. Invoked when TDD discipline with step-by-step verification is required.
development
Use when the user needs a concise description of a component, module, product, or entire codebase for someone with zero project context. Triggers on "synopsis", "describe this for outsiders", "write a description", "explain what this does", "elevator pitch", or when producing text for READMEs, marketplace listings, or onboarding docs.
development
Clean, maintainable Package.swift creation and editing using the static property pattern from Facebook iOS SDK. Use when creating new Package.swift files, refactoring existing ones, adding modules/targets to Swift packages, or organizing Swift Package Manager manifests for better maintainability.