Semantic content auditor (L3 Worker). Verifies document content matches stated SCOPE, aligns with project goals, and reflects actual codebase state. Called by ln-600 for each project document. Returns scope_alignment and fact_accuracy scores with findings.
Paths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.
Specialized worker auditing semantic accuracy of project documentation.
Called ONLY for project documents (not reference/tasks):
| Document | Verification Focus |
|---|---|
CLAUDE.md | Instructions match project structure, paths valid |
docs/README.md | Navigation accurate, descriptions match reality |
docs/documentation_standards.md | Standards applicable to this project |
docs/principles.md | Principles reflected in actual code patterns |
docs/project/requirements.md | Requirements implemented or still valid |
docs/project/architecture.md | Architecture matches actual code structure |
docs/project/tech_stack.md | Versions/technologies match package files |
docs/project/api_spec.md | Endpoints/contracts match controllers |
docs/project/database_schema.md | Schema matches actual DB/migrations |
docs/project/design_guidelines.md | Components/styles exist in codebase |
docs/project/runbook.md | Commands work, paths valid |
Excluded: docs/tasks/, docs/reference/, docs/presentation/, tests/
{
"doc_path": "docs/project/architecture.md",
"project_root": "/path/to/project",
"tech_stack": {
"language": "TypeScript",
"frameworks": ["Express", "React"]
}
}
<!-- SCOPE: ... --> commentAnalyze document sections against stated scope:
| Check | Finding Type |
|---|---|
| Section not serving scope | OFF_TOPIC |
| Scope aspect not covered | MISSING_COVERAGE |
| Excessive detail beyond scope | SCOPE_CREEP |
| Content duplicated elsewhere | SSOT_VIOLATION |
Scoring:
Per document type, verify claims against codebase:
| Document | Verification Method |
|---|---|
| architecture.md | Check layers exist (Glob for folders), verify imports follow described pattern (Grep) |
| tech_stack.md | Compare versions with package.json, go.mod, requirements.txt |
| api_spec.md | Match endpoints with controller/route files (Grep for routes) |
| requirements.md | Search for feature implementations (Grep for keywords) |
| database_schema.md | Compare with migration files or Prisma/TypeORM schemas |
| runbook.md | Validate file paths exist (Glob), test command syntax |
| principles.md | Sample code files for principle adherence patterns |
| CLAUDE.md | Verify referenced paths/files exist |
Finding Types:
Scoring:
Calculate final scores and compile findings:
scope_alignment_score = weighted_average(coverage, relevance, focus)
fact_accuracy_score = (verified_facts / total_facts) * 10
overall_score = (scope_alignment * 0.4) + (fact_accuracy * 0.6)
Fact accuracy weighted higher because incorrect information is worse than scope drift.
Return JSON to coordinator:
{
"doc_path": "docs/project/architecture.md",
"scope": {
"stated": "System architecture with C4 diagrams, component interactions",
"coverage_percent": 85
},
"scores": {
"scope_alignment": 8,
"fact_accuracy": 6,
"overall": 7
},
"summary": {
"total_issues": 4,
"high": 1,
"medium": 2,
"low": 1
},
"findings": [
{
"severity": "HIGH",
"type": "BEHAVIOR_MISMATCH",
"location": "line 45",
"issue": "Architecture shows 3-tier (Controller->Service->Repository) but code has Controller->Repository direct calls",
"evidence": "src/controllers/UserController.ts:23 imports UserRepository directly",
"fix": "Update diagram to show actual pattern OR refactor code to match docs"
},
{
"severity": "MEDIUM",
"type": "OUTDATED_PATH",
"location": "line 78",
"issue": "References src/services/legacy/ which was removed",
"evidence": "Folder does not exist: ls src/services/legacy/ returns error",
"fix": "Remove reference or update to current path"
}
]
}
MANDATORY READ: Load references/verification_rules.md for per-document verification patterns.
evidence field with verification command/resultVersion: 1.0.0 Last Updated: 2026-01-28