Living docs
Living Docs — a AI agent skill that runs your project's documentation as a living system: constitution, ADRs, BDRs, PRDs, issues, research notes & Mermaid architecture diagrams under five no-drift governance invariants. OKF-formatted, stack-agnostic. Works with Claude Code, Cursor, Copilot, OpenCode & Pi.
npx -y skills add ejklock/living-docs-skill --skill living-docsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 8 stars8 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Run a project's documentation as a living system — docs-first issues/PRDs, MADR-lite ADRs (supersede, never delete), Behavior Decision Records (BDRs), a project constitution, research artifacts, living Mermaid architecture diagrams, and semantic-index organization where every doc lands in exactly one place and indexes never drift. Use when setting up or maintaining project docs, writing an ADR/PRD/BDR/constitution/issue/research note, defining a term or acronym in the glossary, drawing or updating an architecture/flow/sequence diagram, splitting an oversized doc into an index, or enforcing the no-drift maintenance rule.
SKILL.md
6.9 KB, as published. Nobody here has run it
Living Docs
Treat documentation as a living system that stays in sync with the code, not a write-once artifact that rots. The discipline has one spine — every piece of knowledge has exactly one home, that home is indexed, and nothing structural ships without its doc — and several document types that hang off it: a constitution, ADRs, BDRs, PRDs, issues, research, architecture diagrams, and a semantic context index.
This skill is stack-agnostic. It governs how docs are organized and maintained, never what technology a project uses.
Using this skill (progressive disclosure)
This SKILL.md is a slim stub — a trigger plus a task->topic router. The living-docs CLI
holds the full, authoritative conventions and templates and discloses them progressively.
Before authoring anything, load the topic for your task and operate from it, not from this
stub:
living-docs skill living-docs --list— discover every topic.living-docs skill living-docs --topic <topic>— load that topic's full rules (+ template).
Piped output is minified JSON (machine default); --plain for human text, --json to force
JSON. Topics: spine, procedure, adr, prd, bdr, constitution, issue-workflow, glossary,
architecture-diagrams, semantic-index, doc-language, citation, enforcement-modes, check,
okf-format, doc-trail, size-targets, about (run --list for the full set).
This stub is a pure router (ADR 0017): it triggers and points at topics — it holds no rules inline. The five core invariants and the CLI-owns-the-mechanics hard rule are topics, not stub prose; load them before authoring:
Write ONLY the body below the closing ---. Frontmatter and indexes are CLI-owned: living-docs status / supersede / index. (ADR 0019)
- The five invariants (the spine) →
living-docs skill living-docs --topic spine. - Authoring mechanics — CLI owns every deterministic step, you write only the prose →
living-docs skill living-docs --topic procedure.
When to invoke
- Standing up documentation for a project (creating
docs/structure, the docs index, ADR/issue/BDR/constitution directories) →living-docs skill living-docs --topic procedure. - First time living-docs runs in a project (no
## Living Docsblock in the project guide) → ask the enforcement-mode question and persist the answer →living-docs skill living-docs --topic enforcement-modes. - Adopting living-docs in an existing/brownfield project (decisions already made but undocumented) →
living-docs skill living-docs --topic procedure(Adopting living docs in an existing project): inventory the decisions, confirm each with the user before recording any ADR, never back-fill by inference alone. - Writing or editing an ADR (an architectural/implementation decision) →
living-docs skill living-docs --topic adr(load--topic procedurefirst if not already loaded this session). - Writing or editing a PRD (a product/feature requirement spec) →
living-docs skill living-docs --topic prd(load--topic procedurefirst if not already loaded this session). - Writing or editing a BDR (observable behavior — inputs, outputs, Given/When/Then scenarios, and the Test Design matrix for how each is tested) →
living-docs skill living-docs --topic bdr(load--topic procedurefirst if not already loaded this session). A test-strategy decision (non-default level/technique, bar deviation) is an ADRtags: [testing], not a new record type (no "TDR"). - Specifying a non-functional requirement (performance, availability, security, scale) → a quality-attribute scenario bound to an instrument in the PRD (
living-docs skill living-docs --topic prd, rule 9); the decision + fitness function go in an ADR. Not a new doc type. - Establishing or amending the constitution (foundational scope, data model, non-negotiables) →
living-docs skill living-docs --topic constitution(load--topic procedurefirst if not already loaded this session). - Creating or editing an issue/ticket →
living-docs skill living-docs --topic issue-workflow(load--topic procedurefirst if not already loaded this session). - Recording research (technology evaluation, external trade-offs) → load the
research-artifactsskill. It owns the OKF research-note format (single file per note, no per-research subfolder), the source discipline, and the research → decision → issue traceable chain, and links back here for the ADR/BDR/issue artifacts. Pairs with thedeep-researchskill. - Drawing or updating an architecture, data-flow, or tool-calling diagram →
living-docs skill living-docs --topic architecture-diagrams. - Defining a term or acronym the docs use → add it to the glossary (
docs/context/glossary.md), one home per term →living-docs skill living-docs --topic glossary. - A doc has grown too large or mixes concerns → split into a semantic index →
living-docs skill living-docs --topic semantic-index. - Sizing a record's body (aim ~100 lines,
checkadvises at 120; research exempt; never trim a load-bearing rationale) →living-docs skill living-docs --topic size-targets. - Enforcing the no-drift maintenance rule after any structural change →
living-docs skill living-docs --topic enforcement-modes(refusal triggers) andliving-docs skill living-docs --topic procedure(maintaining loop). - Authoring or checking the OKF format of any doc (frontmatter
type, reservedindex.md/log.md, bundle-relative links,# References) →living-docs skill living-docs --topic okf-format. - Deciding which language the docs are written in (default English; user may override at session start and pin it) →
living-docs skill living-docs --topic doc-language. - Understanding the doc trail (constitution → PRD → ADR/BDR → issues → code) or the document map (where each doc type lives) →
living-docs skill living-docs --topic doc-trail. - Understanding how this skill composes with
okf-knowledge-format,research-artifacts, or optional companions, or its provenance →living-docs skill living-docs --topic about.