Codex

kb-health

Lint and health-check the knowledge base. Finds orphan pages, missing cross-references, stale claims, broken wiki-links, and regenerates the index.

104 stars

Best use case

kb-health is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

It is a strong fit for teams already working in Codex.

Lint and health-check the knowledge base. Finds orphan pages, missing cross-references, stale claims, broken wiki-links, and regenerates the index.

Teams using kb-health should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/kb-health/SKILL.md --create-dirs "https://raw.githubusercontent.com/jmagly/aiwg/main/.agents/skills/kb-health/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/kb-health/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How kb-health Compares

Feature / Agentkb-healthStandard Approach
Platform SupportCodexLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Lint and health-check the knowledge base. Finds orphan pages, missing cross-references, stale claims, broken wiki-links, and regenerates the index.

Which AI agents support this skill?

This skill is designed for Codex.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# KB Health

Audit the knowledge base for structural and content issues. Reports problems and, with `--fix`, repairs what can be fixed automatically (broken links, missing index entries). Human review is required for content issues (stale claims, empty sections).

## Triggers

- "check KB health" → full audit
- "find orphan pages" → orphan check only
- "regenerate KB index" → `--index-only`
- `/kb-health` → direct invocation

## Parameters

### `--path <subtree>` (optional)
Scope the check to a subdirectory (e.g., `--path .aiwg/kb/entities/`). Defaults to full KB root.

### `--kb <path>` (optional)
Root of the knowledge base. Defaults to `.aiwg/kb/`.

### `--fix` (optional)
Automatically repair issues that are safe to fix without human judgment:
- Remove references to confirmed-missing pages from Sources tables
- Add pages missing from the index
- Normalize slug inconsistencies (spaces → hyphens in filenames)

Does NOT auto-fix: empty required sections, stale claim dates, ambiguous duplicates.

### `--index-only` (optional)
Skip all checks; only regenerate `index.md`.

---

## Checks

### 1. Orphan Pages

An orphan is a page with no incoming `[[wiki-link]]` references from any other KB page.

Procedure:
1. Collect all `.md` files under `<kb>/`.
2. For each file, extract all `[[...]]` references.
3. Build an inverted index: page → set of pages that link to it.
4. Pages with zero incoming links are orphans.

Orphans in `sources/` are less critical (sources are often terminal nodes). Report them separately.

### 2. Broken Wiki-Links

For every `[[link-target]]` found in any KB page:
1. Derive the expected file path (slug → filename in each subdirectory).
2. Check whether the file exists.
3. If not: report as a broken link with the containing file and line number.

With `--fix`: remove confirmed-broken links from Sources tables. Flag broken links in prose sections for manual review (do not silently remove).

### 3. Empty Required Sections

Templates define required sections (Overview, Definition, Key Takeaways, etc.).
Detect pages where a required section header exists but the body is a placeholder (`_..._` or a single empty line).

Report as warnings, not errors. Do not auto-fix content.

### 4. Stale Pages

A page is considered stale if:
- Its `_Last updated:` date is more than 180 days ago, AND
- At least one source it references was published after that date (detectable via source summary dates)

Report stale pages as advisory — staleness is informational, not a structural error.

### 5. Duplicate Slugs

Detect files with the same normalized slug in different subdirectories (e.g., `entities/python.md` and `concepts/python.md`). These may be legitimate or accidental duplicates. Report all cases; do not auto-resolve.

---

## Index Regeneration

Always regenerate `<kb>/index.md` at the end of a health check run (or when `--index-only` is used).

The index lists all KB pages grouped by directory with their first-line description (the `>` blockquote line from templates):

```markdown
# Knowledge Base Index

_Generated: YYYY-MM-DD — N pages_

## Entities (N)
- [Entity Name](entities/entity-name.md) — type · domain

## Concepts (N)
- [Concept Name](concepts/concept-name.md) — category · domain

## Sources (N)
- [Source Title](sources/source-slug.md) — type · author · date

## Comparisons (N)
- [A vs B](comparisons/a-vs-b.md) — purpose

## Syntheses (N)
- [Synthesis Title](syntheses/synthesis-slug.md) — type · confidence
```

---

## Report Format

```
KB Health Report — YYYY-MM-DD
Root: .aiwg/kb/
Pages scanned: N

ERRORS (must fix)
  Broken links: N
    entities/foo.md:12 — [[missing-page]] not found

WARNINGS (review recommended)
  Orphan pages: N
    sources/old-article.md — no incoming links
  Empty sections: N
    concepts/bar.md — Definition section is placeholder
  Stale pages: N
    entities/baz.md — last updated 2024-01-01 (>180 days)

INFO
  Duplicate slugs: N
    entities/python.md and concepts/python.md share slug "python"

Index regenerated: .aiwg/kb/index.md (N entries)
```

---

## Scope Limits

- Read-only by default. `--fix` enables targeted writes; `--index-only` writes only `index.md`.
- Do not delete any pages, even if they appear to be duplicates. Report and let the human decide.
- Maximum pages scanned per run: 500. If KB exceeds this, use `--path` to scope.

## References

- @$AIWG_ROOT/agentic/code/frameworks/knowledge-base/templates/entity-page.md
- @$AIWG_ROOT/agentic/code/frameworks/knowledge-base/templates/concept-page.md
- @$AIWG_ROOT/agentic/code/frameworks/knowledge-base/templates/source-summary.md
- @$AIWG_ROOT/agentic/code/frameworks/knowledge-base/skills/kb-ingest/SKILL.md

Related Skills

workspace-health

104
from jmagly/aiwg

Assess workspace alignment and recommend cleanup or realignment actions at key lifecycle transition points

Codex

project-health-check

104
from jmagly/aiwg

Analyze overall project health and metrics

Codex

corpus-health

104
from jmagly/aiwg

Report on research corpus health, completeness, and integrity

Codex

codebase-health

104
from jmagly/aiwg

Scan source code and report agent-readiness metrics with actionable recommendations

Codex

aiwg-orchestrate

104
from jmagly/aiwg

Route structured artifact work to AIWG workflows via MCP with zero parent context cost

venv-manager

104
from jmagly/aiwg

Create, manage, and validate Python virtual environments. Use for project isolation and dependency management.

pytest-runner

104
from jmagly/aiwg

Execute Python tests with pytest, supporting fixtures, markers, coverage, and parallel execution. Use for Python test automation.

vitest-runner

104
from jmagly/aiwg

Execute JavaScript/TypeScript tests with Vitest, supporting coverage, watch mode, and parallel execution. Use for JS/TS test automation.

eslint-checker

104
from jmagly/aiwg

Run ESLint for JavaScript/TypeScript code quality and style enforcement. Use for static analysis and auto-fixing.

repo-analyzer

104
from jmagly/aiwg

Analyze GitHub repositories for structure, documentation, dependencies, and contribution patterns. Use for codebase understanding and health assessment.

pr-reviewer

104
from jmagly/aiwg

Review GitHub pull requests for code quality, security, and best practices. Use for automated PR feedback and approval workflows.

YouTube Acquisition

104
from jmagly/aiwg

yt-dlp patterns for acquiring content from YouTube and video platforms