Skip to main content
skill CX Codex

indexion-documentation — Claude Code skill: audit your docs

This skill measures documentation coverage, finds drift between code and docs, and draws dependency graphs.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add trkbt10/indexion-skills --skill indexion-documentation -a claude-code
Open on GitHub

What indexion-documentation does

The skill handles the evaluation side of documentation: what exists, what is missing, what went stale. Coverage comes from indexion plan documentation --style=coverage ., which reports an overall percentage plus a per-package breakdown and a split between functions and types. To list the declarations that lack doc comments, run indexion grep --undocumented src/.

Drift detection lives in indexion plan reconcile. It compares code symbols against documentation and reports vocabulary divergence, stale docs, and modules with no coverage at all. The Vocabulary Divergence table gives a distance from 0 to 100%: past 90% the README has little to do with the current code. You can narrow the check with --scope=package-docs, --scope=tree-docs, or point it at specific files through --doc.

Reconcile keeps a cache under .indexion/cache/reconcile/. After a schema change or an indexion upgrade that cache goes stale and startup fails with a deserialization error, so clear it with rm -rf .indexion/cache/reconcile. One more thing: 100% coverage does not mean the docs are correct. A bare ///| marker counts as documented, so read doc_preview instead of trusting the number. And reconcile only walks the code-to-docs direction; the reverse check is manual.

What it helps with

  • measure how much of the public API is documented
  • list declarations missing doc comments
  • catch a README that fell behind the code
  • break coverage down by package and type
  • render a dependency graph for a module tree

Example prompts for the agent

  • check documentation coverage in this project
  • find drift between the code and the docs
  • draw the dependency graph for src/config/

How to install indexion-documentation

1Skills CLI (Vercel)

npx skills add trkbt10/indexion-skills --skill indexion-documentation -a claude-code

2Manually: put the files in place

~/.claude/skills/indexion-documentation/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/indexion-documentation/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about indexion-documentation

How do I install indexion-documentation in Claude?

Run npx skills add trkbt10/indexion-skills --skill indexion-documentation -a claude-code. The skill lands in ~/.claude/skills/indexion-documentation/SKILL.md.

What does indexion-documentation do?

It measures documentation coverage, detects code-to-doc drift with plan reconcile, and generates dependency graphs in Mermaid, DOT, D2, text, or JSON.

Why does plan reconcile crash on startup?

The cache in .indexion/cache/reconcile/ went stale after a schema change or an indexion upgrade. Remove it with rm -rf .indexion/cache/reconcile.

Source text

SKILL.md · Apache-2.0
---
name: indexion-documentation
description: Documentation analysis — assess coverage, detect code-to-doc drift with plan reconcile, visualize dependencies with doc graph. Answers "what needs docs?" and "are docs still accurate?"
---

# indexion documentation — Documentation Analysis

Assess documentation state and detect drift. This skill covers the
**evaluation side** of the documentation lifecycle: what exists, what's
missing, what's stale. For building READMEs, see `indexion-readme`.

## "What needs documentation?"

```bash
# Quick coverage overview — how much of the public API is documented?
indexion plan documentation --style=coverage .
```

Reports:
- Overall coverage percentage (documented / total pub items)
- Per-package breakdown with README presence
- Functions vs types coverage split

Output example:
```
Overall Coverage: 81% (2285/2806)
Functions: 89%, Types: 75%
```

For a detailed plan with prioritized action items:

```bash
# Full plan with priorities and package inventory
indexion plan documentation .

# As a GitHub Issue for tracking
indexion plan documentation --format=github-issue .

# JSON for scripting
indexion plan documentation --format=json .
```

For a quick per-file listing of undocumented items:

```bash
# Which pub declarations lack doc comments?
indexion grep --undocumented src/
```

**How detection works:** Uses KGF tokenization to find visibility keywords
(`pub`, `public`, `export`) paired with declaration keywords (`fn`, `struct`,
`enum`, `type`, `trait`). Associates `///` doc comments with declarations.
Language-agnostic — works for any KGF-supported language.

**Caveat:** `///|` marker-only comments count as "documented" even without
descriptive text. Check `doc_preview` in the output for quality, not just coverage.

## "Are my docs up to date?"

Detect drift between implementation code and documentation.

```bash
# Full reconcile report in markdown
indexion plan reconcile --format=md .
```

This compares code symbols against documentation and reports:
- **Vocabulary divergence**: source code terms missing from co-located docs
- **Stale docs**: code changed after docs were last updated
- **Missing docs**: code modules with no documentation coverage

**Read the report:**

The Vocabulary Divergence table shows distance (0-100%) between code vocabulary
and documentation. 90%+ distance means the README is essentially unrelated to
the current code. Check the Gap Terms column for specific missing vocabulary.

**Scoped checks:**

```bash
# Check only package-level docs
indexion plan reconcile --scope=package-docs .

# Check only tree-level docs
indexion plan reconcile --scope=tree-docs .

# Check specific documents
indexion plan reconcile --doc='docs/**/*.md' .
indexion plan reconcile --doc-spec=markdown .
```

**Timestamp strategies:**

```bash
# Use git commit timestamps (more accurate for collaborative projects)
indexion plan reconcile --git .

# Use file mtimes only (faster, no git dependency)
indexion plan reconcile --mtime-only .
```

**Cache and drift:**

`plan reconcile` maintains a cache at `.indexion/cache/reconcile/`. After schema
changes or indexion upgrades, the cache can become stale and cause deserialization
errors. Clear it:

```bash
rm -rf .indexion/cache/reconcile
```

## "Show me the dependency structure"

Generate dependency diagrams for understanding module relationships.

```bash
# Mermaid diagram (default — embeddable in GitHub README)
indexion doc graph src/config/

# Other formats
indexion doc graph --format=dot src/     # Graphviz DOT
indexion doc graph --format=d2 src/      # D2
indexion doc graph --format=text src/    # ASCII text
indexion doc graph --format=json src/    # Machine-readable

# Custom title and output file
indexion doc graph --title="KGF Dependencies" --output=deps.mmd src/kgf/
```

## Analysis Workflow

```bash
# 1. What's the current state?
indexion plan documentation --style=coverage .

# 2. What specific items lack docs?
indexion grep --undocumented src/

# 3. Has code drifted from existing docs?
indexion plan reconcile --format=md .

# 4. What does the dependency structure look like?
indexion doc graph --output=deps.mmd src/

# 5. Fix flagged docs, re-verify
indexion plan reconcile --format=md .
```

## Common Pitfalls

**"plan reconcile shows 90%+ divergence everywhere"**
- Auto-generated skeleton READMEs (API listing only) have high divergence because
  they lack the vocabulary of the actual implementation. Enrich them with
  descriptions of what the code does, not just what it exports.

**"plan documentation says 100% coverage but docs are wrong"**
- Coverage measures presence of doc comments, not accuracy. A `///|` marker
  counts as documented. Use `plan reconcile` to check content accuracy.

**"plan reconcile crashes on startup"**
- Cache deserialization error after schema changes. Clear it:
  `rm -rf .indexion/cache/reconcile`

**"plan reconcile detects drift I already fixed"**
- The `--git` flag uses commit timestamps. If you fixed docs but haven't committed,
  mtime-based detection (`--mtime-only`) will see the fix, but git-based won't.

**Reconcile only checks implementation -> docs direction.** It detects code terms
missing from docs, but does NOT detect docs referencing nonexistent CLI options.
For that direction, compare each README against `indexion <command> --help` manually.

© trkbt10 · Apache-2.0 · trkbt10/indexion-skills

Similar skills

Everything for Writing and docs →

From the same set6

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor