diataxis
Structure, classify, and write documentation using the Diátaxis framework. Use when writing docs, README files, guides, tutorials, how-to guides, API references, or organizing documentation architecture. Also use when asked to improve documentation, restructure docs, decide what type of doc to write, or classify existing content. Covers tutorials, how-to guides, reference, and explanation.
Works with
---
name: diataxis
description: Structure, classify, and write documentation using the Diátaxis framework. Use when writing docs, README files, guides, tutorials, how-to guides, API references, or organizing documentation architecture. Also use when asked to improve documentation, restructure docs, decide what type of doc to write, or classify existing content. Covers tutorials, how-to guides, reference, and explanation.
license: MIT
---
# Diátaxis Documentation Framework
Apply the Diátaxis systematic framework to structure and write documentation.
## The Four Documentation Types
Diátaxis identifies exactly four types, defined by two axes:
| | **Acquisition** (study) | **Application** (work) |
|---|---|---|
| **Action** (doing) | **Tutorial** | **How-to guide** |
| **Cognition** (thinking) | **Explanation** | **Reference** |
### 1. Tutorials — learning-oriented
Write tutorials as lessons. Take the learner by the hand through a practical experience where they acquire skills by doing.
- Use first-person plural ("We will...")
- Show where they're going up front
- Deliver visible results early and often
- Ruthlessly minimize explanation — link to it instead
- Focus on the concrete, ignore options and alternatives
- Aspire to perfect reliability
**Load `references/tutorials.md` for full guidance.**
### 2. How-to guides — goal-oriented
Write how-to guides as practical directions for an already-competent user to achieve a specific real-world goal.
- Name clearly: "How to [achieve X]"
- Use conditional imperatives ("If you want x, do y")
- Assume competence — don't teach
- Omit the unnecessary; practical usability > completeness
- Allow flexibility with alternatives
**Load `references/how-to-guides.md` for full guidance.**
### 3. Reference — information-oriented
Write reference as technical description of the machinery. Keep it austere, authoritative, consulted not read.
- Describe and only describe — neutral tone
- Adopt standard, consistent patterns
- Mirror the structure of the product
- Provide examples to illustrate, not explain
**Load `references/reference.md` for full guidance.**
### 4. Explanation — understanding-oriented
Write explanation as discursive treatment that deepens understanding. Answer "Can you tell me about...?"
- Make connections to related topics
- Provide context: why things are so
- Talk *about* the subject (title: "About X")
- Admit opinion and perspective
- Keep closely bounded — don't absorb other types
**Load `references/explanation.md` for full guidance.**
## The Compass — When In Doubt
Ask two questions to classify content:
1. **Action or cognition?** Is this about doing, or thinking?
2. **Acquisition or application?** Is this for learning, or for working?
The intersection tells you which type you're writing. Load `references/compass.md` for detailed decision guidance.
## How To Apply
1. Classify the content — use the compass questions above.
2. Check for type mixing — does this piece try to do two things at once?
3. Separate mixed content — pull explanation out of tutorials, pull instructions out of reference.
4. Apply the type's principles — follow the bullet points for that type above.
5. Link between types — don't embed, cross-reference instead.
Do NOT create empty four-section structures and try to fill them. Let structure emerge from content.
## Example
User asks: "Write a getting-started guide for our CLI tool."
1. **Classify**: "Getting started" = the user is learning, by doing → **Tutorial**.
2. **Check**: Not a how-to guide — the user isn't solving a specific problem, they're acquiring familiarity.
3. **Apply tutorial principles**:
- Open with what they'll build: "In this tutorial, we will install the CLI and deploy a sample app."
- Lead through concrete steps with visible results at each stage.
- Minimize explanation: "We use `--verbose` for more output" not a paragraph on logging levels.
- Link to reference for flag details, link to explanation for architecture.
4. **Result**: A focused lesson, not a feature tour disguised as a tutorial.
## Common Mistakes
| Mistake | Why it fails | Fix |
|---------|-------------|-----|
| Tutorial that explains everything | Explanation breaks the learning flow — learner loses focus | Move explanation to a separate doc, link to it |
| How-to guide that teaches basics | Competent users don't need onboarding — it wastes their time | Assume competence, or split into tutorial + how-to |
| Reference with opinions and advice | Users consulting reference need facts, not guidance | Move advice to explanation |
| Explanation mixed into reference | Dilutes both — reference becomes verbose, explanation can't develop | Separate into distinct documents |
| "Getting started" that's actually a feature tour | No learning goal, no coherent journey — user doesn't acquire skill | Pick one thing the user will accomplish, build toward it |
| Creating empty Tutorials/How-to/Reference/Explanation sections | Structure without content is useless scaffolding | Write content first, let structure emerge |
## Critical Rules
- **Never mix types.** Each type has its own purpose, tone, and form.
- **The user's mode matters.** Study vs. work is the fundamental distinction. Tutorials and explanation serve study. How-to guides and reference serve work.
- **Link between types** rather than embedding one inside another.
## Deep Dives
Load reference files on demand for detailed guidance:
| Topic | File |
|---|---|
| Writing tutorials | `references/tutorials.md` |
| Writing how-to guides | `references/how-to-guides.md` |
| Writing reference docs | `references/reference.md` |
| Writing explanation | `references/explanation.md` |
| The compass decision tool | `references/compass.md` |
| Tutorials vs how-to distinction | `references/tutorials-how-to.md` |
| Reference vs explanation distinction | `references/reference-explanation.md` |
| Workflow methodology | `references/how-to-use-diataxis.md` |
| Why Diátaxis works (foundations) | `references/foundations.md` |
| The two-dimensional map | `references/map.md` |
| Quality in documentation | `references/quality.md` |
| Complex hierarchies | `references/complex-hierarchies.md` |More Writing & Documentation skills
paper-context-resolver
lllllllama/rigorpilot-skills
Rigor Paper Context helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacing README guidance by default.
repo-intake-and-plan
lllllllama/rigorpilot-skills
Rigor Intake helper for README-first deep learning repo reproduction. Use when the task is specifically to scan a repository, read the README and common project files, extract documented commands, classify inference, evaluation, and training candidates, and return the smallest trustworthy reproduction plan to the main orchestrator. Do not use for environment setup, asset download, command execution, final reporting, paper lookup, or end-to-end orchestration.
minimal-run-and-audit
lllllllama/rigorpilot-skills
Rigor Run skill for README-first deep learning repo reproduction. Use when the task is specifically to capture or normalize evidence from the selected smoke test or documented inference or evaluation command and write standardized `repro_outputs/` files, including patch notes when repository files changed. Do not use for training execution, initial repo intake, generic environment setup, paper lookup, target selection, hidden scientific-meaning changes, or end-to-end orchestration by itself.

