New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

READMEs, tutorials, how-to guides, user guides

Technical writer

by OneWave-AI · MIT license · ★ 306 on GitHub

Technical writer cover

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…

---
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 |

Overview

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

Manual install (npx, ZIP)
Claude Codenpx skills add OneWave-AI/claude-skills --skill technical-writer -g -a claude-code
Claude Code (degit)npx degit OneWave-AI/claude-skills/technical-writer#main ~/.claude/skills/technical-writer-2
Claude.ai / desktopZip the folder and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.7 KB
Read SKILL.md here
OneWave-AI/main1 file shown
SKILL.md
Show the full text52 lines
technical-writer-2/SKILL.md52 lines · 4.7 KB

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.

  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. 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.
1---
2name: technical-writer
3description: 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.
4---
5 
6# Technical Writer
7 
8Write documentation that lets a specific reader finish a specific task without asking anyone.
9 
10## Workflow
11 
121. **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.
13 
142. **Pick the document type.** Each type answers one question; mixing them is the most common reason docs feel unclear.
15 
16 | Reader wants to... | Type | Shape |
17 |---|---|---|
18 | learn by doing, first time | Tutorial | One guaranteed-to-work path, start to finish |
19 | complete a known task | How-to guide | Goal, prerequisites, numbered steps, verify |
20 | look something up | Reference | Tables and lists, complete and consistent |
21 | understand why | Explanation / architecture | Context, design, trade-offs |
22 | fix something broken | Troubleshooting | Symptom, cause, fix |
23 
24 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).
25 
263. **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.
27 
284. **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.
29 
305. **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?
31 
326. **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).
33 
34## Worked example
35 
36Request: "Write setup docs for this repo for new devs."
37 
38- Reader and job: a developer who knows TypeScript but not this repo needs a running local environment and a passing test suite.
39- Type: how-to guide (a known task), plus a short README section that links to it.
40- 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`.
41- 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`.
42- Test: running the steps revealed a seed step (`npm run db:seed`) that the app needs; it was added as step 6.
43 
44## Failure modes
45 
46- **Invented details.** A plausible flag or env var that does not exist costs the reader more than a missing one. Verify or mark it.
47- **Wall of prose where steps belong.** If the reader does things in order, number them. One action per step.
48- **Missing expected results.** After each command that produces output, show what success looks like so the reader knows they are on track.
49- **Mixing types.** A tutorial that stops to explain every design decision loses the learner. Link to the explanation instead.
50- **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.
51- **Documenting the happy path only.** Add the two or three failures a new reader is most likely to hit.
52 
View all files on GitHub →

Details

License
MIT
Stars on the repo
★ 306
Checked
Source
OneWave-AI/claude-skills ↗
Creator
OneWave-AI · 16 listings
View creator

Similar skills

See all →
SkillGenerate CHANGELOG.md entry from recent commitsSkillshare changelogrunkids/skillshare · by runkidsGenerate CHANGELOG.md entry from recent commits in conventional format. Also syncs the website changelog page. Use this skill whenever the user asks to: generate a changelog, document what changed between tags, or create a new CHANGELOG entry. If you see requests like "write the changelog for v0.17", what changed since last release", this is the skill to use. Do NOT manually edit CHANGELOG.md without this skill — it ensures proper formatting, user-perspective writing, and website changelog sync. For full release workflows (Release PR review, tests, draft assets, publication, announcements), use /release instead.★ 2.7k GitHub starsSkillUpdate website docs to match recent code changesSkillshare update docsrunkids/skillshare · by runkidsUpdate website docs to match recent code changes, cross-validating every flag against source. Use this skill whenever the user asks to: update documentation, sync docs with code, document a new flag or command, fix stale docs, or update the README. This skill covers all website/docs/ categories (commands, reference, understand, how-to, troubleshooting, getting-started) plus the built-in skill description and README. If you just implemented a feature and need to update docs, this is the skill to use. Never manually edit website docs without cross-validating flags against Go source first.★ 2.7k GitHub starsSkillRecords one architecture decision with alternativesArchitecture Decision Recorderlevnikolaevich/claude-code-skills · by levnikolaevichRecords one architecture decision with alternatives, consequences and status; does not design the whole system.★ 568 GitHub starsPromptAct as a GitHub Repository Analyst to perform in-depthGithub repository analysis and enhancementf/prompts.chat · by Mobin GhorbaniAct as a GitHub Repository Analyst to perform in-depth analysis and suggest improvements for repository structure, documentation, code quality, and community engagement.New listingPromptAct as a GitHub Repository Analystf/prompts.chat · by Yury SamAct as a GitHub Repository Analyst. You are an expert in software development and repository management with extensive experience in code analysis, documentation, and interaction with the GitHub community.New listingPromptA prompt designed to analyze a codebaseMulti-Audience Application Discovery & Documentation Promptf/prompts.chat · by Valdecir CarvalhoA prompt designed to analyze a codebase and generate comprehensive Markdown documentation tailored for executive, technical, product, and business audiences. It guides an AI to extract high-level system purpose, architecture, key components, workflows, product features, business domains, and limitations, producing an onboarding and discovery document suitable for both technical and non-technical stakeholders.New listing

More from OneWave-AI

SkillFinding security vulnerabilities , correctness bugsCode review proOneWave-AI/claude-skills · by OneWave-AIPerforms a deep code review of files, modules, a diff, or a branch - finding security vulnerabilities (mapped to OWASP Top 10:2025), correctness bugs, performance problems, and maintainability issues - and returns severity-ranked findings with evidence and concrete fixes. Use when the user asks to review, audit, or sanity-check code, asks "is this safe", "what's wrong with this", "find bugs", or wants a security or performance pass before shipping. For posting line comments on a GitHub pull request, use git-pr-reviewer.★ 306 GitHub starsSkillMapping mismatched column names to one schemaCSV/Excel MergerOneWave-AI/claude-skills · by OneWave-AIMerges, appends, joins, and deduplicates multiple CSV, TSV, and Excel files (including multi-sheet workbooks) with pandas - mapping mismatched column names to one schema, normalizing keys, resolving conflicting values, tracking which file each row came from, and verifying the row math. Use when the user wants to combine spreadsheets or exports, stack monthly files, consolidate contact or lead lists, VLOOKUP-style join two sheets on an ID or email, or dedupe records across sources, even if they only say "put these together" or "clean up these lists into one".★ 306 GitHub starsSkillDesigns relational and document database schemasDatabase schema designerOneWave-AI/claude-skills · by OneWave-AIDesigns relational and document database schemas from requirements or an existing app - tables and collections, keys, relationships, constraints, indexes driven by real query patterns, ERDs, and reversible migration scripts - with PostgreSQL (including Supabase) as the default and MySQL, SQLite, and MongoDB supported. Use when the user wants to model data for a new app or feature, review or fix an existing schema, choose keys or indexes, plan multi-tenancy, normalize or denormalize, or write CREATE TABLE statements or migrations, even if they just describe their app and ask "how should I store this". For moving data between database providers, use database-migrator.★ 306 GitHub starsSkillBuild and run a labelled eval set for a System One model Evaluating a typed-decision configOneWave-AI/claude-skills · by OneWave-AIBuild and run a labelled eval set for a System One model (Jev, Von, or any typed-decision config), then sweep criteria wordings and thresholds against it. Use when a Jev/Von classification is wrong or unreliable, when choosing between the hosted API and a local open model, when tuning noul thresholds, or before shipping any typed-decision feature. Produces an accuracy-by-wording matrix and a calibrated threshold.★ 306 GitHub starsSkillExtract and analyze data from invoices, receiptsFinancial Document ParserOneWave-AI/claude-skills · by OneWave-AIExtract and analyze data from invoices, receipts, bank statements, and financial documents. Categorize expenses, track recurring charges, and generate expense reports. Use when user provides financial PDFs or images.★ 306 GitHub starsSkillWrites conversion-focused landing page copyLanding page copywriterOneWave-AI/claude-skills · by OneWave-AIWrites conversion-focused landing page copy - headlines, subheads, value propositions, feature and benefit blocks, social proof, FAQs, and CTA button text - using PAS, AIDA, or StoryBrand. Use when the user wants words for a landing page, sales page, product or pricing page, waitlist page, homepage hero, or ad-to-page flow, including rewriting weak copy, generating headline or CTA variants for A/B tests, or turning a product description into page sections. Use landing-page-optimizer instead for auditing an existing page's performance, and a frontend skill for building the page itself.★ 306 GitHub stars