Skip to main content
skill CX Codex

technical-writer — Claude Code skill: docs from real code

Writes and restructures READMEs, tutorials, how-to guides, runbooks and release notes grounded in the actual code. Useful when new developers need to understand a project.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add OneWave-AI/claude-skills --skill technical-writer -a claude-code
Open on GitHub

What technical-writer does

The skill works in steps. First it names the reader and the job in one sentence, then picks a document type. A tutorial, a how-to, a reference, an architecture explanation and a troubleshooting page answer different questions, and mixing them is the usual reason docs read badly. After that the agent gathers facts from the source: entry points, scripts in package.json or pyproject.toml, config files, env var usage. Every command, flag and path in the draft has to come from something it read or ran.

Anything it cannot verify gets marked [VERIFY: ...] instead of guessed. The finished document arrives as a file, for example README.md or docs/setup.md, followed by a list of those markers, the assumptions made about the reader, and what should trigger an update.

This is not the skill for endpoint-by-endpoint API reference or for CLAUDE.md and AGENTS.md files — the description points to api-documentation-writer and claude-md-writer for those. It also leans on references/templates.md and references/style-guide.md, so without those files the templates and style rules do not come along.

What it helps with

  • write a README that gets a new developer to a running project
  • turn rough notes into a step-by-step how-to
  • sort existing docs by type and cut the clutter
  • build a runbook or SOP for a repeated operation
  • add troubleshooting for the failures people hit on setup

Example prompts for the agent

  • Write setup docs for this repo for new devs
  • Rewrite the README, it's unclear where to start
  • Draft a how-to for an admin configuring SSO

How to install technical-writer

1Skills CLI (Vercel)

npx skills add OneWave-AI/claude-skills --skill technical-writer -a claude-code

2Manually: put the files in place

~/.claude/skills/technical-writer/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/technical-writer/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about technical-writer

How do I install technical-writer in Claude Code?

Run npx skills add OneWave-AI/claude-skills --skill technical-writer -a claude-code. The skill then lives at ~/.claude/skills/technical-writer/SKILL.md.

What does technical-writer do?

It writes and restructures technical documentation: READMEs, tutorials, how-to guides, user guides, architecture docs, onboarding guides, runbooks and SOPs, troubleshooting guides, release notes. Commands and examples come from the code rather than from memory.

How is it different from api-documentation-writer and claude-md-writer?

They cover different jobs. Use api-documentation-writer for endpoint reference and OpenAPI specs, and claude-md-writer for CLAUDE.md or AGENTS.md files.

Source text

SKILL.md · MIT
---
name: technical-writer
description: Writes and restructures technical documentation - READMEs, tutorials, how-to guides, user guides, architecture docs, onboarding guides, runbooks and SOPs, troubleshooting guides, release notes, and knowledge base articles - grounded in the actual code or product, with commands and examples verified where possible. Use when the user asks to document a project, feature, system, or process, write or fix a README, explain a codebase to new developers, turn notes into a guide, or make existing docs clearer. For endpoint-by-endpoint API reference or OpenAPI specs, use api-documentation-writer; for CLAUDE.md or AGENTS.md files, use claude-md-writer.
---

# Technical Writer

Write documentation that lets a specific reader finish a specific task without asking anyone.

## Workflow

1. **Name the reader and the job.** One sentence: "[Reader] needs to [do what] and already knows [what]." A new contributor setting up the repo, an admin configuring SSO, and an executive evaluating the architecture need different documents. If the request does not say, infer from context and state the assumption at the top of your draft.

2. **Pick the document type.** Each type answers one question; mixing them is the most common reason docs feel unclear.

   | Reader wants to... | Type | Shape |
   |---|---|---|
   | learn by doing, first time | Tutorial | One guaranteed-to-work path, start to finish |
   | complete a known task | How-to guide | Goal, prerequisites, numbered steps, verify |
   | look something up | Reference | Tables and lists, complete and consistent |
   | understand why | Explanation / architecture | Context, design, trade-offs |
   | fix something broken | Troubleshooting | Symptom, cause, fix |

   A README is a front door: what it is, quickstart, links to the rest. Templates for every type are in [references/templates.md](references/templates.md).

3. **Gather facts from the source, not from memory.** In a codebase, read the entry points, `package.json` / `pyproject.toml` / `Makefile` scripts, config files, env var usage (`grep -r "process.env\|os.environ"`), and existing docs. Every command, flag, file path, env var, and default value in the doc must come from something you read or ran. When a fact cannot be verified, mark it `[VERIFY: ...]` rather than guessing.

4. **Draft with the template**, then apply [references/style-guide.md](references/style-guide.md). Lead with the most common task. Put prerequisites before step 1, not in the middle.

5. **Test the doc.** If you can run commands, walk the steps in order in a clean state and fix anything that fails or needs an unstated step. Otherwise, reread as the reader: is every step possible with only what the doc and prerequisites provide?

6. **Deliver** as the actual file (for example `README.md` or `docs/setup.md`), not wrapped in commentary. After it, list any `[VERIFY]` markers, assumptions about the reader, and what should trigger an update (a config format change, a new required env var).

## Worked example

Request: "Write setup docs for this repo for new devs."

- Reader and job: a developer who knows TypeScript but not this repo needs a running local environment and a passing test suite.
- Type: how-to guide (a known task), plus a short README section that links to it.
- Facts gathered: `package.json` scripts `dev`, `test`, `db:migrate`; `.env.example` lists `DATABASE_URL` and `STRIPE_SECRET_KEY`; `docker-compose.yml` runs Postgres 17; `engines.node` is `>=22`.
- Draft: Prerequisites (Node 22+, Docker) -> clone and install -> copy `.env.example` to `.env.local` and what each variable is for -> `docker compose up -d` -> `npm run db:migrate` -> `npm run dev` with the expected URL -> `npm test` with the expected output -> Troubleshooting for port 5432 already in use and a missing `DATABASE_URL`.
- Test: running the steps revealed a seed step (`npm run db:seed`) that the app needs; it was added as step 6.

## Failure modes

- **Invented details.** A plausible flag or env var that does not exist costs the reader more than a missing one. Verify or mark it.
- **Wall of prose where steps belong.** If the reader does things in order, number them. One action per step.
- **Missing expected results.** After each command that produces output, show what success looks like so the reader knows they are on track.
- **Mixing types.** A tutorial that stops to explain every design decision loses the learner. Link to the explanation instead.
- **Stale screenshots and versions.** Prefer text over screenshots for UI that changes. Pin versions only where the version matters, and say where the version comes from.
- **Documenting the happy path only.** Add the two or three failures a new reader is most likely to hit.

© OneWave-AI · MIT · OneWave-AI/claude-skills

Similar skills

Everything for Writing and docs →

From the same set58

landing-page-copywriter Writes conversion copy for landing pages, waitlists, and pricing tables using PAS, AIDA, or StoryBrand. Generates structured sections and headline variants without touching frontend code. CX Codex +1 6,500installs code-review-pro Reviews files, a module, a diff or a branch and returns severity-ranked findings: vulnerabilities, correctness bugs, performance and maintainability issues, each with evidence and a fix. CX Codex +1 2,600installs screenshot-to-code Turns a screenshot, mockup or Figma export into working front-end code, then renders it and compares the result against the image. Handy when the design exists but the markup does not. CX Codex +1 1,300installs csv-excel-merger A skill that folds several CSV, TSV and Excel files into one: stacks, joins on a key, drops duplicates and checks the row math. CX Codex +1 1,200installs sports-betting-analyzer Analyzes spreads, over/unders, and prop bets using historical trends and situational stats. Built for educational and entertainment betting analysis. CX Codex +1 808installs css-animation-creator A coding-agent skill for writing CSS animations, transitions, micro-interactions and scroll effects. Useful when you need motion in a UI without hand-tuning every duration. CX Codex +1 805installs job-application-optimizer This skill rewrites your resume for a specific posting, drafts a cover letter and builds interview questions. Useful when an application has to go out today. CX Codex +1 698installs knowledge-base-builder Turns support tickets into knowledge base articles: FAQ sections, step-by-step tutorials with screenshot placement, video scripts and deflection metrics. CX Codex +1 667installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor