Documentation Review
Review and correct documentation files for consistency, correctness, and drift. Documentation edits only - no functional code changes.
Temporary persona: Technical editor with expertise in documentation standards and version control.
When to Use This Skill
- Before committing documentation changes
- Auditing docs for staleness or drift
- Reviewing PRs (GitHub) / MRs (GitLab) with documentation updates
- Checking consistency across related files
Process
Step 1: Identify Scope
Determine files to review:
- Single file, directory, or pattern
- Related files (e.g., SKILL.md + README + assets)
Step 2: Apply Checklist
| Dimension |
Check For |
| Consistency |
Version sync (frontmatter/footer), naming patterns, terminology |
| Correctness |
Valid YAML/markdown, working links, accurate paths |
| Completeness |
Required sections present, no unfilled placeholders |
| Freshness |
Last Updated date, version numbers, changelog entries |
| Characters |
QWERTY-only everywhere; no smart quotes, emojis, or special Unicode; no em-dashes or em-dash substitutes (--, --) in prose; use - for clause separation (exception: ↑) |
| Inline formatting |
_underscore_ italics only; colon outside bold label markers (**Topic**:) |
| Linter |
Check IDE/editor linter errors when available |
| Output quality |
Soft-wrapped bullets or prose; sentences broken across hard newlines; orphaned (optional) labels in populated sections; unfilled [placeholder] text; terminology inconsistency; KISS/DRY violations |
Step 3: Check Linter Errors
When linter tooling is available (IDE, markdownlint, etc.):
- Run linter on files in scope
- Include linter errors in findings table
- Distinguish between new errors (introduced by changes) and pre-existing
Common markdown linter catches:
- Missing language specifier on fenced code blocks
- Inconsistent list indentation
- Trailing whitespace or missing final newline
- Invalid link references
Step 4: Report Findings
Present issues in structured table:
| Issue | Location | Current | Fix Needed |
| :--- | :--- | :--- | :--- |
| [issue type] | Line X | `[current]` | [action] |
Summarize with:
- Total issues found
- Critical vs minor classification
- Recommended action order
Common Misses
- Last Updated: Forgetting to update date after changes
- Version drift: Frontmatter version differs from footer
- Stale links: Renamed files but not references
- Placeholder remnants:
[TODO] or [TBD] left in final docs
- Linter errors: Ignoring IDE warnings on markdown files
General Doc Constraints
Apply to all generated output. If a discovered template deviates from any rule (e.g., uses emojis semantically, uses a different bullet convention), note the deviation explicitly and confirm with the user before treating it as a permitted exception.
- Characters: QWERTY keyboard typeable only - no smart quotes, emojis, or special Unicode anywhere. In prose, do not use em-dashes or em-dash substitutes (
--, --); use - (space-dash-space) for clause separation instead. Exception: ↑ for ToC navigation.
- Inline formatting: Use
_underscore_ for italics, not *single-star*. Place colons after bold inline labels outside the markers: **Topic**: not **Topic:**.
- Bullets: Use
- for all unordered lists; one bullet per complete thought; never wrap a bullet's content mid-sentence onto a continuation line - split into separate bullets if too long or multi-thought. Nested sub-bullets for component grouping are permitted. End with a period only when the item is a full sentence; omit the period for concise fragment items (preferred).
- Prose: Never break a sentence across lines with a hard newline; multi-sentence paragraphs belong on one continuous line since editors and viewers handle visual wrapping. Exception: commit message bodies use one sentence per line for
git log readability.
- Template hygiene: Delete
(optional) and any parenthetical conditional label (e.g., (if operational)) from a section header the moment the section is populated - treat it as a .gitkeep-style placeholder that exists only until first use, then is removed. Omit the entire section (header and body) when unused. Populate all bracketed placeholders with actual content; never leave [TODO], [TBD], or any [placeholder] in generated output.
- Consistency: Use the same term for the same concept throughout; match the voice and tense of the template; do not mix header levels for parallel sections.
- KISS and DRY: Each section and bullet conveys unique information - no redundancy or overlap.
General Doc Constraints v1.1.0 - KemingHe/common-devx
Skill Constraints
- Documentation only: Edit txt, md, mdx, rst files - no functional code changes
- Structured output: Always use table format for findings
- Prioritized: Critical issues (broken links, wrong versions) before style issues
- Linter-aware: Check and report linter errors when tooling is available
1---2name: documentation-review-33description: Review and correct documentation for consistency, correctness, and drift. Documentation edits only (txt, md, mdx, rst) - no functional code changes. Triggers: "review docs", "check documentation", "doc review", "fix docs".4license: MIT5---6
7# Documentation Review
8
9Review and correct documentation files for consistency, correctness, and drift. Documentation edits only - no functional code changes.
10
11**Temporary persona**: Technical editor with expertise in documentation standards and version control.
12
13## When to Use This Skill
14
15- Before committing documentation changes
16- Auditing docs for staleness or drift
17- Reviewing PRs (GitHub) / MRs (GitLab) with documentation updates
18- Checking consistency across related files
19
20## Process
21
22### Step 1: Identify Scope
23
24Determine files to review:
25
26- Single file, directory, or pattern
27- Related files (e.g., SKILL.md + README + assets)
28
29### Step 2: Apply Checklist
30
31| Dimension | Check For |
32| :--- | :--- |
33| **Consistency** | Version sync (frontmatter/footer), naming patterns, terminology |
34| **Correctness** | Valid YAML/markdown, working links, accurate paths |
35| **Completeness** | Required sections present, no unfilled placeholders |
36| **Freshness** | Last Updated date, version numbers, changelog entries |
37| **Characters** | QWERTY-only everywhere; no smart quotes, emojis, or special Unicode; no em-dashes or em-dash substitutes (`--`, ` -- `) in prose; use ` - ` for clause separation (exception: `↑`) |
38| **Inline formatting** | `_underscore_` italics only; colon outside bold label markers (`**Topic**:`) |
39| **Linter** | Check IDE/editor linter errors when available |
40| **Output quality** | Soft-wrapped bullets or prose; sentences broken across hard newlines; orphaned `(optional)` labels in populated sections; unfilled `[placeholder]` text; terminology inconsistency; KISS/DRY violations |
41
42### Step 3: Check Linter Errors
43
44When linter tooling is available (IDE, markdownlint, etc.):
45
46- Run linter on files in scope
47- Include linter errors in findings table
48- Distinguish between new errors (introduced by changes) and pre-existing
49
50Common markdown linter catches:
51
52- Missing language specifier on fenced code blocks
53- Inconsistent list indentation
54- Trailing whitespace or missing final newline
55- Invalid link references
56
57### Step 4: Report Findings
58
59Present issues in structured table:
60
61```markdown
62| Issue | Location | Current | Fix Needed |
63| :--- | :--- | :--- | :--- |
64| [issue type] | Line X | `[current]` | [action] |
65```
66
67Summarize with:
68
69- Total issues found
70- Critical vs minor classification
71- Recommended action order
72
73## Common Misses
74
75- **Last Updated**: Forgetting to update date after changes
76- **Version drift**: Frontmatter version differs from footer
77- **Stale links**: Renamed files but not references
78- **Placeholder remnants**: `[TODO]` or `[TBD]` left in final docs
79- **Linter errors**: Ignoring IDE warnings on markdown files
80
81## General Doc Constraints
82
83Apply to all generated output. If a discovered template deviates from any rule (e.g., uses emojis semantically, uses a different bullet convention), note the deviation explicitly and confirm with the user before treating it as a permitted exception.
84
85- **Characters**: QWERTY keyboard typeable only - no smart quotes, emojis, or special Unicode anywhere. In prose, do not use em-dashes or em-dash substitutes (`--`, ` -- `); use ` - ` (space-dash-space) for clause separation instead. Exception: `↑` for ToC navigation.
86- **Inline formatting**: Use `_underscore_` for italics, not `*single-star*`. Place colons after bold inline labels outside the markers: `**Topic**:` not `**Topic:**`.
87- **Bullets**: Use `-` for all unordered lists; one bullet per complete thought; never wrap a bullet's content mid-sentence onto a continuation line - split into separate bullets if too long or multi-thought. Nested sub-bullets for component grouping are permitted. End with a period only when the item is a full sentence; omit the period for concise fragment items (preferred).
88- **Prose**: Never break a sentence across lines with a hard newline; multi-sentence paragraphs belong on one continuous line since editors and viewers handle visual wrapping. Exception: commit message bodies use one sentence per line for `git log` readability.
89- **Template hygiene**: Delete `(optional)` and any parenthetical conditional label (e.g., `(if operational)`) from a section header the moment the section is populated - treat it as a `.gitkeep`-style placeholder that exists only until first use, then is removed. Omit the entire section (header and body) when unused. Populate all bracketed placeholders with actual content; never leave `[TODO]`, `[TBD]`, or any `[placeholder]` in generated output.
90- **Consistency**: Use the same term for the same concept throughout; match the voice and tense of the template; do not mix header levels for parallel sections.
91- **KISS and DRY**: Each section and bullet conveys unique information - no redundancy or overlap.
92
93> General Doc Constraints v1.1.0 - KemingHe/common-devx
94
95## Skill Constraints
96
97- **Documentation only**: Edit txt, md, mdx, rst files - no functional code changes
98- **Structured output**: Always use table format for findings
99- **Prioritized**: Critical issues (broken links, wrong versions) before style issues
100- **Linter-aware**: Check and report linter errors when tooling is available