Documentation
Technical documentation writing and maintenance. Modes — readme, runbook, api, onboarding. Uses writer agent principles for audience-appropriate, maintainable docs.From its SKILL.md
npx -y skills add drafthq/draft --skill documentationAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
SKILL.md
6.1 KB, as published. Nobody here has run it
Documentation
You are generating or updating technical documentation for this project using structured writing principles.
Red Flags — STOP if you're
- Writing docs without reading the code first
- Duplicating information that exists elsewhere (link instead)
- Writing docs for internal implementation details (only public interfaces)
- Ignoring the target audience (developer vs operator vs new hire)
- Generating a wall of text without structure or examples
Write for the reader. Link don't duplicate. Show don't tell.
Pre-Check
- Check for Draft context:
ls draft/ 2>/dev/null
If draft/ doesn't exist, this skill works standalone — generate docs from code analysis.
- Follow the base procedure in
core/shared/draft-context-loading.md.
Step 1: Parse Arguments
/draft:documentation readme— Generate or update project README/draft:documentation runbook <service>— Operations runbook for a service/draft:documentation api <module>— API documentation for a module/draft:documentation onboarding— New developer onboarding guide/draft:documentation(no args) — Interactive: ask what type of documentation
Step 2: Gather Source Material
README Mode
- Read existing
README.md(if any) - Read
draft/product.md— Product vision, users, goals - Read
draft/tech-stack.md— Technologies, setup requirements - Read
draft/workflow.md— Development workflow, commands - Scan for
Makefile,package.json,pyproject.toml— Build/run commands
Runbook Mode
- Read
draft/architecture.mdordraft/.ai-context.md— Service topology, dependencies - Read
draft/workflow.md— Deployment conventions - Read
draft/tech-stack.md— Infrastructure details - If GitHub MCP available: check recent deployment changes
- If Jira MCP available: check recent incident tickets for the service
API Mode
- Read source code for public interfaces, exported functions, API routes
- Read existing API docs (Swagger, OpenAPI, JSDoc, docstrings)
- Read
draft/architecture.md— API conventions, data models - Read
draft/tech-stack.md— API framework details
Onboarding Mode
- Read ALL draft context files in order:
draft/product.md— What is this project?draft/tech-stack.md— What technologies?draft/architecture.mdordraft/.ai-context.md— How is it structured?draft/workflow.md— How do I develop?draft/guardrails.md— What to watch out for?
- Scan for setup scripts, Docker configs, environment templates
Step 3: Apply Writing Principles
Follow these principles (from core/agents/writer.md):
- Write for the reader — Identify the audience (developer, operator, new hire) and tailor language, depth, and examples accordingly
- Start with the most useful information — Lead with what the reader needs most (setup for README, troubleshooting for runbook, endpoints for API)
- Show don't tell — Use code examples, command snippets, and diagrams over prose descriptions
- Progressive disclosure — Start simple, add detail progressively. Don't front-load every edge case
- Link don't duplicate — Reference existing docs, don't copy them. Single source of truth
- Keep current — Reference source of truth files. Note: "Generated from draft context on {date}"
Step 4: Generate Document
README Structure
# {Project Name}
{One-line description from product.md}
## Quick Start
{Setup commands from Makefile/package.json}
## Architecture
{High-level diagram from .ai-context.md}
## Development
{Commands from workflow.md}
## Testing
{Test commands and conventions}
## Contributing
{Workflow conventions}
Runbook Structure
# Runbook: {Service Name}
## Overview
{Service purpose, dependencies, SLOs}
## Health Checks
{Endpoints, expected responses}
## Common Issues
{Symptoms → diagnosis → resolution}
## Deployment
{Steps, rollback procedure}
## Monitoring
{Dashboard URLs, alert descriptions}
## Escalation
{On-call contacts, escalation paths}
API Documentation Structure
# API: {Module Name}
## Overview
{Purpose, authentication, base URL}
## Endpoints
### {METHOD} {path}
{Description}
**Request:** {body/params with examples}
**Response:** {status codes with examples}
**Errors:** {error codes and meanings}
Onboarding Structure
# Welcome to {Project Name}
## What is this?
{From product.md — 2-3 sentences}
## Architecture at a Glance
{Simplified from .ai-context.md}
## Getting Started
{Setup steps, first 15 minutes}
## Key Concepts
{Domain terms, important patterns}
## Development Workflow
{From workflow.md}
## Where to Find Things
{File structure guide}
## Common Pitfalls
{From guardrails.md}
Step 5: Output
Save to:
- README:
README.mdin project root - Runbook:
draft/docs/runbook-<service>.md - API:
draft/docs/api-<module>.md - Onboarding:
draft/docs/onboarding.md
Create draft/docs/ directory if needed.
Pre-save validation:
- Every file path referenced in the doc resolves to a real file (broken links are a common LLM failure mode here).
- Every relative link in the doc resolves under the project root.
- Code blocks copied from sources match the current commit (no stale snippets).
Present generated doc to user for review before final save.
Cross-Skill Dispatch
- Suggested by:
/draft:init(after context generation),/draft:implement(track completion with new APIs),/draft:upload(pre-upload for new APIs),/draft:decompose(module API docs) - Jira sync: If ticket linked, attach doc and post comment via
core/shared/jira-sync.md
Error Handling
If no draft context: Generate from code analysis alone, note: "Run /draft:init for richer documentation"
If existing doc found: Show diff between existing and generated, ask: "Update existing doc or create new? [update/new]"