Agent skill

documentation-writing

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.

Stars 45
Forks 28

Install this agent skill to your Project

npx add-skill https://github.com/rysweet/amplihack/tree/main/docs/claude/skills/documentation-writing

SKILL.md

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

  1. Location: All docs in docs/ directory
  2. Linking: Every doc linked from at least one other doc
  3. Simplicity: Plain language, remove unnecessary words
  4. Real Examples: Runnable code, not "foo/bar" placeholders
  5. Diataxis: One doc type per file (tutorial/howto/reference/explanation)
  6. Scanability: Descriptive headings, table of contents for long docs
  7. Local Links: Relative paths, context with links
  8. 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"
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.

Expand your agent's capabilities with these related and highly-rated skills.

rysweet/amplihack

chemist-analyst

Analyzes events through chemistry lens using molecular structure, reaction mechanisms, thermodynamics, kinetics, and analytical techniques (spectroscopy, chromatography, mass spectrometry). Provides insights on chemical processes, material properties, reaction pathways, synthesis, and analytical methods. Use when: Chemical reactions, material analysis, synthesis planning, process optimization, environmental chemistry. Evaluates: Molecular structure, reaction mechanisms, yield, selectivity, safety, environmental impact.

45 28
Explore
rysweet/amplihack

learning-path-builder

Creates personalized learning paths for technologies, frameworks, or concepts. Use for user-interactive session only for onboarding new technologies, hackathon skill-building, or personal development planning. Not for use in automated development or investigation. Sequences resources (docs, tutorials, exercises) based on current skill level and learning goals. Adapts to learning style: hands-on, theory-first, project-based.

45 28
Explore
rysweet/amplihack

gh-work-report

Generates comprehensive GitHub activity reports across all authenticated accounts. Gathers repos, PRs, features, and themes for configurable time periods (1/5/7/30/90 days). Produces shareable markdown with tables, mermaid charts, and executive summaries. Can create a private repo with GitHub Actions automation and GitHub Pages aggregation site. Use when: "github report", "work report", "activity summary", "what did I work on", "gh-work-report", "show my github activity".

45 28
Explore
rysweet/amplihack

pr-review-assistant

Philosophy-aware PR reviews checking alignment with amplihack principles. Use when reviewing PRs to ensure ruthless simplicity, modular design, and zero-BS implementation. Suggests simplifications, identifies over-engineering, verifies brick module structure. Posts detailed, constructive review comments with specific file:line references.

45 28
Explore
rysweet/amplihack

code-smell-detector

Identifies anti-patterns specific to amplihack philosophy. Use when reviewing code for quality issues or refactoring. Detects: over-abstraction, complex inheritance, large functions (>50 lines), tight coupling, missing __all__ exports. Provides specific fixes and explanations for each smell.

45 28
Explore
rysweet/amplihack

biologist-analyst

Analyzes living systems and biological phenomena through biological lens using evolution, molecular biology, ecology, and systems biology frameworks. Provides insights on mechanisms, adaptations, interactions, and life processes. Use when: Biological systems, health issues, evolutionary questions, ecological problems, biotechnology. Evaluates: Function, structure, heredity, evolution, interactions, molecular mechanisms.

45 28
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results