Knowledge Health Checker audits a Markdown-based knowledge base as a living system, not a folder full of files.
It detects whether the knowledge garden is:
The goal is not only to find problems, but to produce a prioritized, safe, actionable health report.
Use this skill for:
Do not use it for semantic fact-checking. This skill checks structure, links, density, freshness, and maintainability, not whether every claim is true.
A healthy knowledge base has four properties:
A knowledge base can be large and still unhealthy. Size is not health.
Before scanning, identify:
Target path:
Formats: markdown / wiki links / relative links
External URL check: yes/no
Generate fix script: yes/no
Auto-apply fixes: no by default
Exclude directories:
Estimated file count:
Safe default:
scan only → report only → generate fix plan → user reviews → user applies
Never delete, rename, rewrite, or auto-apply fixes without explicit confirmation.
Index:
.md files[[note]] and [[note#heading]]textExclude by default:
.git/
node_modules/
__pycache__/
.obsidian/
.trash/
dist/
build/
Flag likely hollow notes when they match one or more:
Classify severity:
| Severity | Meaning | Typical action |
|---|---|---|
| --- | --- | --- |
| P0 | Empty or pure placeholder | delete, archive, or fill immediately |
| P1 | Too thin to be useful | expand with definition, context, examples |
| P2 | Usable but weak | improve structure or add links |
Check:
[[filename]][[filename#heading]]textFor each broken link, report:
source file
link text
target
link type
probable fix if a similar file exists
Measure:
Suggested ranges:
| Signal | Healthy range | Warning |
|---|---|---|
| --- | --- | --- |
| Short note | 300+ words or intentionally atomic | <200 characters |
| Long note | still navigable with headings | >3000 words without structure |
| Internal links | at least 1-3 for durable notes | zero links = possible orphan |
| Freshness | depends on domain | stale if >90 days and marked active |
Build a graph:
node = markdown file
edge = internal link
Report:
A perfect graph is not required. The goal is to identify the highest-value repair points.
Default scoring:
| Dimension | Weight | Good state |
|---|---|---|
| --- | ---: | --- |
| Hollow note rate | 25% | few or no empty placeholders |
| Broken link rate | 30% | no broken internal links |
| Content density | 25% | most notes have useful substance and structure |
| Network connectivity | 20% | important notes are connected; few accidental orphans |
Health score:
health = weighted score from 0 to 100
Use labels:
| Score | Label |
|---|---|
| ---: | --- |
| 90-100 | Excellent |
| 75-89 | Healthy |
| 60-74 | Needs maintenance |
| 40-59 | Fragile |
| 0-39 | Critical |
Return a concise summary first. For large scans, provide a full report path.
Fix plans must be safe:
Never silently delete or rewrite knowledge files.
Use this format:
## Knowledge Health Summary
- Target:
- Files scanned:
- Health score:
- Label:
- Top risks:
## Findings
| Category | Count | Severity | Notes |
|---|---:|---|---|
| Hollow notes | | | |
| Broken links | | | |
| Orphan notes | | | |
| Overlong notes | | | |
| Stale active notes | | | |
## Highest-Impact Fixes
1. P0:
2. P1:
3. P2:
## Safe Fix Plan
- Auto-safe fixes:
- Needs human review:
- Do not auto-apply:
## Artifacts
- Report:
- Fix script:
- Raw JSON:
For small knowledge bases, include concrete file examples. For large ones, include top 10 examples per category and write full details to a report file.
Classify fixes by risk:
| Risk | Examples | Permission |
|---|---|---|
| --- | --- | --- |
| Low | generate report, list broken links, suggest links | no extra confirmation |
| Medium | create fix script, add missing backlinks in draft output | ask before writing files |
| High | delete notes, rename files, rewrite links globally, split files | explicit confirmation required |
Default behavior: report and propose, do not mutate.
Use these when available:
scripts/health_check.py — core scanner for hollow files, broken links, density, and graph stats.scripts/report_generator.py — HTML report generation.scripts/auto_fix.py — fix-plan or repair-script generation.Run scripts from the skill directory or pass absolute paths. If a script lacks CLI ergonomics, inspect it and adapt safely rather than guessing destructive behavior.
Basic scan:
python3 scripts/health_check.py /path/to/knowledge-base
Generate a report from scan results if supported:
python3 scripts/report_generator.py results.json --output health-report.html
Generate a fix plan, not auto-apply:
python3 scripts/auto_fix.py results.json --dry-run
If the bundled script does not support these exact flags, read the script first and use its actual interface.
Use test-prompts.json for Darwin-style regression evaluation. Good test coverage should include:
Avoid:
A good knowledge health check must be:
If the output only says “you have broken links” without showing where, why it matters, and what to do next, it failed.
共 1 个版本