PROJECT · 2026 · OPEN SOURCE · PAUSED

doc-lifecycle

A Claude Code plugin that keeps documentation current. It reads each diff, flags the docs it affects, and rewrites them — so the docs describe the code you actually have.

Paused since September 2026. Work is on hold and the plugin is unpublished from the marketplace: its skills consumed far more context than the work justified. Why it's paused

$ claude "check my docs for drift"
reading diff… 14 files changed
scanning docs… 42 documents
3 stale — api.md, setup.md, architecture.md
fixing… 3 updated · 2 flagged for review
✓ docs match the codebase again (41s)

Illustrative workflow. File counts, filenames, and runtime are sample output, not a measured result.

01 · WATCH

Reads every diff

Runs as a scheduled GitHub Action — or on demand — and maps each change to the docs that describe it.

02 · FLAG

Finds what went stale

Judges whether a change actually invalidates the prose — not just whether files overlap.

03 · REWRITE

Repairs the docs

Rewrites what it can, and flags anything that needs a human decision for review.

Why it exists

Documentation rots the moment the code moves. Keeping it current is exactly the kind of judgment-heavy maintenance work agents are good at — so this plugin makes it a background process instead of a chore.

The judgment boundary

A changed file is a signal to investigate, not proof that a document is wrong. The plugin maps a diff to relevant documentation, then judges whether the change invalidates the prose before rewriting it. That distinction keeps the workflow focused on meaning, rather than treating every code change as a documentation change.

Repairs and decisions take different paths: the plugin rewrites what it can and flags anything needing a human decision for review. Scheduled GitHub Actions and on-demand runs make the same maintenance workflow available in the background or when a developer needs it.

Open source, built for Claude Code. The repository is available to inspect.

Why it's paused

In September 2026 I paused work on doc-lifecycle and disabled the plugin. The reason was context cost. Every skill fans out: an audit reads the diff, then the docs it touches, then the code each claim points at, and all of that lands in the session's context window. On a real repository the reads compounded, and a single audit could consume a large share of a session's context before it produced a verdict. That is the wrong trade for a tool meant to run quietly in the background.

Bounding that fan-out is a design change, not a tuning pass, and it needs to happen before the plugin is handed to anyone. Until then the marketplace manifest lists no plugins, so the install commands do nothing. If you installed an earlier version, run /plugin uninstall doc-lifecycle@toolshed. The source and docs stay as they are, and I plan to pick the work back up.