Verify documentation consistency
Check documentation for consistency and completeness.
/docs-verify
ACTUAL=$(ls .claude/rules/*.md 2>/dev/null | wc -l | tr -d ' ')
LISTED=$(grep -c '^- `.*\.md`' CLAUDE.md)
if [ "$ACTUAL" -eq "$LISTED" ]; then
echo "ā Rule count matches: $ACTUAL rules"
else
echo "ā Mismatch: $ACTUAL files, $LISTED listed in CLAUDE.md"
echo " Actual files:"
ls .claude/rules/*.md
fi
echo ""
echo "Checking for Player struct definitions..."
PLAYER_DEFS=$(grep -l "struct Player" .claude/rules/*.md docs/**/*.md 2>/dev/null)
echo " Should appear in:"
echo " - .claude/rules/game-state.md (CANONICAL)"
echo " - docs/api/types.md (reference to canonical)"
echo ""
echo " Found in:"
echo "$PLAYER_DEFS" | while read file; do
if [ ! -z "$file" ]; then
HAS_CANONICAL=$(grep -c "CANONICAL" "$file" 2>/dev/null || echo "0")
if [ "$HAS_CANONICAL" -gt 0 ]; then
echo " ā $file (CANONICAL)"
else
echo " ā $file (reference)"
fi
fi
done
echo ""
SKILL_DIRS=$(ls -d .claude/skills/*/ 2>/dev/null | wc -l | tr -d ' ')
SKILL_ROWS=$(grep -c '^| `/.*`' CLAUDE.md)
if [ "$SKILL_DIRS" -eq "$SKILL_ROWS" ]; then
echo "ā Skill count matches: $SKILL_DIRS skills"
else
echo "ā Mismatch: $SKILL_DIRS directories, $SKILL_ROWS in table"
echo " Skill directories:"
ls -d .claude/skills/*/
fi
echo ""
echo "Checking cross-references in CLAUDE.md..."
grep -oh 'docs/[^)]*\.md' CLAUDE.md | sort -u | while read file; do
if [ -f "$file" ]; then
echo " ā $file exists"
else
echo " ā $file referenced but not found"
fi
done
echo ""
AGENT_FILES=$(ls .claude/agents/*.md 2>/dev/null | wc -l | tr -d ' ')
echo "Agents: $AGENT_FILES files"
ls .claude/agents/*.md 2>/dev/null | while read file; do
AGENT_NAME=$(basename "$file" .md)
echo " ā $AGENT_NAME"
done
echo ""
echo "Checking GitHub issue templates..."
TEMPLATES=("bug_report.md" "feature_request.md" "task.md" "config.yml")
LABELS_FILE=".github/labels.json"
for template in "${TEMPLATES[@]}"; do
if [ -f ".github/ISSUE_TEMPLATE/$template" ]; then
echo " ā $template"
else
echo " ā $template missing"
fi
done
if [ -f "$LABELS_FILE" ]; then
LABEL_COUNT=$(jq 'length' "$LABELS_FILE" 2>/dev/null || echo "?")
echo " ā labels.json ($LABEL_COUNT labels defined)"
else
echo " ā labels.json missing"
fi
Generate summary report:
Documentation Verification Report
===================================
Date: [timestamp]
Rules: [X/Y] ā
Skills: [X/Y] ā
Agents: [N] ā
Cross-references: [Status]
GitHub templates: [X/4] ā
Issues Found: [count]
[List any issues]
Recommendations:
[If issues found, suggest fixes]
Documentation Verification Report
===================================
ā Rule count matches: 8 rules
ā Player struct found in correct locations
ā Skill count matches: 19 skills
ā All cross-references valid
ā Agents: 6 files
ā architect
ā bug-hunter
ā code-reviewer
ā game-designer
ā play-tester
ā test-runner
ā GitHub templates: 4/4 ā
ā bug_report.md
ā feature_request.md
ā task.md
ā config.yml
ā labels.json (16 labels defined)
Issues Found: 0
Last verified: 2026-01-25 18:45:00
Status: All checks passed ā
Before committing documentation changes:
/docs-verify
ā Ensure all references are consistent
After adding new skill:
/docs-verify
ā Check skill count matches CLAUDE.md
Weekly maintenance:
/docs-verify
ā Catch any drift or inconsistencies
/docs-update to fix issues found