Diataxis Documentation Skill
This skill provides guidance for working with the neo4j-agent-memory documentation, which follows the Diataxis framework.
When to Use This Skill
Use this skill when:
- •Adding new documentation pages
- •Modifying existing documentation
- •Deciding where to place new content
- •Reviewing documentation for structure/style
The Four Quadrants
1. Tutorials (docs/tutorials/)
Purpose: Learning-oriented. Help users learn by doing.
Characteristics:
- •Step-by-step instructions
- •Practical, hands-on lessons
- •Focus on learning, not accomplishing
- •Clear outcomes at each step
- •Minimal explanation (link to Explanation for details)
Writing Style:
- •Use "we will..." (inclusive)
- •Provide exact commands/code to run
- •Show expected output at each step
- •Don't offer choices - provide one clear path
Example titles:
- •"Build Your First Memory-Enabled Agent"
- •"Create a Knowledge Graph from Documents"
2. How-To Guides (docs/how-to/)
Purpose: Task-oriented. Help users accomplish specific goals.
Characteristics:
- •Problem-focused
- •Assumes user knows what they want
- •Practical steps to solve a problem
- •No teaching, just doing
Writing Style:
- •Start with the goal: "To do X, you need to..."
- •Numbered steps for the solution
- •Include prerequisites if needed
- •End with verification/testing
Example titles:
- •"Configure Entity Extraction"
- •"Enable Location Geocoding"
- •"Use with PydanticAI"
3. Reference (docs/reference/)
Purpose: Information-oriented. Provide facts for lookup.
Characteristics:
- •Comprehensive and accurate
- •Structure mirrors the code/product
- •Austere, neutral tone
- •Designed for scanning, not reading
Writing Style:
- •Use tables for parameters/options
- •Document ALL options, not just common ones
- •Include types, defaults, constraints
- •Keep descriptions factual and brief
Example titles:
- •"Configuration Reference"
- •"CLI Command Reference"
- •"API Reference"
4. Explanation (docs/explanation/)
Purpose: Understanding-oriented. Help users understand concepts.
Characteristics:
- •Discusses "why" not "how"
- •Provides context and background
- •Can include opinions and alternatives
- •Discursive, can be read reflectively
Writing Style:
- •Explain design decisions
- •Discuss alternatives considered
- •Connect to broader concepts
- •Use diagrams for complex concepts
Example titles:
- •"Understanding the Three Memory Types"
- •"The POLE+O Data Model Explained"
- •"How Entity Extraction Works"
Decision Tree: Where Does Content Belong?
Is it about DOING something?
├── YES: Is it for LEARNING or ACCOMPLISHING?
│ ├── LEARNING → Tutorial
│ └── ACCOMPLISHING → How-To Guide
└── NO: Is it FACTS or UNDERSTANDING?
├── FACTS → Reference
└── UNDERSTANDING → Explanation
Common Mistakes to Avoid
- •
Don't mix quadrants: A how-to guide shouldn't teach concepts (link to explanation instead)
- •
Don't put reference in tutorials: Link to reference for complete option lists
- •
Don't explain in reference: Keep reference factual; explanation goes elsewhere
- •
Don't make tutorials choose: Provide one path, not options
File Naming Conventions
- •Use lowercase with hyphens:
entity-extraction.adoc - •Use descriptive names:
first-agent-memory.adocnottutorial-1.adoc - •Integration guides:
how-to/integrations/{framework}.adoc - •API reference:
reference/api/{component}.adoc
Cross-Referencing
Use xref: for internal links:
See xref:explanation/memory-types.adoc[Understanding Memory Types] for conceptual background. For configuration details, see xref:reference/configuration.adoc#extraction[Extraction Configuration].
Adding New Content
- •Determine the quadrant using the decision tree above
- •Create the file in the appropriate directory
- •Add to the index page for that quadrant
- •Add cross-references from related pages
- •Run
npm run lintto check for broken links
Diagram and Screenshot Placeholders
For diagrams to be added later:
.Architecture Overview [cols="1", options="header"] |=== | [DIAGRAM PLACEHOLDER: Memory Architecture] a| [source,text] ---- +------------------+ | MemoryClient | +------------------+ | Short | Long | R | +------------------+ ---- |===
For screenshots:
[NOTE] ==== **[SCREENSHOT PLACEHOLDER]** _Description: Neo4j Browser showing entity nodes and relationships_ Image to add: `images/screenshots/entity-graph.png` ====
Building and Testing
cd docs npm run build # Build all pages npm run serve # Serve with live reload npm run lint # Check for broken links