Doc Drift
Compare design documents against actual code/config, find inconsistencies, and output a prioritized attention list.
Respond in the user's preferred language (detect from their recent messages, or fall back to the language setting in CLAUDE.md).
Compare design documents against actual code/configuration, find inconsistencies, and output a prioritized attention list.
Arguments: $ARGUMENTS
- No arguments: scan all modules
--module <name>: only check the specified module
Execution Flow
1. Determine Scope
Discover the project's documentation and code structure:
- Look for design docs in
Docs/,Documentation/, or any directory referenced inCLAUDE.md - Look for code modules under
Assets/Scripts/,Assets/Plugins/,src/, or the project's main code directories - Group related docs and code into module pairs (e.g., "Player" docs ↔ Player code directory)
If the user specified --module, only scan that module. Otherwise, group all discovered modules and dispatch parallel subagents (subagent_type: "general-purpose", model: "opus") — one per group (max 5 groups).
2. Each Subagent's Task
Each subagent prompt must include:
- The doc paths and code paths for its assigned modules
- The following review instructions:
You are a document-code consistency auditor. Read all rules, states, enums, and numeric parameters defined in the design documents, then search for corresponding implementations in the code and verify each one.
Focus on:
- Features defined in docs but not implemented in code (entire subsystems or individual features)
- Features implemented in code but not mentioned in docs
- Numeric parameter mismatches (doc value vs code value, with exact numbers)
- Enum value / state name mismatches
- Formula inconsistencies (doc formula vs actual code calculation)
- Architectural model deviations (doc uses model A, code uses model B)
For each inconsistency output:
- Location: doc path vs code path (with line numbers)
- What's inconsistent: what the doc says vs what the code does
- Severity: P0 (missing feature / bug / core formula error), P1 (value deviation / naming mismatch / architecture difference), P2 (outdated doc but no functional impact)
End with a summary table.
3. Aggregate Output
After all subagents return, consolidate into:
## Global Summary
| Module | P0 | P1 | P2 |
## P0 List (by category)
### A. Missing Subsystems (doc has full design, code has nothing)
### B. Functional Bugs
### C. Critical Formula/Value Deviations
### D. Architecture Model Mismatches
### E. Status Effects Not Wired Up
## Overall Assessment
Distinguish "not yet built" from "built wrong", and highlight items needing immediate attention.
Handoff
After the drift analysis completes, recommend the next step:
- No critical drift found → "Docs and code are in sync. Want to run
/qq:commit-pushto ship it?" - Outdated docs found → "Found N docs that need updating to match the code. Want me to update them, then
/qq:commit-push?" - Actual bugs found (code doesn't match design intent) → "Found N discrepancies that look like bugs. Want me to fix the code and re-run
/qq:test?"
--auto mode: skip asking:
- Outdated docs → auto-update docs →
/qq:commit-push - Actual bugs → fix code →
/qq:test --auto
Notes
- Design docs represent the vision, code represents reality — many "missing" items may be normal for phased development, don't mark everything as P0
- Distinguish three situations: outdated docs (code is correct, docs need updating), missing features (docs are correct, code not yet built), actual bugs (code behavior is clearly wrong)
- Numeric comparisons must include exact numbers, not vague "inconsistent"
- Formula comparisons must show the complete doc formula and code formula