Living docs
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.From its SKILL.md
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.
- 9 stars9 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.
SKILL.md
6.9 KB, ~1.5k tokens by cl100k_base, 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.
What ships with it: 64 files
130.5 KB alongside SKILL.md, 5 of them executable
hooks/
- block-docs-handwrite.shruns4.2 KB
- pre-commitruns1.1 KB
- session-context.shruns1.5 KB
rules/
- about.md2.5 KB
- adr-conventions.md5.5 KB
- architecture-diagrams.md6.3 KB
- bdr-conventions.md7.2 KB
- check.md3.8 KB
- citation-conventions.md4.1 KB
- constitution-conventions.md3.3 KB
- doc-language.md2.6 KB
- doc-trail.md2.7 KB
- enforcement-modes.md5.4 KB
- glossary-conventions.md3.0 KB
- issue-workflow.md2.7 KB
- maintenance-invariant.md3.6 KB
- okf-format.md3.3 KB
- prd-conventions.md4.4 KB
- procedure.md6.1 KB
- semantic-index.md3.3 KB
- size-targets.md1.5 KB
- spine.md1.4 KB
templates/
- adr.md1.8 KB
- architecture-index.md1.5 KB
- bdr.md4.2 KB
- claude-hard-rules.md7.6 KB
- constitution.md2.0 KB
- context-index.md1.3 KB
- glossary.md1.3 KB
- issue.md979 B
- prd.md2.8 KB
- research.md2.0 KB
tests/
- fixtures/01-fence-link-clean/docs/foo.md144 B
- fixtures/01-fence-link-clean/docs/index.md27 B
- fixtures/02-fence-link-dirty/docs/foo.md62 B
- fixtures/02-fence-link-dirty/docs/index.md27 B
- fixtures/03-link-forms/docs/bar.md58 B
- fixtures/03-link-forms/docs/foo.md145 B
- fixtures/03-link-forms/docs/index.md45 B
- fixtures/04-frontmatter-quoted-commented/docs/a.md24 B
24 more files not listed here. See all 64 in the repository.