home / skills / ratacat / claude-skills / writing-documentation

writing-documentation skill

/skills/writing-documentation

This skill applies Elements of Style to craft concise, clear technical docs such as READMEs, API docs, and guides.

This is most likely a fork of the writing-documentation skill from nilecui
npx playbooks add skill ratacat/claude-skills --skill writing-documentation

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
6.2 KB
---
name: writing-documentation
description: Produces concise, clear documentation by applying Elements of Style principles. Use when writing or improving any technical documentation (READMEs, guides, API docs, architecture docs). Not for code comments.
---

# Writing Documentation Skill

Apply Strunk & White's *Elements of Style* principles to produce concise, clear technical documentation.

## When to Use This Skill

**Use this skill when:**
- Writing new documentation (README, API docs, guides, tutorials, architecture docs)
- Improving existing documentation
- Reviewing documentation for quality
- User asks to "make this more concise" or "improve clarity"
- User mentions: documentation, docs, README, guide, tutorial, API docs

**Do NOT use this skill for:**
- Code comments (different context, separate skill needed)
- Marketing copy (requires persuasive voice, not neutral clarity)
- Personal blog posts (requires individual voice)

## Workflows

### Workflow 1: Write New Documentation

**Steps:**

1. **Understand the purpose**
   - [ ] What is the primary goal of this documentation?
   - [ ] Who is the target audience?
   - [ ] What do readers need to accomplish after reading?

2. **Load writing principles**
   - [ ] Read `reference/strunk-white-principles.md` to internalize core principles

3. **Determine documentation type**
   - [ ] Read `reference/doc-types.md` to select appropriate type
   - [ ] Identify essential sections based on guidelines

4. **Draft the documentation**
   - [ ] Apply Strunk & White principles while writing

5. **Validate quality**
   - [ ] Run through Quality Checklist (below)
   - [ ] Verify all essential information is present
   - [ ] Confirm document achieves its purpose

### Workflow 2: Improve Existing Documentation

**Steps:**

1. **Read the current documentation**
   - [ ] Understand its purpose and audience
   - [ ] Note specific problems (verbosity, unclear sections, missing info)

2. **Load writing principles**
   - [ ] Read `reference/strunk-white-principles.md`
   - [ ] Review `reference/examples.md` for before/after patterns

3. **Apply improvements**
   - [ ] Remove needless words
   - [ ] Convert passive to active voice
   - [ ] Strengthen vague statements
   - [ ] Eliminate redundancy
   - [ ] Improve organization if needed

4. **Validate improvements**
   - [ ] Run through Quality Checklist
   - [ ] Verify no information was lost
   - [ ] Confirm clarity improved

### Workflow 3: Review Documentation

**Steps:**

1. **Load writing principles**
   - [ ] Read `reference/strunk-white-principles.md`
   - [ ] Review relevant guidelines in `reference/doc-types.md`

2. **Assess against quality criteria**
   - [ ] Run through Quality Checklist (below)
   - [ ] Note specific violations with examples

3. **Provide feedback**
   - [ ] List specific issues found
   - [ ] Reference violated principles
   - [ ] Suggest concrete improvements

## Decision Framework

### When to Write vs Improve

**Write new documentation when:**
- No documentation exists
- Existing documentation is fundamentally wrong or outdated
- Complete restructuring needed (cheaper to rewrite)

**Improve existing documentation when:**
- Core structure and information are sound
- Style or clarity issues can be fixed incrementally
- Specific sections need enhancement

### Choosing Documentation Type

See `reference/doc-types.md` for detailed guidelines. Quick reference:

- **README**: Project overview, quick start, primary entry point
- **API Documentation**: Reference for function/endpoint signatures and behavior
- **Tutorial/Guide**: Step-by-step learning path for accomplishing specific goals
- **Architecture/Design Doc**: Explain system structure, decisions, and tradeoffs
- **CLI Tool Documentation**: Command reference with options and examples

### Prioritizing Conciseness vs Comprehensiveness

**Prioritize conciseness when:**
- Documentation type is reference (README, API docs, CLI docs)
- Readers need to scan quickly
- Getting started / quick start sections

**Prioritize comprehensiveness when:**
- Documentation type is learning-focused (tutorials, guides)
- Complex concepts require detailed explanation
- Architecture decisions need thorough justification

**Balance both:**
- Use concise overview sections with detailed subsections
- Link to comprehensive resources rather than embedding everything
- Apply progressive disclosure pattern

## Quality Checklist

### Content
- [ ] Purpose is clear
- [ ] Essential information is present
- [ ] No unnecessary information
- [ ] Correct and accurate

### Writing (Core Principles)
- [ ] Active voice predominates
- [ ] Definite statements (not hedging)
- [ ] Positive form
- [ ] Specific, concrete language
- [ ] Concise (no needless words)

### Structure
- [ ] Logical organization
- [ ] Clear headings
- [ ] Scannable
- [ ] Examples where helpful

### Technical Documentation
- [ ] Code examples are executable
- [ ] Commands include full context
- [ ] Prerequisites are stated
- [ ] Error cases are covered

## Reference Files

### When to Load Each Reference

**Load `reference/strunk-white-principles.md`:**
- At the start of EVERY documentation writing/improvement task
- When reviewing documentation

**Load `reference/doc-types.md`:**
- When choosing what type of documentation to write
- When unsure about essential sections for a doc type
- When reviewing documentation structure

**Load `reference/examples.md`:**
- When improving existing documentation (see patterns)
- When you want concrete before/after examples

## Common Pitfalls

**Skipping Principle Loading**: ALWAYS load `reference/strunk-white-principles.md` before writing.

**Following Guidelines Rigidly**: Adapt to the specific project's needs. Some projects don't need all sections; some need additional ones.

**Over-Editing**: "Omit needless words" means remove words that add no value. Keep all information that serves the reader's purpose.

**Sacrificing Accuracy for Brevity**: Accuracy always wins. Express explanations concisely, but never misleadingly.

**Inconsistent Terminology**: Choose one term for each concept and use it consistently.

## Notes

- This skill works iteratively - you can run it multiple times on the same document without degrading quality (idempotent)
- Quality over quantity - a short, clear document is better than a comprehensive, confusing one

Overview

This skill produces concise, clear technical documentation by applying Elements of Style principles. It is designed for writing or improving project docs, API references, tutorials, and architecture or design documents. Use it to make documentation more direct, scannable, and useful for readers.

How this skill works

The skill starts by determining purpose and audience, then loads core writing principles to guide edits. It chooses the appropriate document type, drafts or revises content using active voice and omission of needless words, and validates output against a quality checklist. Feedback is specific, with concrete edits and examples where helpful.

When to use it

  • Writing new project or API documentation and guides
  • Improving existing documentation for clarity and concision
  • Reviewing docs for style, structure, and completeness
  • When a user asks to “make this more concise” or “improve clarity”
  • Preparing tutorials, architecture, or design documents (not code comments)

Best practices

  • Begin by defining the document’s purpose and target readers
  • Load and apply core Elements of Style principles before editing
  • Prefer active voice and definite, concrete language
  • Balance concise overviews with linked deep dives for complex topics
  • Validate that no essential information was removed during edits

Example use cases

  • Draft a quick-start and overview for a new project so users can get started fast
  • Convert a verbose guide into a scannable tutorial with step-by-step examples
  • Improve an API reference by clarifying parameter behavior and adding minimal examples
  • Review architecture docs to tighten prose and ensure decision rationale is explicit
  • Edit CLI or command reference entries to include full context and executable examples

FAQ

Can this skill edit code comments?

No. This skill targets external documentation, not inline code comments; use a dedicated code-commenting workflow for that context.

How does it balance conciseness with necessary detail?

It uses progressive disclosure: concise overviews up front and linked detailed sections for complex topics, ensuring accuracy isn’t sacrificed for brevity.