Agent skill
validate-all
Run comprehensive validation on all site content. Use for daily health checks or before deployment.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/validate-all
SKILL.md
Validate All Content
Run comprehensive validation checks on The Unfinishable Map site content.
When to Use
- Daily automated health checks
- Before deploying to production
- After major content changes
- When
/validate-allis invoked
Instructions
Execute these validation steps in order:
1. Frontmatter Validation
Run the validation script:
uv run python scripts/validate.py hugo/content/ --strict
Report any validation errors or warnings.
2. Link Checking
Run the /check-links skill to verify all internal links are valid.
If the Hugo dev server is not running, note that link checking was skipped.
3. Orphan Detection
Find content files with no inbound links:
- Read all markdown files in
hugo/content/ - Extract all internal links from each file
- Identify files that are never linked to (except index files)
- Report orphaned content for human review
4. Stale Draft Detection
Find draft content older than 30 days:
- Find all files with
draft: truein frontmatter - Check the
createdormodifieddate - If older than 30 days, flag as stale
- Report stale drafts for human review
5. Length Analysis
Check article lengths against section-specific thresholds:
uv run python -c "
from pathlib import Path
from tools.curate.length import get_length_summary
summary = get_length_summary(Path('obsidian'))
print(f'Critical: {summary[\"critical_count\"]}')
print(f'Hard warnings: {summary[\"hard_warning_count\"]}')
print(f'Soft warnings: {summary[\"soft_warning_count\"]}')
for w in summary['worst_offenders'][:5]:
print(f' {w[\"path\"]}: {w[\"words\"]} words ({w[\"excess_percent\"]:.0f}%)')
"
Thresholds by section:
| Section | Target | Hard | Critical |
|---|---|---|---|
| concepts/ | 2500 | 3500 | 5000 |
| topics/ | 3000 | 4000 | 6000 |
| apex/ | 4000 | 5000 | 6500 |
| voids/ | 2000 | 3000 | 4000 |
Report critical and hard warnings. Note soft warnings only if concerning trend.
6. Log Results
Append results to obsidian/workflow/changelog.md with:
- Timestamp
- Status (Success/Warnings/Errors)
- Count of files validated
- Any errors or warnings found
- List of orphaned content (if any)
- List of stale drafts (if any)
Output Format
### HH:MM - validate-all
- **Status**: Success/Warnings/Errors
- **Files validated**: N
- **Errors**: List or "None"
- **Warnings**: List or "None"
- **Orphaned content**: List or "None"
- **Stale drafts**: List or "None"
**Length Warnings:**
| Status | Count | Worst |
|--------|-------|-------|
| Critical | N | filename.md (X%) |
| Hard | N | filename.md (X%) |
| Soft | N | (noted if >50% of articles) |
Important
- This skill is READ-ONLY for content files
- Only writes to
changelog.md - Does not modify any content
- Reports issues for human review
Didn't find tool you were looking for?