Skip to main content

doc-audit

Audit documentation for quality issues including outdated information, broken references, contradictions, and inconsistencies. Use when asked to review docs, check documentation health, find stale content, validate cross-references, detect contradictions between documents, or ensure documentation consistency across a codebase.

Source facts

Repository
lefant/agent-skills
Last source activity
February 9, 2026 at 13:51
Detected SKILL.md language
English
Stars
1
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
3 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
doc-audit
description
Audit documentation for quality issues including outdated information, broken references, contradictions, and inconsistencies. Use when asked to review docs, check documentation health, find stale content, validate cross-references, detect contradictions between documents, or ensure documentation consistency across a codebase.
# Documentation Audit Skill Systematically analyze documentation for quality issues that erode trust and cause confusion. ## Audit Categories ### 1. Broken References - Internal links pointing to non-existent files or anchors - Code references to deleted/renamed functions, classes, files - Image/asset references to missing files - Cross-document references using outdated paths ### 2. Outdated Information - Version numbers that don't match package.json/Cargo.toml/etc. - API examples using deprecated patterns - Installation instructions for old dependencies - Screenshots/diagrams showing outdated UI - Dates referencing past events as future ### 3. Contradictions - Conflicting statements across documents - README vs inline docs disagreement - Config examples contradicting documented defaults - Multiple sources of truth with different values ### 4. Inconsistencies - Terminology drift (same concept, different names) - Style inconsistencies (code block languages, heading levels) - Formatting disparities across similar documents - Incomplete migrations (old patterns alongside new) ## Audit Workflow ``` 1. SCOPE: Identify documentation to audit └─> glob for *.md, *.mdx, *.rst, *.txt in docs/, README*, CONTRIBUTING*, etc. 2. INVENTORY: Catalog all documents with metadata └─> file path, last modified, word count, link count 3. EXTRACT: Pull references from each document └─> internal links, code refs, external URLs, images 4. VALIDATE: Check each reference resolves └─> file exists? anchor exists? code symbol exists? 5. CROSS-CHECK: Compare claims across documents └─> version numbers, config values, API signatures 6. REPORT: Generate findings by severity └─> critical (broken), warning (outdated), info (inconsistent) ``` ## Running an Audit ### Script Selection Choose based on project context: - **TypeScript project** (has `package.json` or `tsconfig.json`): use `check-links.ts` - **Python project** (has `pyproject.toml`, `setup.py`, or `requirements.txt`): use `check-links.py` - **Default**: prefer TypeScript ### Quick Audit (single file) **TypeScript:** ```bash npx ts-node scripts/check-links.ts path/to/file.md ``` **Python:** ```bash python scripts/check-links.py path/to/file.md ``` ### Full Audit (documentation corpus) **TypeScript:** ```bash npx ts-node scripts/check-links.ts . npx ts-node scripts/check-links.ts docs/ npx ts-node scripts/check-links.ts --json . # JSON output npx ts-node scripts/check-links.ts --fix . # Show fix suggestions ``` **Python:** ```bash python scripts/check-links.py . python scripts/check-links.py --json . python scripts/check-links.py --fix . ``` ### Manual Discovery ```bash # Find all documentation files find . -name "*.md" -o -name "README*" | head -50 # Check for orphaned internal links grep -roh '\[.*\]([^)]*\.md)' docs/ | sort | uniq -c | sort -rn ``` ### Reference Validation **Internal links**: Extract `[text](path)` patterns, verify target exists. **Code references**: Match backtick references against actual codebase: ```bash # Find all inline code refs grep -oE '`[A-Za-z_][A-Za-z0-9_]*`' docs/*.md | sort | uniq # Check if they exist in code grep -r "function_name" src/ ``` **Anchor links**: Verify `#heading-slug` targets exist in target file. ## Detecting Staleness Documentation becomes stale when code changes but docs don't. Key detection strategies: ### Git-Based Staleness Compare doc modification dates against related code: ```bash # When was this doc last updated? git log -1 --format="%ci" -- docs/api.md # When was the code it documents last changed? git log -1 --format="%ci" -- src/api/ # Find docs not updated in 6+ months git log --all --format="%ci %s" --diff-filter=M -- "*.md" | head -20 ``` ### Code Reference Tracking If docs reference specific files/functions, check if those changed more recently: ```bash # Extract code paths mentioned in docs grep -ohE 'src/[a-zA-Z0-9_/.-]+' docs/*.md | sort -u # For each referenced file, compare timestamps for ref in $(grep -ohE 'src/[a-zA-Z0-9_/.-]+' docs/api.md | sort -u); do echo "$ref: $(git log -1 --format='%ci' -- "$ref" 2>/dev/null || echo 'not found')" done ``` ### Staleness Indicators Flag docs that mention: - Specific dates in the past ("as of January 2025") - Version numbers older than current release - Deprecated features still documented as current - "TODO", "FIXME", "WIP" markers left in published docs - References to removed files/functions ### Recommended Workflow 1. List all docs with their last-modified date 2. For each doc, identify what code it describes 3. Compare timestamps - flag if code is newer than doc 4. Review flagged docs for accuracy ## Detecting Contradictions ### Version Mismatches Compare version claims against source of truth: ```bash # Package version grep '"version"' package.json # Documented version grep -i "version" README.md docs/*.md ``` ### Config Value Conflicts Extract config examples, compare against defaults: ```bash # Find config examples in docs grep -A5 "config" docs/*.md # Compare to actual defaults grep -A10 "defaults" src/config.* ``` ### API Signature Drift Match documented function signatures against code: ```bash # Documented API grep -E "^\s*\w+\([^)]*\)" docs/api.md # Actual implementation grep -E "^(export )?(async )?(function|const) \w+" src/*.ts ``` ## Inconsistency Detection ### Terminology Audit Build a glossary of terms used, flag variations: - "config" vs "configuration" vs "settings" - "user" vs "account" vs "profile" - "error" vs "exception" vs "failure" ### Style Consistency Check for: - Code fence languages (```js vs ```javascript) - Heading hierarchy (no skipped levels) - List marker style (- vs * vs 1.) - Link style (inline vs reference) ## Report Format Generate a structured report: ```markdown # Documentation Audit Report Generated: YYYY-MM-DD Scope: docs/, README.md, CONTRIBUTING.md ## Summary - Files audited: N - Issues found: N (X critical, Y warnings, Z info) ## Critical Issues (Broken) | File | Line | Issue | Details | |------|------|-------|---------| | docs/api.md | 45 | Dead link | `./old-file.md` not found | ## Warnings (Outdated) | File | Line | Issue | Details | |------|------|-------|---------| | README.md | 12 | Version mismatch | Says 2.0, package.json has 3.1 | ## Info (Inconsistencies) | File | Line | Issue | Details | |------|------|-------|---------| | docs/guide.md | 8 | Term variation | "config" (elsewhere: "configuration") | ## Recommendations 1. ... 2. ... ``` ## Integration Patterns ### Pre-commit Hook Run link validation before commits: ```bash #!/bin/bash # .git/hooks/pre-commit find docs -name "*.md" -exec grep -l '\[.*\](.*\.md)' {} \; | \ while read f; do # validate links in $f done ``` ### CI Pipeline Add documentation validation to CI: ```yaml # .github/workflows/docs.yml - name: Validate docs run: | # Check for broken links # Verify version consistency # Flag outdated content ``` ### Scheduled Audits Run weekly/monthly full audits to catch drift: ```bash # cron: 0 9 * * 1 (every Monday 9am) ./scripts/doc-audit.sh > reports/doc-audit-$(date +%Y%m%d).md ``` ## Severity Guidelines **Critical** (must fix): - Broken internal links (404 within docs) - Missing referenced files - Code examples that won't compile/run **Warning** (should fix): - Outdated version numbers - Deprecated API usage in examples - External links returning errors **Info** (consider fixing): - Terminology inconsistencies - Style variations - Minor formatting issues ## What NOT to Flag - Intentional variations (branded terms) - External links (unless 404) - Spelling/grammar (use separate linter) - Subjective style preferences
View on GitHub