From flow
Audits codebase documentation accuracy by comparing behavioral sources (skills, configs) against surfaces (README, CLAUDE.md, docs), reporting [STALE], [MISSING], [OUTDATED] drifts. Useful post-code changes.
npx claudepluginhub benkruger/flowThis skill uses the workspace's default tool permissions.
Full codebase documentation accuracy review. Compares behavioral sources
Audits codebase documentation for accuracy, completeness, and freshness by comparing against code structure. Auto-fixes small discrepancies in fix mode, reports structural changes. Works with any language/framework.
Synchronizes project docs (CLAUDE.md, README.md, architecture.md) with code state via quality scoring (0-100), gap analysis, skill/ADR audits using git log, and change reports. Use for doc-code alignment.
Detects documentation-code drift via grep/AST fact extraction from CLI commands, APIs, env vars, public functions and LLM-graded semantic analysis of mismatches.
Share bugs, ideas, or general feedback.
Full codebase documentation accuracy review. Compares behavioral sources (skills, lib scripts, config files) against all documentation surfaces (README, docs pages, inline references) and produces a severity-tagged drift report. Read-only — reports drift but does not fix anything.
/flow:flow-doc-sync
At the very start, output the following banner in your response (not via Bash) inside a fenced code block:
```text
──────────────────────────────────────────────────
FLOW v1.1.0 — flow:flow-doc-sync — STARTING
──────────────────────────────────────────────────
```
Read CLAUDE.md at the project root using the Read tool. Identify:
Use the Glob tool to find all documentation surfaces:
README.mddocs/**/*.mddocs/**/*.htmlCLAUDE.md (also a documentation surface — it describes the project).claude/rules/*.mdRecord the full list of documentation surface paths for Step 2.
Read all behavioral sources identified from CLAUDE.md — skill files, lib scripts, config files, hook definitions, phase definitions. These are the source of truth for what the project actually does.
Read all documentation surfaces found in Step 1. For each surface, note what it claims about project behavior, commands, file paths, architecture, and conventions.
Use the Read tool for each file. For large files, read the sections that make behavioral claims (skip license headers, boilerplate, etc.).
Compare each documentation surface against the behavioral sources. For every behavioral claim in a doc surface, verify it against the actual source. Tag each finding:
[STALE] — the doc describes behavior that has changed. The
feature still exists but works differently than documented.
Include: what the doc says, what the code actually does, and the
source file with line reference.
[MISSING] — behavior exists in the code but is not documented
in any surface. A feature, command, config option, or convention
that users or maintainers should know about but cannot discover
from documentation alone.
[OUTDATED] — the doc references something that no longer
exists: a removed file, renamed command, deleted config option,
or deprecated pattern. The reference itself is the problem.
Include: what the doc references and evidence it no longer exists.
Skip cosmetic differences (formatting, word choice) that do not affect accuracy. Focus on factual claims: commands, file paths, behavior descriptions, config options, step counts, and architectural statements.
Produce the drift report inline in the response.
Summary line. Start with a one-line summary:
Doc Sync: N findings (X stale, Y missing, Z outdated)
If no findings, output:
Doc Sync: No drift detected — documentation is in sync with code.
Findings. List each finding grouped by documentation surface file. For each file with findings, show the file path as a heading, then each finding:
## <doc_surface_path>
**[STALE]** <description>
- Doc says: <what the doc claims>
- Code does: <what the code actually does>
- Source: <behavioral_source_path>:<line>
**[OUTDATED]** <description>
- Doc references: <what it references>
- Status: <removed in commit/PR, renamed to X, etc.>
Missing features. List [MISSING] findings separately at the end
under a "## Undocumented" heading, since they are not tied to a
specific doc surface.
After the report, output the following banner in your response (not via Bash) inside a fenced code block:
```text
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✓ FLOW v1.1.0 — flow:flow-doc-sync — COMPLETE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
```