From wiki-suite
Health check the project wiki. Finds orphans, broken links, contradictions, stale pages. Writes maintenance report. Suggests log rotation when log.md > 500 entries. AUTOMATICALLY INVOKE when: "wiki health check", "lint the wiki", "audit wiki", "find wiki issues", "check wiki quality", "wiki maintenance"
How this skill is triggered — by the user, by Claude, or both
Slash command
/wiki-suite:wiki-lintsonnetThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run a comprehensive health check on the project wiki. Write a maintenance report.
Run a comprehensive health check on the project wiki. Write a maintenance report.
Locate WIKI_DIR by searching for .wiki/log.md from the git root upward (matches hook sentinel, max 4 levels).
If not found: print "No wiki found. Run /wiki-init first." and stop.
TODAY = current date YYYY-MM-DD
REPORT_PATH = .wiki/maintenance/lint-TODAY.md
Glob all .md files under .wiki/.
If file count > 200: print "Wiki has N files — processing first 200 only" and truncate.
Read .wiki/index.md for INDEXED_PAGES (all rows in the Pages table).
An orphan page is in WIKI_DIR but:
INDEXED_PAGES (not in index.md), ANDTo check inbound links: Grep for each page's filename across all wiki files. Collect ORPHANS.
Grep all wiki pages for markdown link patterns [text](path).
For each internal link (not starting with http): verify the target file exists.
Cap at 50 pages for link checking. Note if truncated.
Collect BROKEN_LINKS with: page containing the link, link text, target path.
Read entity pages (cap at 20).
Look for cases where two - **From SOURCE:** bullets make incompatible factual claims
about the same entity (e.g., "X uses approach A" vs "X uses approach B").
Collect CONTRADICTIONS with entity page, claim A, claim B, and their sources.
A page is potentially stale if its Last Updated date in index.md is > 180 days ago.
Collect STALE_CANDIDATES.
Terms appearing 3+ times across multiple pages but lacking their own entity page. Cap at 10 results. Collect MISSING_CONCEPTS.
Count entries in .wiki/log.md.
If count > 500: add suggestion to archive: "Log has N entries (>500) — consider archiving old entries to .wiki/log-archive-YYYY.md"
Read all entity pages under .wiki/entities/ (cap at 200).
A page is missing v2 frontmatter if its YAML frontmatter block (between --- delimiters) lacks ANY of:
confidence, sources, related, description
(a description: whose value is an empty string "" counts as missing; pages with no --- block at all are also flagged)
Collect MISSING_FRONTMATTER with page path and which fields are absent.
Read entity pages that contain a ## Contradictions or ## Contradictions / Open Questions section (grep first, then read those pages only — cap at 20).
A contradiction section is unresolved if it contains no line starting with Decision:, Resolved:, or the word Unresolved as an explicit marker.
An empty section body (section header with no content) counts as unresolved.
Collect UNRESOLVED_CONTRADICTIONS with page path and the section content.
Read entity pages with confidence: high in frontmatter (grep first, then read those pages — cap at 30).
A page is stale-high-confidence if last_verified is absent OR last_verified date is more than 180 days before TODAY.
This is an advisory flag only — never modify the confidence field.
Collect STALE_HIGH_CONFIDENCE with page path, last_verified date, and days elapsed.
Write REPORT_PATH with the full detailed report (markdown format for Obsidian readability).
Then print a terminal dashboard to the user:
╔═══════════════════════════════════════╗
║ 🔍 Wiki Lint — [repo name] ║
║ Pages: [N] | Date: TODAY ║
╚═══════════════════════════════════════╝
Health Checks
┌─ Orphan pages [✓ 0 | ⚠ N found]
├─ Broken links [✓ 0 | ✗ N broken]
├─ Contradictions [✓ 0 | ⚠ N flagged]
├─ Stale pages (>180d) [✓ 0 | ⚠ N stale]
├─ Missing concepts [✓ 0 | ▸ N suggested]
├─ Log rotation [✓ OK | ⚠ N entries > 500]
├─ Missing v2 frontmatter [✓ 0 | ⚠ N of M pending]
├─ Unresolved contradictions [✓ 0 | ⚠ N pages]
└─ Stale high-confidence [✓ 0 | ⚠ N >180d]
[If any issues found, list top 3 most actionable:]
━━━ Top Actions ━━━━━━━━━━━━━━━━━━━━━
1. [action — e.g., "Fix 2 broken links in entities/"]
2. [action — e.g., "Create entity page for 'attention' (mentioned 5×)"]
3. [action — e.g., "Review contradiction in transformer-architecture.md"]
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Report: maintenance/lint-TODAY.md
Use ✓ for clean checks, ✗ for critical issues (broken links), ⚠ for warnings, ▸ for suggestions.
Add lint report to .wiki/index.md:
| maintenance/lint-TODAY.md | Lint report TODAY | TODAY |
Append to .wiki/log.md:
[TIMESTAMP] LINT lint-TODAY: N orphans, N broken links, N contradictions
npx claudepluginhub whichguy/claude-craft --plugin wiki-suiteFetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
Applies a firm's KYC/AML rules grid to parsed onboarding records: assigns risk rating, checks required documents, outputs rule outcomes with citations, and routes for escalation.
Generates daily or weekly digests of activity from connected sources (chat, email, docs, tasks, CRM), highlighting action items, decisions, mentions, and project updates.