solo-audit
Use when "audit KB", "check frontmatter", "find broken links", "tag cleanup", "knowledge base quality", or docs need health check. Do NOT use for SEO audits (/seo-audit) or code reviews (/review).
Install
npx skills add https://github.com/fortunto2/solo-factory/tree/main/skills/audit
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install fortunto2-solo-factory@llmmart
git clone https://github.com/fortunto2/solo-factory.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole fortunto2/solo-factory collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
/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
typeandstatus). 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) typeandstatusvalues (if used) are consistent with the detected schematagsis a non-empty list Track files missing frontmatter and files with incomplete/invalid frontmatter.
- Has YAML frontmatter (starts with
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
- Grep for markdown links
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
typefield or directory location) and check:- Documents still in
draftstatus for more than 30 days - Documents missing key metadata fields that other similar documents have
- Documents with very little content (< 100 words, excluding frontmatter)
- Documents still in
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]
Gotchas
- Single-use tags are not always typos — a tag used once might be intentional (e.g.,
event-2026for a specific event). Flag but don't auto-merge without checking context. - Orphaned files may be intentional archives — files in
3-inbox/or4-opportunities/are often standalone by design. Only flag orphans in methodology or principles directories. - Frontmatter schemas drift across directories —
0-principles/usestype: principle,3-inbox/usestype: capture. Detect per-directory norms, don't enforce one schema globally. related:field is not authoritative — many valid cross-references exist as inline markdown links[text](path.md), not just YAMLrelated:arrays. Check both.- Empty directories may be placeholders —
5-active-projects/or6-companies/might be empty by design (populated by automation). Checkregistry.yamlor Makefile before flagging.
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.
Files (solo-factory)
-
SKILL.md 5 KB
--- name: solo-audit description: Use when "audit KB", "check frontmatter", "find broken links", "tag cleanup", "knowledge base quality", or docs need health check. Do NOT use for SEO audits (/seo-audit) or code reviews (/review). license: MIT metadata: author: fortunto2 version: "1.4.1" openclaw: emoji: "🩺" allowed-tools: Read, Grep, Bash, Glob, mcp__solograph__kb_search argument-hint: "[optional: focus area like 'tags' or 'frontmatter']" --- # /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 1. **Parse focus area** from `$ARGUMENTS` (optional). If provided, focus on that area (e.g., "tags", "frontmatter", "links"). If empty, run full audit. 2. **Find all markdown files:** Use Glob to find all .md files, excluding common non-content directories: `.venv/`, `node_modules/`, `.git/`, `archive/`, `.archive_old/`. 3. **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. 4. **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 5. **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. 6. **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. 7. **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) 8. **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) 9. **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] ``` ## Gotchas 1. **Single-use tags are not always typos** — a tag used once might be intentional (e.g., `event-2026` for a specific event). Flag but don't auto-merge without checking context. 2. **Orphaned files may be intentional archives** — files in `3-inbox/` or `4-opportunities/` are often standalone by design. Only flag orphans in methodology or principles directories. 3. **Frontmatter schemas drift across directories** — `0-principles/` uses `type: principle`, `3-inbox/` uses `type: capture`. Detect per-directory norms, don't enforce one schema globally. 4. **`related:` field is not authoritative** — many valid cross-references exist as inline markdown links `[text](path.md)`, not just YAML `related:` arrays. Check both. 5. **Empty directories may be placeholders** — `5-active-projects/` or `6-companies/` might be empty by design (populated by automation). Check `registry.yaml` or Makefile before flagging. ## 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.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.