From necturalabs
Create or maintain a project's docs/ folder with ADRs, design documents, guides, and reference material. Use to set up documentation, write an ADR or design doc, or audit documentation freshness.
How this skill is triggered — by the user, by Claude, or both
Slash command
/necturalabs:docs-managerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Creates and maintains a project's `docs/` folder following industry-standard practices: Diataxis framework for document types, MADR for architecture decisions, Google-style design docs, and docs-as-code principles.
Creates and maintains a project's docs/ folder following industry-standard practices: Diataxis framework for document types, MADR for architecture decisions, Google-style design docs, and docs-as-code principles.
Before acting, determine what the user needs:
digraph scope {
"User request" [shape=doublecircle];
"docs/ exists?" [shape=diamond];
"Initialize structure" [shape=box];
"What type?" [shape=diamond];
"Write ADR" [shape=box];
"Write design doc" [shape=box];
"Write guide" [shape=box];
"Audit freshness" [shape=box];
"Update indexes" [shape=box];
"User request" -> "docs/ exists?";
"docs/ exists?" -> "Initialize structure" [label="no"];
"docs/ exists?" -> "What type?" [label="yes"];
"Initialize structure" -> "What type?";
"What type?" -> "Write ADR" [label="decision"];
"What type?" -> "Write design doc" [label="design/architecture"];
"What type?" -> "Write guide" [label="how-to/runbook"];
"What type?" -> "Audit freshness" [label="audit"];
"What type?" -> "Update indexes" [label="indexes"];
}
Use a scale-adaptive layout. Do NOT create empty directories upfront. Create directories only when the first document of that type is written.
docs/
index.md # Root table of contents (always present)
decisions/ # ADRs — create when first ADR is written
index.md
0001-kebab-case-title.md
design/ # Design docs AND architecture overviews
index.md
0001-kebab-case-title.md
guides/ # How-to guides, runbooks, onboarding
index.md
kebab-case-title.md
reference/ # Research, reference material, specs
index.md
kebab-case-title.md
decisions/ and design/ are separate because ADRs are append-only records with strict lifecycle rules, while design docs are living documents that get updated.architecture/ is merged into design/ to avoid boundary blur in small-to-medium projects. Architecture overviews are design documents.guides/ covers all task-oriented docs — onboarding, deployment, debugging, runbooks. Diataxis calls these "how-to guides."reference/ covers non-generated reference material — research, external specs, data models. Auto-generated API docs do NOT go here.When docs/ does not exist, create the minimal structure:
docs/index.md with the root index template# Project Documentation
## Sections
<!-- Add links as directories are created -->
## Conventions
- All docs use Markdown (`.md`)
- File names use `kebab-case`
- ADRs use `NNNN-kebab-case-title.md` numbering
- Every directory has an `index.md`
- Documents include `last-reviewed` date in frontmatter
Location: docs/decisions/NNNN-kebab-case-title.md
When to write an ADR:
When NOT to write an ADR:
Format (MADR 4.0):
Use the template at templates/adr-template.md. Required sections:
| Section | Purpose |
|---|---|
| Title | Short, problem-focused (not solution-focused) |
| Status | proposed / accepted / deprecated / superseded by ADR-NNNN |
| Date | YYYY-MM-DD |
| Context | 2-3 sentences describing the problem and constraints |
| Considered Options | Bulleted list of alternatives |
| Decision Outcome | "Chosen option: X, because..." with justification |
Optional sections: Decision Drivers, Pros/Cons per option, Consequences, Related ADRs.
Lifecycle rules:
superseded by [ADR-NNNN](NNNN-title.md) and create the new ADRdeprecated with a date and reasonNumbering: Sequential, zero-padded to 4 digits. Check existing ADRs and use next available number.
Location: docs/design/NNNN-kebab-case-title.md
When to write a design doc (Google's litmus test — write one if 3+ apply):
Format:
Use the template at templates/design-doc-template.md. Required sections:
| Section | Purpose |
|---|---|
| Context and Scope | Brief overview of the problem landscape |
| Goals and Non-Goals | Explicit bullet lists of what this will and will NOT do |
| Design | The actual design — start high-level, then details. Include diagrams. |
| Alternatives Considered | Viable alternatives with trade-offs explaining rejection |
| Cross-Cutting Concerns | Security, performance, observability, backward compatibility |
Optional: Implementation Plan, Open Questions, References.
Numbering: Sequential like ADRs, but in its own sequence within design/.
Location: docs/guides/kebab-case-title.md
When to write a guide:
Format: Task-oriented. Start with the goal, list prerequisites, then numbered steps. No theory — link to explanatory docs for background.
Location: docs/reference/kebab-case-title.md
What goes here:
What does NOT go here:
Every document in docs/ MUST have YAML frontmatter:
---
title: Document Title
type: adr | design | guide | reference
status: draft | active | deprecated | superseded # ADRs/design docs only
date: YYYY-MM-DD # Creation date
last-reviewed: YYYY-MM-DD # Last review date
---
Every docs/ subdirectory MUST have an index.md that links to all documents within it. Format:
# Section Title
| Document | Status | Date | Description |
|----------|--------|------|-------------|
| [NNNN Title](NNNN-file.md) | accepted | 2026-01-15 | One-line summary |
When to update indexes:
docs/index.md links to all subdirectory indexeslast-reviewed dates are mandatory — every document must have oneDocuments go through these states:
draft → active → deprecated (or superseded)
When to archive/retire:
deprecatedsuperseded by [new ADR]Consolidation: When related ADRs or design docs accumulate around the same system, write a summary design doc that synthesizes the current state and link the individual ADRs from it.
/docs| Document | Correct Location |
|---|---|
| README | Repository root |
| CHANGELOG | Repository root |
| CONTRIBUTING | Repository root |
| LICENSE | Repository root |
| CODE_OF_CONDUCT | Repository root |
| Inline API docs | Source code comments |
| Generated API reference | Build output or hosted site |
| Per-module READMEs | In the module directory |
| CI/CD config docs | Inline in CI config files |
| Commit conventions | Root-level files (CLAUDE.md, AGENTS.md) |
[ADR-0003](../decisions/0003-use-react.md), never absolute paths// See docs/decisions/0003-use-react.mdWhen the user asks to audit documentation, check:
docs/ follow the directory layout? Are indexes present?last-reviewed dates older than 6 months? (Fallback threshold; primary trigger is when related code changes)Report findings in a summary table:
## Documentation Audit
| Check | Status | Details |
|-------|--------|---------|
| Structure | PASS/FAIL | ... |
| Frontmatter | PASS/FAIL | X docs missing fields |
| Staleness | WARN | X docs not reviewed in >6 months |
| Coverage | INFO | These systems lack documentation: ... |
npx claudepluginhub necturalabs/agentskills --plugin necturalabsGuides project documentation structure, content requirements, and best practices. Includes templates for README, ARCHITECTURE, API docs, and change history.
Audits existing docs and generates full project documentation in docs/ including architecture.md, getting-started.md, development.md, API refs, and ADRs. For onboarding and context sharing.
Creates Architecture Decision Records (ADRs) and documentation for architectural decisions, API changes, features, and codebase context that future engineers need.