docs-index-keeper · git:20260903.188b1ce · 2026-09-03 · sha256 2247263835dc4f61
docs-index-keeper git:20260903.188b1ceA
Immutable. This exact content never changes and is served at /api/v1/blob/2247263835dc4f61.
---
name: docs-index-keeper
description: >
Keep a repository's Markdown docs index in sync with the files that actually exist, by installing
and running docs-index-keeper in a pre-commit hook, in CI, or as a one-off sweep. Use when the
user says "the docs index is stale", "update the docs index", "add a docs index check to CI",
"our doc links are out of date", or when new docs were added without being linked anywhere.
license: MIT
allowed-tools: Bash, Read, Write, Edit, Grep, Glob
compatibility: Codex, Claude Code, Cursor, GitHub Copilot, Windsurf, Kiro, and other Agent Skills compatible tools. Requires shell access and Node.js 18+ when installing from npm.
metadata:
targets: [_source-only]
author: Oleg Koval
package: docs-index-keeper
tags:
- docs
- markdown
- documentation
- pre-commit
- ci
- index
---
<!-- Generated by scripts/build-adapters.sh. Do not edit directly. -->
# docs-index-keeper
Use this skill when a repository keeps docs under `docs/` and needs a Markdown index table updated automatically as docs are added or changed.
## Trigger phrases
- keep a docs index up to date
- auto-update `docs/README.md`
- add a pre-commit hook for docs indexing
- enforce docs index freshness in CI
- add a specific `docs/*.md` file into a Markdown index table
## Workflow
1. Confirm the repo has a docs directory and an index table such as `| Doc | Purpose |`.
2. Install the package if it is not already present:
```bash
npm install -D docs-index-keeper
```
3. Initialize the hook:
```bash
npx docs-index-keeper init
```
4. For CI enforcement, run:
```bash
npx docs-index-keeper check
```
5. For one-off staged maintenance, run:
```bash
npx docs-index-keeper update
```
## Notes
- `update` operates on staged Markdown files.
- `check` exits non-zero when the index is missing entries for staged docs.
- Purpose text comes from the first Markdown heading when available.
- New rows are inserted before an archive sentinel row when present.