DIVIO/Diataxis four-quadrant documentation framework - type definitions, classification decision tree, and signal catalog
npx skills add https://github.com/nWave-ai/nWave --skill nw-divio-framework
Exactly four documentation types. Each serves one purpose. Never mix.
Orientation: Learning | Need: "Teach me" | Key Q: Can newcomer follow without external context?
Purpose: enable first success | Assumption: user knows nothing | Format: step-by-step guided experience
Success: gains competence + confidence | Include: safe repeatable steps, immediate feedback, building blocks
Exclude: problem-solving, assumed knowledge, comprehensive coverage
Orientation: Task | Need: "Help me do X" | Key Q: Achieves specific, measurable outcome?
Purpose: accomplish specific objective | Assumption: baseline knowledge, needs goal completion
Format: focused steps to outcome | Success: task completed
Include: clear goal, actionable steps, completion indicator | Exclude: teaching, background, all scenarios
Orientation: Information | Need: "What is X?" | Key Q: Factually complete and lookup-ready?
Purpose: accurate lookup | Assumption: user knows what to look for | Format: structured, concise, factual
Success: finds correct info quickly | Include: complete API/function details, parameters, returns, errors
Exclude: narrative, tutorials, opinions
Orientation: Understanding | Need: "Why is X?" | Key Q: Explains reasoning and context?
Purpose: conceptual understanding | Assumption: user wants "why" | Format: discursive, reasoning-focused
Success: understands design rationale | Include: context, reasoning, alternatives, architectural decisions
Exclude: step-by-step, API details, task completion
PRACTICAL THEORETICAL
STUDYING: Tutorial Explanation
WORKING: How-to Guide Reference
Adjacent: Tutorial/How-to (both have steps, differ in assumed knowledge) | How-to/Reference (both "at work") | Reference/Explanation (both knowledge depth) | Explanation/Tutorial (both "studying")
START: What is the user's primary need?
1. Is user learning for the first time?
YES -> TUTORIAL
NO -> Continue
2. Is user trying to accomplish a specific task?
YES -> Does it assume baseline knowledge?
YES -> HOW-TO GUIDE
NO -> TUTORIAL (reclassify)
NO -> Continue
3. Is user looking up specific information?
YES -> Is it factual/lookup content?
YES -> REFERENCE
NO -> Likely EXPLANATION
NO -> Continue
4. Is user trying to understand "why"?
YES -> EXPLANATION
NO -> Re-evaluate (content may need restructuring)
Positive: "Getting started", "Your first...", "Prerequisites: None", "What you'll learn", "Step 1, Step 2...", "You should see..."
Red flags: "Assumes prior knowledge", "If you need to...", "For advanced users..."
Positive: "How to [verb]", "Before you start" (with prerequisites), "Steps", "Done:" or "Result:"
Red flags: "Let's understand what X is...", "First, let's learn about..."
Positive: "API", "Parameters", "Returns", "Throws", "Type:", Tables of functions/methods
Red flags: "This is probably...", "You might want to...", Conversational tone
Positive: "Why", "Background", "Architecture", "Design decision", "Trade-offs", "Consider", "Because"
Red flags: "1. Create...", "2. Run...", "Step-by-step", "Do this:"
Provenance: Ale 2026-05-02. "La JTBD ci dice quale need stiamo soddisfando."
When the four-types decision tree is ambiguous, OR when a stylistic decision inside a chosen type has plausible alternatives (ordering, fold-vs-keep, scratch-vs-real-data, prose-vs-table, etc.), DO NOT pick by aesthetic preference. Return to the document's JTBD and let the answer fall out.
Each Diataxis type maps to a canonical JTBD:
| Type | Canonical JTBD | Implied constraints |
|---|---|---|
| Tutorial | "Build my mental model of X by doing it once, end-to-end, without risking my real project state." | Reproducible, safe, self-contained, cause-effect visible |
| How-to | "Fix this specific situation right now; don't teach me fundamentals." | Problem-statement first, decision tree, no preamble, link forward to Tutorial for newcomers |
| Reference | "Look up a specific answer (flag, exit code, schema field, error message)." | ctrl-F friendly, dense, alphabetical/systematic, no narrative, separate H2 per lookup category |
| Explanation | "Understand the design rationale so I can extend or critique it." | Discursive, links to evidence (probes, RCAs, ADRs), no how-to instructions, no command examples beyond the minimum needed for context |
Worked example, Tutorial Q: scratch directory vs use the project's seeded data?
Worked example, Reference Q: fold three short sections into one "Notes"?
Worked example, README "Learn More" Q: alphabetical or semantic grouping?
When facing a stylistic ambiguity inside a chosen type:
This procedure replaces aesthetic debate with a falsifiable check.
Some authors blend two JTBDs in one document ("a Tutorial that's also a Reference"). This is the same collapse pattern the four-types-only rule rejects, surfaced via the JTBD lens. Detection: if the document has TWO canonical JTBDs in tension (e.g. "build mental model" AND "look up specific answer"), flag for splitting.
Comprehensive GitHub project management with swarm-coordinated issue tracking, project board automation, and sprint planning
Comprehensive technology-agnostic prompt for analyzing and documenting project folder structures. Auto-detects project types (.NET, Java, React, Angular, Python, Node.js, Flutter), generates detailed blueprints with visualization options, naming conventions, file placement patterns, and extension templates for maintaining consistent code organization across diverse technology stacks.
Use when complex problems require systematic step-by-step reasoning with ability to revise thoughts, branch into alternative approaches, or dynamically adjust scope. Ideal for multi-stage analysis, design planning, problem decomposition, or tasks with initially unclear scope.
Multi-agent workflow examples to work together on the OpenServ Platform. Covers agent discovery, multi-agent workspaces, task dependencies, and workflow orchestration using the Platform Client. Read reference.md for the full API reference. Read openserv-agent-sdk and openserv-client for building and running agents.
> Compress natural language memory files (CLAUDE.md, todos, preferences) into caveman format to save input tokens. Preserves all technical substance, code, URLs, and structure. Compressed version overwrites the original file. Human-readable backup saved as FILE.original.md.
API design principles and decision-making. REST vs GraphQL vs tRPC selection, response formats, versioning, pagination.
Patterns for automating GitHub workflows with AI assistance, inspired by [Gemini CLI](https://github.com/google-gemini/gemini-cli) and modern DevOps practices.
Groups existing components into logical business domains to plan service-based architecture. Use when asking "which components belong together?", "group these into services", "organize by domain", "component-to-domain mapping", or planning service extraction from an existing codebase. Do NOT use for identifying new domains from scratch (use domain-analysis) or analyzing coupling (use coupling-analysis).
Take nwave-ai/nw-divio-framework from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.