documentation-writing
π―Skillfrom rysweet/amplihack
Generates high-quality, discoverable software documentation following the Eight Rules and Diataxis framework, ensuring clear, runnable examples and proper doc structure.
Installation
npx skills add https://github.com/rysweet/amplihack --skill documentation-writingSkill Details
Writing clear, discoverable software documentation following the Eight Rules and Diataxis framework. Use when creating README files, API docs, tutorials, how-to guides, or any project documentation. Automatically enforces docs/ location, linking requirements, and runnable examples.
Overview
# Documentation Writing Skill
Purpose
Creates high-quality, discoverable documentation following the Eight Rules and Diataxis framework. Ensures all docs are properly located, linked, and contain real runnable examples.
When I Activate
I load automatically when you mention:
- "write documentation" or "create docs"
- "document this feature/module/API"
- "create a README" or "write a tutorial"
- "explain how this works"
- Any request to create markdown documentation
Core Rules (MANDATORY)
The Eight Rules
- Location: All docs in
docs/directory - Linking: Every doc linked from at least one other doc
- Simplicity: Plain language, remove unnecessary words
- Real Examples: Runnable code, not "foo/bar" placeholders
- Diataxis: One doc type per file (tutorial/howto/reference/explanation)
- Scanability: Descriptive headings, table of contents for long docs
- Local Links: Relative paths, context with links
- Currency: Delete outdated docs, include update metadata
What Stays OUT of Docs
Never put in docs/:
- Status reports or progress updates
- Test results or benchmarks
- Meeting notes or decisions
- Plans with dates
- Point-in-time snapshots
Where temporal info belongs:
- Test results β CI logs, GitHub Actions
- Status updates β GitHub Issues
- Progress β Pull Request descriptions
- Decisions β Commit messages
Quick Start
Creating a New Document
```markdown
# [Feature Name]
Brief one-sentence description of what this is.
Quick Start
Minimal steps to get started (3-5 steps max).
Contents
- [Configuration](#configuration)
- [Usage](#usage)
- [Troubleshooting](#troubleshooting)
Configuration
Step-by-step setup with real examples.
Usage
Common use cases with runnable code.
Troubleshooting
Common problems and solutions.
```
Document Types (Diataxis)
| Type | Purpose | Location | User Question |
| ----------- | ------------- | ----------------- | ----------------------- |
| Tutorial | Learning | docs/tutorials/ | "Teach me how" |
| How-To | Doing | docs/howto/ | "Help me do X" |
| Reference | Information | docs/reference/ | "What are the options?" |
| Explanation | Understanding | docs/concepts/ | "Why is it this way?" |
Workflow
Step 1: Determine Document Type
Ask: What is the reader trying to accomplish?
- Learning something new β Tutorial
- Solving a specific problem β How-To
- Looking up details β Reference
- Understanding concepts β Explanation
Step 2: Choose Location
```
docs/
βββ tutorials/ # Learning-oriented
βββ howto/ # Task-oriented
βββ reference/ # Information-oriented
βββ concepts/ # Understanding-oriented
βββ index.md # Links to all docs
```
Step 3: Write with Examples
Every concept needs a runnable example:
```python
# Example: Analyze file complexity
from amplihack import analyze
result = analyze("src/main.py")
print(f"Complexity: {result.score}")
# Output: Complexity: 12.5
```
Step 4: Link from Index
Add entry to docs/index.md:
```markdown
- [New Feature Guide](./howto/new-feature.md) - How to configure X
```
Step 5: Validate
Checklist before completion:
- [ ] File in
docs/directory - [ ] Linked from index or parent doc
- [ ] No temporal information
- [ ] All examples tested
- [ ] Follows one Diataxis type
Navigation Guide
When to Read Supporting Files
reference.md - Read when you need:
- Complete frontmatter specification
- Detailed Diataxis type definitions
- Markdown style conventions
- Documentation review checklist
examples.md - Read when you need:
- Full document templates for each type
- Real-world documentation examples
- Before/after improvement examples
- Complex documentation patterns
Anti-Patterns to Avoid
| Anti-Pattern | Why It's Bad | Better Approach |
| ------------------ | ------------- | ------------------------------ |
| "Click here" links | No context | "See [auth config](./auth.md)" |
| foo/bar examples | Not realistic | Use real project code |
| Wall of text | Hard to scan | Use headings and bullets |
| Orphan docs | Never found | Link from index |
| Status in docs | Gets stale | Use Issues/PRs |
Retcon Documentation Exception
When writing documentation BEFORE implementation (document-driven development):
````markdown
# [PLANNED - Implementation Pending]
This document describes the intended behavior of Feature X.
Planned Interface
```python
# [PLANNED] - This API will be implemented
def future_function(input: str) -> Result:
"""Process input and return result."""
pass
```
````
Once implemented, remove the [PLANNED] markers and update with real examples.
```
---
Full reference: See [reference.md](./reference.md) for complete specification.
Templates: See [examples.md](./examples.md) for copy-paste templates.
```
More from this repository10
computer-scientist-analyst skill from rysweet/amplihack
Extracts, stores, and injects cross-session learnings using simple keyword matching to enhance problem-solving efficiency.
Proactively monitors, extracts, and selectively rehydrates context to optimize token usage and preserve essential conversation details.
Drafts professional, contextually-appropriate emails by transforming bullet points or conversation summaries into polished communications with customizable tone and style.
Analyzes technical systems and problems using engineering frameworks to provide insights on feasibility, performance, optimization, and design trade-offs.
Evaluates complex scenarios through indigenous knowledge systems, centering holistic, relational thinking and long-term sustainability across environmental, governance, and cultural domains.
Enables multi-agent consensus voting with domain-weighted expertise for critical security and system decisions requiring structured validation.
Expertly delegates coding tasks by creating comprehensive context packages, analyzing requirements, and generating clear instructions for agents.
Analyzes historical events through rigorous source criticism, comparative methods, and temporal frameworks to uncover patterns, precedents, and long-term trends.
Generates N independent solutions for critical implementations, comparing and selecting the most robust approach through systematic evaluation and diversity of agent perspectives.