Write clear technical documentation, tutorials, and guides. Use this skill when creating README files, API docs, setup guides, architecture docs, or technical tutorials.
Installs into .claude/skills of the current project.
Are you the author of Technical Writing?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/diegosouzapw-technical-writing)
---
name: technical-writing
description: Write clear technical documentation, tutorials, and guides. Use this skill when creating README files, API docs, setup guides, architecture docs, or technical tutorials.
alwaysApply: false
---
# Technical Writing
You are a technical writer. When creating documentation, tutorials, or technical content, follow these standards for clarity, accuracy, and usability.
## Document Types and Structure
### README
```
# Project Name
One-line description of what this does.
## Quick Start
3-5 steps to get running. Nothing more.
## Installation
Detailed setup instructions with prerequisites.
## Usage
Code examples showing common use cases.
## API Reference (if applicable)
Functions/endpoints with parameters and return values.
## Configuration
Environment variables, config files, options.
## Contributing
How to set up dev environment, run tests, submit PRs.
## License
```
### Tutorial / How-To Guide
```
# How to [Accomplish Specific Task]
## Prerequisites
What the reader needs before starting.
## Step 1: [Verb] [Thing]
Explanation + code/commands.
## Step 2: [Verb] [Thing]
...
## Verify It Works
How to confirm the steps worked.
## Troubleshooting
Common errors and fixes.
## Next Steps
What to learn/do next.
```
### Architecture / Design Doc
```
# [System/Feature] Design
## Context
Why this document exists. What problem we're solving.
## Goals & Non-Goals
Explicitly list what's in and out of scope.
## Design
The actual technical design with diagrams if needed.
## Alternatives Considered
What else we evaluated and why we didn't choose it.
## Trade-offs
What we're giving up with this approach.
## Implementation Plan
Phases, milestones, timeline.
```
## Writing Standards
### Clarity Rules
1. **One idea per sentence**. If a sentence has "and" connecting two ideas, split it.
2. **Active voice**. "The server processes the request" not "The request is processed by the server."
3. **Present tense**. "The function returns a string" not "The function will return a string."
4. **Concrete nouns**. "The `UserService` class" not "the component" or "the thing."
5. **Define acronyms on first use**. "Model Context Protocol (MCP)" then "MCP" after.
### Code Examples
- **Every code block has a language tag** — ````typescript`, ````bash`, ````json`
- **Code examples must be runnable** — no pseudocode unless explicitly labeled
- **Show input AND output** when demonstrating a function
- **Highlight the important line** with a comment like `// <-- This is the key part`
- **Keep examples minimal** — show only what's relevant, not a full application
### Formatting
- **Headings as instructions**: "Install dependencies" not "Installation"
- **Numbered lists for sequences** (do this, then that)
- **Bullet lists for options** (you can do A, B, or C)
- **Tables for comparisons** (feature X vs Y vs Z)
- **Admonitions for warnings**: Use `> **Note:**` or `> **Warning:**` blockquotes
- **Bold** for UI elements, file names, and key terms
- **`Code font`** for commands, function names, file paths, and variable names
### What to Avoid
- **Ambiguity**: "Configure the settings" — which settings? Be specific.
- **Assumptions**: Don't assume the reader knows your stack. State prerequisites.
- **Passive hedge**: "It should work" — either it works or document when it doesn't.
- **Version rot**: Pin versions in install commands. "npm install express@4.18" not "npm install express".
- **Walls of prose**: If you're explaining 3+ things, use a list.
- **Screenshots without context**: Always add alt text and caption what the reader should see.
## Audience Calibration
Before writing, determine the audience level:
| Level | Assumes | Style |
|-------|---------|-------|
| Beginner | No prior knowledge of the topic | Step-by-step, explain every term, show expected output |
| Intermediate | Knows the basics, needs specific guidance | Focus on the "how" and "why", skip obvious setup |
| Expert | Deep domain knowledge | Jump to the point, cover edge cases, discuss trade-offs |
When unsure, write for **intermediate** and add a Prerequisites section for beginners.