Documentation verification for 3-Tier system - validates line limits, cross-references, file counts
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: docs-verify
description: Documentation verification for 3-Tier system - validates line limits, cross-references, file counts
---
# SKILL: Documentation Verification
> **Purpose**: Validate 3-Tier documentation system compliance - line limits, cross-references, file counts
---
## Quick Start
### When to Use
- After closing plan (`/03_close`)
- After running `/document`
- Before committing documentation changes
### Quick Reference
```bash
# Pure bash link check (no external deps)
for file in CLAUDE.md docs/ai-context/*.md; do
[ -f "$file" ] || continue
grep -oE '@[^][:space:]]+' "$file" | while read ref; do
ref_path="${ref#@}"
[ ! -e "$ref_path" ] && echo "Broken: $ref in $file"
done
done
```
---
## Change Detection (MANDATORY FIRST STEP)
**Before running verification, check if docs changed**:
```bash
# Get changed markdown files (with fallback)
CHANGED_MD=$(git diff --name-only HEAD~1 -- "*.md" 2>/dev/null || git diff --name-only -- "*.md" 2>/dev/null || echo "FALLBACK_FULL_VERIFY")
# Fallback: If git diff fails, run full verification
if [ "$CHANGED_MD" = "FALLBACK_FULL_VERIFY" ]; then
echo "Cannot detect changes, running full verification"
CHANGED_MD=$(find . -name "*.md" -type f ! -path "*/.git/*" ! -path "*/.trash/*")
fi
if [ -z "$CHANGED_MD" ]; then
echo "No markdown files changed"
echo "Skipping documentation verification"
exit 0
fi
echo "Changed markdown files:"
echo "$CHANGED_MD"
```
---
## Core Concepts
### 3-Tier System
**Tier 1** (3 files, ≤200 lines each):
- `CLAUDE.md` - Project architecture, features, Quick Start
- `docs/ai-context/project-structure.md` - Tech stack, file tree
- `docs/ai-context/docs-overview.md` - Documentation navigation
**Tier 2**: Component CONTEXT.md files (unlimited)
**Tier 3**: Feature-specific CONTEXT.md files
---
## Verification Checks
### 1. Tier 1 Line Limits (Changed Files Only)
**Limit**: ≤200 lines per file
```bash
TIER1_FILES=(
"CLAUDE.md"
"docs/ai-context/project-structure.md"
"docs/ai-context/docs-overview.md"
)
for file in "${TIER1_FILES[@]}"; do
# Only check if file was changed
if echo "$CHANGED_MD" | grep -q "$file"; then
LINES=$(wc -l < "$file" | tr -d ' ')
if [ "$LINES" -gt 200 ]; then
echo "FAIL: $file has $LINES lines (limit: 200)"
exit 1
fi
echo "$file: $LINES lines"
fi
done
```
**On violation**: Extract content to Tier 2 CONTEXT.md files
### 2. Tier 1 File Count (CRITICAL)
**Limit**: Exactly 2 files in `docs/ai-context/`
```bash
COUNT=$(find docs/ai-context -maxdepth 1 -name "*.md" -type f | wc -l | tr -d ' ')
if [ "$COUNT" -ne 2 ]; then
echo "FAIL: docs/ai-context/ has $COUNT files (expected: 2)"
exit 1
fi
```
### 3. Cross-Reference Validation (Changed Files Only)
```bash
# Only validate changed files
for file in $CHANGED_MD; do
[ -f "$file" ] || continue
grep -oE '@\.(claude|docs)/[^][:space:]]+' "$file" 2>/dev/null | while read ref; do
ref_path="${ref#@}"
ref_path="${ref_path%[\`\*\]\"]}"
if [ ! -e "$ref_path" ]; then
echo "Broken reference: $ref in $file"
fi
done
done
```
### 4. Circular Reference Detection
```bash
# Check for self-references (A → A)
find . -name "*.md" ! -path "*/REFERENCE.md" ! -path "*/.git/*" | while read file; do
refs=$(grep -oE '@\.(claude|docs)/[^)[:space:]+' "$file" || true)
for ref in $refs; do
if [ "${ref#@}" = "$file" ]; then
echo "Self-reference: $file"
fi
done
done
```
### 5. Skill Count Validation
```bash
ACTUAL=$(find .claude/skills -name "SKILL.md" | wc -l | tr -d ' ')
STATED=$(grep -oE '\*\*[0-9]+ Skills\*\*' README.md | grep -oE '[0-9]+' || echo "0")
if [ "$ACTUAL" -ne "$STATED" ]; then
echo "WARNING: Skill count mismatch - README: $STATED, actual: $ACTUAL"
fi
```
---
## Integration Pattern
### In Commands
```markdown
## Step 3: Documentation Verification
Invoke the `docs-verify` skill to validate documentation compliance.
The skill checks:
- Tier 1 line limits (≤200 lines)
- Tier 1 file count (exactly 2 in ai-context/)
- Cross-reference validity
- Circular references
```
Claude reads this skill file and executes the bash commands inline.
---
## Related Skills
**three-tier-docs**: Full 3-Tier documentation system | **vibe-coding**: File size standards
---
**Version**: claude-pilot 4.4.14
No comments yet. Be the first to comment!