doc-review

Description: Multi-agent documentation quality review system that analyzes a single file or all files in a folder for data inconsistencies, reference errors, typos, and unclear terminology.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "doc-review" with this command: npx skills add vladm3105/aidoc-flow-framework/vladm3105-aidoc-flow-framework-doc-review

doc-review

Description: Multi-agent documentation quality review system that analyzes a single file or all files in a folder for data inconsistencies, reference errors, typos, and unclear terminology.

Category: Quality Assurance

Complexity: High (multi-agent coordination)

Purpose

Comprehensive documentation quality review using specialized sub-agents to detect:

  • Data inconsistencies: Contradictory information, wrong data, confusing content

  • Reference errors: Broken links, invalid cross-references, missing anchors

  • Typos and spelling: Misspellings, grammatical errors, formatting issues

  • Terminology issues: Undefined terms, inconsistent naming, ambiguous language

Analysis Modes

Mode Input Behavior

Single File /doc-review path/to/file.md

Analyzes one file in depth

Folder /doc-review path/to/folder/

Analyzes ALL files in folder together, including cross-file consistency

Folder mode provides additional cross-file checks:

  • Terminology consistency across all documents

  • Cross-document reference validation

  • Duplicate content detection across files

  • Consistent naming conventions

When to Use This Skill

Use doc-review when:

  • Reviewing documentation before publication

  • Validating files after batch creation

  • Performing quality audits on markdown/YAML files

  • Checking cross-reference integrity

  • Pre-commit quality validation

  • Reviewing a single file or entire folder

Do NOT use when:

  • Full traceability validation needed (use trace-check)

  • Code-specific review needed (use code-review)

  • Single document structure validation (use doc-*-validator skills)

Skill Inputs

Input Type Required Description Example

path string Yes Single file path or folder path to review ai_dev_flow/PRD/PRD-001.md , docs/EARS/

scope string No Review scope "full" (default), "quick" , "deep"

focus array No Specific checks to run ["data", "references", "typos", "terms"]

report_format string No Output format "markdown" (default), "json" , "summary"

auto_fix boolean No Attempt automatic fixes false (default)

Sub-Agent Architecture

The skill coordinates 4 specialized sub-agents that run in parallel:

graph TD A[doc-review Skill] --> B[Input: File or Folder] B --> C[File Discovery] C --> D[Parallel Sub-Agents]

D --> E[Data Consistency Agent]
D --> F[Reference Checker Agent]
D --> G[Typo Detection Agent]
D --> H[Terminology Agent]

E --> I[Merge Results]
F --> I
G --> I
H --> I

I --> J[Generate Report]
J --> K[Output: Quality Report]

Sub-Agent 1: Data Consistency Agent

Purpose: Detect inconsistent, wrong, or confusing information

Checks:

  • Contradictory statements within same document

  • Numerical inconsistencies (counts, dates, versions)

  • Status field mismatches (metadata vs content)

  • Duplicate content with variations

  • Logical contradictions

  • Outdated information markers

Detection Patterns:

data_consistency_checks: count_mismatch: pattern: "\d+ (requirements|items|sections)" validate: "count matches actual items" error_code: "DATA-E001"

status_mismatch: pattern: "Status:\s*(Draft|Approved|Implemented)" validate: "matches content maturity" error_code: "DATA-E002"

date_inconsistency: pattern: "\d{4}-\d{2}-\d{2}" validate: "Last Updated >= Created" error_code: "DATA-E003"

version_format: pattern: "Version:\s*[\d.]+" validate: "semantic versioning compliance" error_code: "DATA-E004"

duplicate_content: pattern: "similar paragraphs >80%" validate: "intentional or error" error_code: "DATA-W001"

Sub-Agent 2: Reference Checker Agent

Purpose: Validate all links, references, and cross-document connections

Checks:

  • Markdown link resolution (text )

  • Internal anchor existence (#section-id )

  • Cross-document reference validity

  • Relative path correctness

  • External URL accessibility (optional)

  • Traceability tag format (@brd: , @prd: , etc.)

Detection Patterns:

reference_checks: broken_link: pattern: "\[.?\]\(.?\)" validate: "target file exists" error_code: "REF-E001"

invalid_anchor: pattern: "\[.?\]\(.?#.*?\)" validate: "anchor exists in target" error_code: "REF-E002"

orphan_anchor: pattern: "^#{1,6}\s+.*$" validate: "has incoming references" error_code: "REF-W001"

relative_path: pattern: "\.\./|\./" validate: "path resolves correctly" error_code: "REF-E003"

tag_format: pattern: "@(brd|prd|ears|bdd|adr|sys|req|spec|impl|ctr|tasks):" validate: "follows TYPE.NN.TT.SS format" error_code: "REF-E004"

circular_reference: pattern: "A→B→...→A" validate: "no circular chains" error_code: "REF-E005"

Sub-Agent 3: Typo Detection Agent

Purpose: Find spelling errors, grammatical issues, and formatting problems

Checks:

  • Common misspellings

  • Technical term spelling

  • Capitalization inconsistencies

  • Punctuation errors

  • Whitespace issues

  • Markdown syntax errors

Detection Patterns:

typo_checks: common_misspellings: dictionary: "en_US + technical_terms" error_code: "TYPO-E001"

case_inconsistency: pattern: "same term, different cases" examples: ["GitHub/github", "API/api", "JavaScript/Javascript"] error_code: "TYPO-W001"

double_words: pattern: "\b(\w+)\s+\1\b" error_code: "TYPO-E002"

markdown_syntax: patterns: - "unclosed_code_block" - "mismatched_brackets" - "broken_table" error_code: "TYPO-E003"

punctuation: patterns: - "double_period: \.\." - "space_before_comma: \s," - "missing_space_after_period: \.[A-Z]" error_code: "TYPO-W002"

whitespace: patterns: - "trailing_whitespace" - "multiple_blank_lines" - "tabs_vs_spaces" error_code: "TYPO-W003"

Sub-Agent 4: Terminology Agent

Purpose: Identify unclear, undefined, or inconsistent terminology

Checks:

  • Undefined acronyms

  • Inconsistent term usage

  • Ambiguous language

  • Jargon without definition

  • Conflicting definitions

  • Domain-specific term validation

Detection Patterns:

terminology_checks: undefined_acronym: pattern: "\b[A-Z]{2,}\b" validate: "defined on first use or in glossary" error_code: "TERM-E001"

inconsistent_naming: examples: - "user/User/USER" - "login/sign-in/authenticate" - "config/configuration/settings" error_code: "TERM-E002"

ambiguous_terms: flagged_words: - "it" - "this" - "that" - "they" context: "unclear antecedent" error_code: "TERM-W001"

subjective_qualifiers: flagged_words: - "easy" - "simple" - "fast" - "efficient" - "powerful" context: "lacks quantification" error_code: "TERM-W002"

undefined_jargon: pattern: "domain-specific terms without definition" error_code: "TERM-W003"

conflicting_definitions: pattern: "same term, different meanings" error_code: "TERM-E003"

Workflow Execution

Step 1: File Discovery

Expand path/pattern to file list

def discover_files(path_pattern): if is_glob_pattern(path_pattern): return glob.glob(path_pattern, recursive=True) elif os.path.isfile(path_pattern): return [path_pattern] elif os.path.isdir(path_pattern): return glob.glob(f"{path_pattern}/**/*.md", recursive=True) else: raise FileNotFoundError(f"Path not found: {path_pattern}")

Step 2: Launch Parallel Sub-Agents

Launch 4 sub-agents in parallel using Task tool

async def run_review(files, scope, focus): tasks = []

if "data" in focus or focus == "all":
    tasks.append(Task(
        subagent_type="general-purpose",
        prompt=f"Review files for data consistency: {files}",
        description="Data consistency check"
    ))

if "references" in focus or focus == "all":
    tasks.append(Task(
        subagent_type="general-purpose",
        prompt=f"Validate all references and links: {files}",
        description="Reference validation"
    ))

if "typos" in focus or focus == "all":
    tasks.append(Task(
        subagent_type="general-purpose",
        prompt=f"Check for typos and formatting: {files}",
        description="Typo detection"
    ))

if "terms" in focus or focus == "all":
    tasks.append(Task(
        subagent_type="general-purpose",
        prompt=f"Validate terminology consistency: {files}",
        description="Terminology review"
    ))

# Run all tasks in parallel
results = await asyncio.gather(*tasks)
return merge_results(results)

Step 3: Merge and Prioritize Results

def merge_results(agent_results): merged = { "errors": [], # Severity: ERROR (must fix) "warnings": [], # Severity: WARNING (should fix) "info": [], # Severity: INFO (consider) "stats": {} }

for result in agent_results:
    merged["errors"].extend(result.get("errors", []))
    merged["warnings"].extend(result.get("warnings", []))
    merged["info"].extend(result.get("info", []))

# Deduplicate and sort by severity
merged["errors"] = deduplicate(merged["errors"])
merged["warnings"] = deduplicate(merged["warnings"])

return merged

Step 4: Generate Report

Output format based on report_format parameter.

Error Codes Reference

Data Consistency (DATA)

Code Severity Description Auto-Fix

DATA-E001 ERROR Count mismatch (stated vs actual) Yes

DATA-E002 ERROR Status/content maturity mismatch Manual

DATA-E003 ERROR Date inconsistency Yes

DATA-E004 ERROR Invalid version format Yes

DATA-W001 WARNING Potential duplicate content Manual

DATA-W002 WARNING Outdated information marker Manual

References (REF)

Code Severity Description Auto-Fix

REF-E001 ERROR Broken link (file not found) Manual

REF-E002 ERROR Invalid anchor Manual

REF-E003 ERROR Relative path error Yes

REF-E004 ERROR Invalid traceability tag format Yes

REF-E005 ERROR Circular reference detected Manual

REF-W001 WARNING Orphan anchor (no incoming refs) Manual

Typos (TYPO)

Code Severity Description Auto-Fix

TYPO-E001 ERROR Misspelled word Yes

TYPO-E002 ERROR Double word Yes

TYPO-E003 ERROR Markdown syntax error Manual

TYPO-W001 WARNING Case inconsistency Manual

TYPO-W002 WARNING Punctuation issue Yes

TYPO-W003 WARNING Whitespace issue Yes

Terminology (TERM)

Code Severity Description Auto-Fix

TERM-E001 ERROR Undefined acronym Manual

TERM-E002 ERROR Inconsistent term usage Manual

TERM-E003 ERROR Conflicting definitions Manual

TERM-W001 WARNING Ambiguous pronoun Manual

TERM-W002 WARNING Subjective qualifier Manual

TERM-W003 WARNING Undefined jargon Manual

Usage Examples

Example 1: Review Single File

/doc-review ai_dev_flow/EARS/EARS_CREATION_RULES.md

Output:

=== Documentation Review Report === File: ai_dev_flow/EARS/EARS_CREATION_RULES.md Mode: Single File Scope: full

Data Consistency: 2 issues [DATA-E001] Line 547: States "total_requirements: 135" but only 130 found [DATA-W001] Line 89-95: Similar content to lines 105-111

References: 1 issue [REF-E002] Line 137: Anchor #cross-reference-link-format-mandatory not found

Typos: 0 issues

Terminology: 1 issue [TERM-W002] Line 26: "Complete reference" - subjective qualifier

Summary: 4 issues (2 errors, 2 warnings)

Example 2: Review All Files in Folder

/doc-review docs/EARS/

Output:

=== Documentation Review Report === Folder: docs/EARS/ Mode: Folder (all files together) Files analyzed: 12 Scope: full

Cross-File Analysis: [TERM-E002] Inconsistent term: "requirement" vs "EARS requirement" across 4 files [REF-E001] Broken cross-reference: EARS-001.md → EARS-005.md#section-missing

Per-File Issues: EARS-001.md: 2 errors, 1 warning EARS-002.md: 0 errors, 3 warnings ...

Summary: 8 errors, 15 warnings across 12 files

Example 3: Focus on Specific Checks

/doc-review ai_dev_flow/PRD/ --focus references,typos

Example 4: Quick Pre-Commit Check

/doc-review docs/ --scope quick --report_format summary

Output:

Quick Review: docs/ Files scanned: 87 Errors: 3 Warnings: 12 Status: NEEDS ATTENTION (fix errors before commit)

Integration Points

With Other Skills

Skill Integration

trace-check Shares reference validation logic

doc-validator Complementary (cross-doc vs single-file)

quality-advisor Real-time vs batch validation

code-review Source code vs documentation focus

With CI/CD

.github/workflows/docs-review.yml

name: Documentation Review

on: [pull_request]

jobs: doc-review: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Run doc review run: | claude-code /doc-review docs/ --scope quick --report_format json > review.json - name: Check for errors run: | if jq '.errors | length > 0' review.json; then echo "Documentation errors found" exit 1 fi

Quality Gates

Definition of Done

  • All ERROR-level issues resolved

  • WARNING-level issues reviewed and addressed or justified

  • No broken links

  • All acronyms defined

  • Terminology consistent across documents

  • No typos in headers or critical content

Severity Thresholds

Scope Errors Allowed Warnings Allowed

quick 0 10

full 0 5

deep 0 0

Sub-Agent Prompts

Data Consistency Agent Prompt

You are a data consistency reviewer. Analyze the following file(s) for:

  1. Count Mismatches: Find stated counts that don't match actual items

    • "N requirements" should match actual requirement count
    • "N sections" should match actual section count
  2. Status Inconsistencies: Check metadata vs content alignment

    • Status: Approved but content has TBD markers
    • Version mismatches between header and changelog
  3. Date Inconsistencies: Validate date logic

    • Last Updated should be >= Created date
    • Referenced dates should be valid
  4. Duplicate Content: Flag similar paragraphs that may be errors

Output format: JSON with error_code, line_number, description, severity

Reference Checker Agent Prompt

You are a reference validation expert. Analyze the following file(s) for:

  1. Broken Links: Verify all markdown links resolve

    • text - file exists
    • text - anchor exists
  2. Invalid Cross-References: Check traceability tags

    • @brd: BRD.NN.TT.SS format
    • @prd: PRD.NN.TT.SS format
    • Document referenced must exist
  3. Relative Path Errors: Validate ../ paths resolve correctly

  4. Orphan Anchors: Find headers with no incoming links (optional)

Output format: JSON with error_code, line_number, target, description, severity

Typo Detection Agent Prompt

You are a proofreading expert. Analyze the following file(s) for:

  1. Spelling Errors: Common misspellings and technical terms

    • Use standard English dictionary + technical glossary
    • Flag words not in either
  2. Markdown Syntax: Validate proper formatting

    • Unclosed code blocks
    • Mismatched brackets/parentheses
    • Broken table syntax
  3. Punctuation Issues: Common punctuation errors

    • Double periods, missing spaces after periods
    • Comma usage
  4. Whitespace Problems: Formatting consistency

    • Trailing whitespace
    • Multiple blank lines
    • Inconsistent indentation

Output format: JSON with error_code, line_number, word/pattern, suggestion, severity

Terminology Agent Prompt

You are a terminology consistency expert. Analyze the following file(s) for:

  1. Undefined Acronyms: Find uppercase abbreviations without definitions

    • Check if defined on first use
    • Check if in glossary section
  2. Inconsistent Naming: Same concept, different names

    • user/User/USER
    • login/sign-in/authenticate
    • Build term consistency map
  3. Ambiguous Language: Unclear references

    • Pronouns with unclear antecedents (it, this, that)
    • Vague quantifiers (some, many, few)
  4. Subjective Qualifiers: Unmeasurable claims

    • "easy to use", "fast", "efficient"
    • "simple configuration"

Output format: JSON with error_code, line_number, term, issue, suggestion, severity

Configuration

Custom Dictionary

Add project-specific terms to skip false positives:

.doc-review.yaml

custom_dictionary:

  • "EARS"
  • "BDD"
  • "ADR"
  • "Gherkin"
  • "SDD"
  • "traceability"

ignored_patterns:

  • "node_modules/"
  • "*.min.js"
  • "vendor/"

severity_overrides: TERM-W002: "INFO" # Downgrade subjective qualifiers to INFO

Performance

Benchmarks

Files Scope Time Memory

10 quick <5s 50MB

50 full <30s 200MB

100 deep <60s 400MB

Optimization

  • Parallel sub-agents reduce wall-clock time by ~60%

  • Caching of dictionary lookups

  • Incremental mode for changed files only

Limitations

  • Cannot understand semantic meaning deeply (may miss logical contradictions)

  • May produce false positives for domain-specific terminology

  • External URL validation requires network access

  • Auto-fix limited to simple patterns (typos, formatting)

  • Complex reference chains require manual review

Version Information

Version: 1.0.0 Created: 2026-01-01 Status: Active Author: AI Dev Flow Framework

Change Log:

  • 1.1.0 (2026-01-01): Renamed to doc-review, clarified analysis modes

  • Single file mode: deep analysis of one file

  • Folder mode: analyze all files together with cross-file checks

  • Added cross-file consistency checks in folder mode

  • 1.0.0 (2026-01-01): Initial release as file-review with 4 sub-agents

  • Data consistency checking

  • Reference validation

  • Typo detection

  • Terminology review

  • Parallel execution support

  • Multiple output formats

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

n8n

No summary provided by upstream source.

Repository SourceNeeds Review
General

google-adk

No summary provided by upstream source.

Repository SourceNeeds Review
General

doc-prd

No summary provided by upstream source.

Repository SourceNeeds Review