/audit
Audit the knowledge base for quality issues: missing frontmatter, broken links, tag inconsistencies, orphaned files, and coverage gaps. Works on any markdown-heavy project.
Steps
Parse focus area from $ARGUMENTS (optional). If provided, focus on that area (e.g., "tags", "frontmatter", "links"). If empty, run full audit.
Find all markdown files: Use Glob to find all .md files, excluding common non-content directories: .venv/, node_modules/, .git/, archive/, .archive_old/.
Frontmatter audit: First, scan a sample of existing files (first 10-20) to detect the frontmatter schema in use (which fields exist, what values are common for type and status). Then for each markdown file, check:
- Has YAML frontmatter (starts with
--- and has closing ---)
- Core fields present:
title, tags (and any other fields consistently used across the KB)
type and status values (if used) are consistent with the detected schema
tags is a non-empty list
Track files missing frontmatter and files with incomplete/invalid frontmatter.
Link check: Look for broken internal links:
- Grep for markdown links
\[.*\]\(.*\.md\) and verify each target file exists
- If a link-checking script exists in the project (e.g.,
scripts/check_links.py), run it as well
Tag consistency audit: Use Grep to find all tags: sections across .md files. Look for:
- Near-duplicate tags (e.g., "ai" vs "AI" vs "artificial-intelligence")
- Tags used only once (potential typos)
- Very common tags that might be too broad
List all unique tags with counts.
Orphaned files: Check which files are NOT referenced in any other file's related: field. Files that exist but are never cross-referenced may be orphaned.
Content quality: Find documents that appear to be ideas or opportunities (based on detected type field or directory location) and check:
- Documents still in
draft status for more than 30 days
- Documents missing key metadata fields that other similar documents have
- Documents with very little content (< 100 words, excluding frontmatter)
Coverage gaps: Check each directory for content:
- Flag any empty or near-empty directories
- Look for directories with only 1-2 files (may need more content)
Output report:
## KB Audit Report
**Date:** [today]
### Summary
- Total .md files: X
- With frontmatter: X (X%)
- Without frontmatter: X
### Frontmatter Issues
| File | Issue |
|------|-------|
| path | Missing field: type |
### Broken Links
[list of broken references]
### Tag Analysis
- Total unique tags: X
- Single-use tags: [list]
- Potential duplicates: [list]
### Orphaned Files
[files not referenced anywhere]
### Content Quality
- Stale drafts (> 30 days): [list]
- Missing metadata: [list]
- Low-content files: [list]
### Coverage
[directory analysis]
### Recommendations
1. [specific action]
2. [specific action]
3. [specific action]
Common Issues
No markdown files found
Cause: Running in wrong directory or all files excluded.
Fix: Ensure you're in the knowledge base root. Check exclude patterns in step 2.
Too many single-use tags
Cause: Inconsistent tagging across documents.
Fix: Pick canonical tags from the most-used list. Run audit again after cleanup.
Frontmatter validation errors
Cause: YAML syntax issues (missing quotes, wrong indentation).
Fix: Ensure --- delimiters are present. Use type: and status: values consistent with your KB's detected schema.
1---2name: solo-audit3description: Health check knowledge base for broken links, missing frontmatter, tag inconsistencies, and coverage gaps. Use when user says "audit KB", "check frontmatter", "find broken links", "tag cleanup", or "knowledge base quality". Do NOT use for SEO audits (use /seo-audit) or code reviews.4license: MIT5---6
7# /audit
8
9Audit the knowledge base for quality issues: missing frontmatter, broken links, tag inconsistencies, orphaned files, and coverage gaps. Works on any markdown-heavy project.
10
11## Steps
12
131. **Parse focus area** from `$ARGUMENTS` (optional). If provided, focus on that area (e.g., "tags", "frontmatter", "links"). If empty, run full audit.
14
152. **Find all markdown files:** Use Glob to find all .md files, excluding common non-content directories: `.venv/`, `node_modules/`, `.git/`, `archive/`, `.archive_old/`.
16
173. **Frontmatter audit:** First, scan a sample of existing files (first 10-20) to detect the frontmatter schema in use (which fields exist, what values are common for `type` and `status`). Then for each markdown file, check:
18 - Has YAML frontmatter (starts with `---` and has closing `---`)
19 - Core fields present: `title`, `tags` (and any other fields consistently used across the KB)
20 - `type` and `status` values (if used) are consistent with the detected schema
21 - `tags` is a non-empty list
22 Track files missing frontmatter and files with incomplete/invalid frontmatter.
23
244. **Link check:** Look for broken internal links:
25 - Grep for markdown links `\[.*\]\(.*\.md\)` and verify each target file exists
26 - If a link-checking script exists in the project (e.g., `scripts/check_links.py`), run it as well
27
285. **Tag consistency audit:** Use Grep to find all `tags:` sections across .md files. Look for:
29 - Near-duplicate tags (e.g., "ai" vs "AI" vs "artificial-intelligence")
30 - Tags used only once (potential typos)
31 - Very common tags that might be too broad
32 List all unique tags with counts.
33
346. **Orphaned files:** Check which files are NOT referenced in any other file's `related:` field. Files that exist but are never cross-referenced may be orphaned.
35
367. **Content quality:** Find documents that appear to be ideas or opportunities (based on detected `type` field or directory location) and check:
37 - Documents still in `draft` status for more than 30 days
38 - Documents missing key metadata fields that other similar documents have
39 - Documents with very little content (< 100 words, excluding frontmatter)
40
418. **Coverage gaps:** Check each directory for content:
42 - Flag any empty or near-empty directories
43 - Look for directories with only 1-2 files (may need more content)
44
459. **Output report:**
46 ```
47 ## KB Audit Report
48
49 **Date:** [today]
50
51 ### Summary
52 - Total .md files: X
53 - With frontmatter: X (X%)
54 - Without frontmatter: X
55
56 ### Frontmatter Issues
57 | File | Issue |
58 |------|-------|
59 | path | Missing field: type |
60
61 ### Broken Links
62 [list of broken references]
63
64 ### Tag Analysis
65 - Total unique tags: X
66 - Single-use tags: [list]
67 - Potential duplicates: [list]
68
69 ### Orphaned Files
70 [files not referenced anywhere]
71
72 ### Content Quality
73 - Stale drafts (> 30 days): [list]
74 - Missing metadata: [list]
75 - Low-content files: [list]
76
77 ### Coverage
78 [directory analysis]
79
80 ### Recommendations
81 1. [specific action]
82 2. [specific action]
83 3. [specific action]
84 ```
85
86## Common Issues
87
88### No markdown files found
89**Cause:** Running in wrong directory or all files excluded.
90**Fix:** Ensure you're in the knowledge base root. Check exclude patterns in step 2.
91
92### Too many single-use tags
93**Cause:** Inconsistent tagging across documents.
94**Fix:** Pick canonical tags from the most-used list. Run audit again after cleanup.
95
96### Frontmatter validation errors
97**Cause:** YAML syntax issues (missing quotes, wrong indentation).
98**Fix:** Ensure `---` delimiters are present. Use `type:` and `status:` values consistent with your KB's detected schema.