Back to Skills

technical-writing

verified

Technical writing expert for API documentation, README files, tutorials, changelog management, and developer documentation. Covers style guides, information architecture, versioning docs, OpenAPI/Swagger, and documentation-as-code. Activates for technical writing, API docs, README, changelog, tutorial writing, documentation, technical communication, style guide, OpenAPI, Swagger, developer docs.

View on GitHub

Marketplace

specweave

anton-abyzov/specweave

Plugin

sw-docs

productivity

Repository

anton-abyzov/specweave
27stars

plugins/specweave-docs/skills/technical-writing/SKILL.md

Last Verified

January 25, 2026

Install Skill

Select agents to install to:

Scope:
npx add-skill https://github.com/anton-abyzov/specweave/blob/main/plugins/specweave-docs/skills/technical-writing/SKILL.md -a claude-code --skill technical-writing

Installation paths:

Claude
.claude/skills/technical-writing/
Powered by add-skill CLI

Instructions

# Technical Writing Skill

**Self-contained technical documentation expertise for ANY user project.**

Expert in developer-focused documentation: READMEs, API references, tutorials, and changelogs.

---

## Core Documentation Types

### 1. README Files

**Essential Structure**:
```markdown
# Project Name

One-sentence description.

## Features
- Key feature 1
- Key feature 2

## Installation
```bash
npm install project-name
```

## Quick Start
```javascript
import { ProjectName } from 'project-name';
const instance = new ProjectName();
```

## Usage
[Basic example]

## API Reference
[Link or inline reference]

## Contributing
[Link to CONTRIBUTING.md]

## License
MIT
```

**Best Practices**:
- Lead with value (what problem solved?)
- Code examples > long explanations
- Progressive disclosure (quick start → advanced)
- Keep updated with code

### 2. API Documentation

**Function/Method Documentation**:
```typescript
/**
 * Compress image with quality settings
 *
 * @param {string} input - Path to input image
 * @param {CompressOptions} options - Compression options
 * @param {number} options.quality - Quality 0-100 (default: 80)
 * @param {string} options.format - Output format: jpeg|png|webp
 *
 * @returns {Promise<CompressResult>} Compression result with saved bytes
 *
 * @example
 * const result = await compress('photo.jpg', { quality: 90 });
 * console.log(`Saved ${result.savedBytes} bytes`);
 */
```

**REST API Documentation**:
```markdown
### POST /api/users

Create a new user.

**Request**:
```json
{
  "email": "user@example.com",
  "name": "John Doe"
}
```

**Response** (201 Created):
```json
{
  "id": "uuid",
  "email": "user@example.com",
  "name": "John Doe",
  "created": "2025-11-24T12:00:00Z"
}
```

**Errors**:
- 400: Invalid email format
- 409: Email already exists
```

### 3. Tutorials

**Structure**:
```markdown
# Tutorial: Build X in 10 Minutes

**You'll learn**:
- How to set up X
- Core concepts
- Build a working example

**Prerequisites**:
- Node.j

Validation Details

Front Matter
Required Fields
Valid Name Format
Valid Description
Has Sections
Allowed Tools
Instruction Length:
9117 chars