Skip to main content
skill CX Codex

technical-writing · akillness — Claude Code skill: internal tech docs

Writes internal technical documents: specs, architecture docs, ADRs, runbooks, migration plans and developer-facing guides.

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

What technical-writing does

The skill runs an eight-step flow. First it normalises your request into one primary mode — spec, architecture, adr, runbook, migration or internal-guide — then pins down the audience and the boundaries: what stays here and what goes to a neighbouring skill. Only after that does it gather the smallest credible evidence set and draft. Missing evidence gets labelled as an assumption instead of being dressed up as fact.

Bundled references cover document modes, mode structures and quality checklists, plus docs-as-code habits: stable headings, short lists where operators scan, explicit commands and paths. The tool surface is small — Read, Write, Edit, Glob, Grep.

Scope is drawn sharply. Published API, SDK and OpenAPI docs go to api-documentation, release notes to changelog-maintenance, decks to presentation-builder, launch copy to marketing-automation. If you want a developer portal written, that is your cue to reach for a different skill. It fits repositories where docs live in Markdown.

What it helps with

  • record a technical decision with the options and the reasoning
  • describe system boundaries and interfaces before implementation starts
  • write an on-call runbook with diagnosis and escalation steps
  • lay out a migration path with validation and rollback
  • explain to maintainers how a system works and how to change it safely

Example prompts for the agent

  • Write an ADR for moving to a new message queue: options, trade-offs, decision
  • Draft a runbook for the payments service: how to diagnose, what to check, who to escalate to
  • Write a migration plan for the database schema with validation steps and rollback

How to install technical-writing

1Skills CLI (Vercel)

npx skills add akillness/jeo-skills --skill technical-writing -a claude-code

2Manually: put the files in place

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

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

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

Questions about technical-writing

How do I install technical-writing in Claude?

Run npx skills add akillness/jeo-skills --skill technical-writing -a claude-code. The skill lands at ~/.claude/skills/technical-writing/SKILL.md.

What does technical-writing do?

It helps you write internal technical documentation: specs, architecture docs, ADRs, runbooks, migration plans and developer-facing guides. It picks a mode and audience first, gathers evidence, then drafts.

How is technical-writing different from api-documentation?

This skill owns internal documents for engineers and operators. Published API, SDK and OpenAPI docs are routed to api-documentation, and release notes to changelog-maintenance.

Source text

SKILL.md · MIT
---
name: technical-writing
description: >
  Write internal technical documentation for engineers and operators: technical
  specs, architecture docs, ADRs, runbooks, migration plans, and
  developer-facing implementation guides. Use when the main job is capturing a
  technical decision, system boundary, operating procedure, or rollout path for
  builders and maintainers. Triggers on: tech spec, design doc, architecture
  doc, ADR, runbook, migration guide, implementation guide, rollout doc,
  operational guide, and internal technical writing. End-user onboarding guides, tutorials, FAQs, and
  help-center flows belong here too. Route API portals to
  `api-documentation`, release
  notes to `changelog-maintenance`, decks to `presentation-builder`, and GTM
  messaging to `marketing-automation`.
allowed-tools: Read Write Edit Glob Grep
compatibility: >
  Best for repositories and docs-as-code workflows where the output lives in
  Markdown, ADR directories, architecture docs, runbooks, migration docs, or
  internal knowledge bases.
license: MIT
metadata:
  tags: technical-writing, documentation, specs, architecture, adr, runbooks, migration, developer-docs, docs-as-code
  platforms: Claude, ChatGPT, Gemini
  version: "2.1.0"
  modernization: 2026-04-13
  hardening: 2026-04-17
---

# Technical Writing

Use this skill when the deliverable is **internal technical documentation for builders and operators**.

`technical-writing` is the documentation-cluster anchor for:
- technical specs
- architecture docs
- ADRs / decision records
- runbooks and incident procedures
- rollout / rollback / migration guides
- developer-facing implementation or maintenance guides

Read these support docs before choosing the mode or boundary:
- [references/document-modes-and-boundaries.md](references/document-modes-and-boundaries.md)
- [references/mode-structures.md](references/mode-structures.md)
- [references/quality-checklists.md](references/quality-checklists.md)
- [references/docs-as-code-and-maintenance.md](references/docs-as-code-and-maintenance.md)

## When to use this skill
- A team needs a technical spec before implementation starts
- An engineer needs an architecture document or ADR that records trade-offs and decisions
- Ops needs a runbook, rollback guide, or incident response procedure
- A migration or rollout needs a durable written path with validation and rollback notes
- A developer-facing internal guide needs to explain how a system works and how to work on it safely

## When not to use this skill
- **Published API docs, SDK docs, OpenAPI reference, developer portal content** → `api-documentation`
- **Release notes, `CHANGELOG.md`, migration announcements for customers/devs** → `changelog-maintenance`
- **Slides, pitch decks, roadmap presentations, architecture demos** → `presentation-builder`
- **Product positioning, launch copy, GTM messaging, marketing automation** → `marketing-automation`
- **The main job is deciding the feature or API itself before writing the doc** → `task-planning`, `api-design`, or the relevant planning skill first

## Instructions

### Step 1: Classify one primary mode
Normalize the request into one primary mode before drafting.

```yaml
technical_writing_mode:
  primary_mode: spec | architecture | adr | runbook | migration | internal-guide
  audience: engineers | operators | mixed | unknown
  source_of_truth: repo | incident-notes | existing-doc | mixed | unknown
  lifecycle_state: draft | review | rewrite | maintenance
  docs_surface: markdown-repo | docs-site | wiki | unknown
  review_need: decision-signoff | operational-accuracy | handoff-clarity | unknown
```

Use one primary mode per run:
- `spec` → planned change, goals, constraints, design, rollout, rollback, open questions
- `architecture` → system structure, boundaries, interfaces, trade-offs, failure modes
- `adr` → one material decision with options and rationale
- `runbook` → operate, diagnose, recover, escalate
- `migration` → move from old to new safely with validation and rollback
- `internal-guide` → implementation-facing explanation for maintainers

### Step 2: Confirm audience and route-outs
Answer three questions before writing:
1. Who will act on this document?
2. What decision or action should it enable?
3. Which neighboring skills must stay out of scope?

Quick route-out table:

| If the request sounds like... | Use |
|---|---|
| Publish docs for an API, SDK, webhook, or developer portal | `api-documentation` |
| Write a tutorial, onboarding guide, or FAQ | owned here, in end-user guide mode |
| Summarize shipped changes or maintain `CHANGELOG.md` | `changelog-maintenance` |
| Make slides for a launch, roadmap, or architecture review | `presentation-builder` |
| Write launch or product messaging | `marketing-automation` |
| Decide the API or feature design before writing docs | `api-design`, `task-planning`, or another planning skill |

### Step 3: Gather the minimum technical evidence
Do not draft from vibes alone. Pull the smallest credible evidence set first:
- current behavior or architecture notes
- interfaces, schemas, commands, or operational signals
- rollout or operational constraints
- known failure modes and recovery steps
- unresolved questions or trade-offs

If evidence is missing, label assumptions explicitly instead of pretending the document is authoritative.

### Step 4: Choose the smallest fitting structure
Use [references/mode-structures.md](references/mode-structures.md) and only keep the sections that fit the chosen mode.

### Step 5: Apply mode-specific writing rules
- **Specs** must separate goals from non-goals.
- **Architecture docs** must explain boundaries and trade-offs, not every code path.
- **ADRs** must capture one decision, not become a full design doc.
- **Runbooks** must optimize for fast action under pressure.
- **Migration guides** must foreground compatibility, validation, and rollback.
- **Internal guides** must explain implementation reality, not customer education or marketing value props.

### Step 6: Keep it docs-as-code friendly
Default to reviewable, repo-friendly writing:
- stable headings
- concise bullet lists where operators scan
- explicit commands, paths, owners, and prerequisites
- dated decisions and status for ADR-like docs
- links to source-of-truth docs instead of duplicated narrative when possible

### Step 7: Run the quality check
Before finalizing, verify:
1. The audience is named or obvious.
2. The document states what decision or action it enables.
3. Assumptions and unknowns are labeled.
4. Commands, interfaces, validation, rollback, or escalation are concrete where relevant.
5. Neighboring documentation skills are not being absorbed.
6. The title and section layout match the chosen mode.

### Step 8: Return a brief or the finished artifact
Preferred summary shape before full drafting:

```markdown
# Technical Writing Brief

## Mode
- Primary mode:
- Why it fits:
- Audience:

## Source material used
- Repo/docs/evidence:
- Assumptions / gaps:

## Draft structure
1. section
2. section
3. section

## Writing notes
- Key decisions / actions enabled:
- Risks / unknowns:
- Route-outs kept out of scope:
```

If the user already asked for the finished artifact, produce the chosen document directly with the matching structure above.

## Examples

### Example 1: Internal design doc before implementation
**Input**
> Write a technical spec for moving our worker queue from Redis lists to Redis streams. Engineers need goals, constraints, rollout, and rollback before coding.

**Good output direction**
- mode: `spec`
- audience: engineers
- include goals, non-goals, constraints, design, rollout, rollback, open questions
- keep API portal publishing out of scope

### Example 2: Architecture decision capture
**Input**
> We chose Postgres logical replication over dual writes. Record the decision and alternatives in an ADR.

**Good output direction**
- mode: `adr`
- capture context, decision, alternatives, consequences, follow-up
- keep the document short and decision-focused

### Example 3: Incident runbook
**Input**
> Write a runbook for when the payments worker backlog spikes and retries start timing out.

**Good output direction**
- mode: `runbook`
- include symptoms, immediate checks, operating steps, escalation, rollback / recovery
- optimize for operator speed, not essay-style explanation

### Example 4: Boundary with API docs
**Input**
> Refresh our public webhook quickstart and auth troubleshooting page for external developers.

**Good output direction**
- route to `api-documentation`
- explain that the main job is published developer-facing API docs, not internal technical documentation

## Best practices
1. Choose the document mode before writing the body.
2. Keep internal technical docs decision- and action-oriented.
3. Write only the sections the mode needs; do not force every template into every document.
4. Separate internal design / ops docs from API portals, user help, release notes, decks, and GTM copy.
5. Prefer docs-as-code structure: reviewable Markdown, stable headings, and source-linked facts.
6. Label assumptions and unresolved questions explicitly.
7. For runbooks and migrations, make rollback and escalation easy to find.
8. When the request changes audience, route out instead of stretching the internal-docs lane.

## References
- [Diátaxis](https://diataxis.fr/)
- [Write the Docs — Docs as Code](https://www.writethedocs.org/guide/docs-as-code/)
- [Write the Docs — How to write software documentation](https://www.writethedocs.org/guide/writing/beginners-guide-to-docs/)
- [Architectural Decision Records](https://adr.github.io/)
- [Keep a Changelog](https://keepachangelog.com/en/1.1.0/)

© akillness · MIT · akillness/jeo-skills

Similar skills

All skills for Writing and docs →

technical-writing by other authors comes first.

technical-writing backnotprop Applies a layered technical-writing standard using Diátaxis, Google developer style, STE, and Global English. Helps draft clear readmes, RFCs, and pull requests. CX Codex +1 5,500installs technical-writing frappe A skill that makes the agent write in Simplified Technical English: short sentences, active voice, one word per meaning. Meant for docs, READMEs and commits. CX Codex +1 514installs technical-writing Mindrally Enforces strict technical writing rules for developer tutorials and documentation. It eliminates cliches and bullet lists to produce deep, practical implementation guides. CX Codex +1 1,200installs writing-runbooks riekelt A skill for writing runbooks, setup and release procedures, migration guides and troubleshooting entries people execute under time pressure. CX Codex +1 18,100installs technical-specification aj-geddes Gives your agent a structure for technical specs, PRDs, ADRs and RFCs: requirements, architecture, acceptance criteria. Useful before you start coding a feature. CX Codex +1 804installs writing-adrs pandoscope Sets the format, numbering and when-to-write rules for Architecture Decision Records. Useful when architectural choices keep getting lost in chat threads. CX Codex +1 1,700installs documentation official anthropics A skill for technical writing that drafts READMEs, API references, runbooks, architecture docs and onboarding guides. Useful when the code exists but the description does not. CX Codex +1 10,300installs reviewing-technical-prose riekelt A skill for reviewing someone else's technical writing: it flags banned constructions, unsupported claims and structural defects, then runs a delivery checklist before a document ships. CX Codex +1 18,200installs runbook official anthropics This skill turns a recurring operation into a step-by-step runbook with verification, failure handling, rollback, and escalation guidance. CX Codex +1 3,100installs

From the same set29

react-best-practices A skill that audits React and Next.js performance: it traces request waterfalls, extra bundle JS, server-client boundary mistakes and wasted rerenders. CX Codex +1 399installs rtk Installs and wires RTK (Rust Token Killer) so shell command output reaches your agent in compact form. Useful when logs and diffs eat the context window. CX Codex +1 671installs data-analysis A skill that walks the agent through dataset analysis: quality checks first, then the right method, then findings with caveats. Useful when you have an export and need an answer, not just code. CX Codex +1 598installs responsive-design The skill turns a vague “breaks on mobile” report into one named responsive surface, a strategy packet and a verification plan. CX Codex +1 478installs research-paper-writing A skill for drafting and revising research papers: it maps claims to evidence, plans sections, and helps you answer reviewers. CX Codex +1 466installs presentation-builder An AI coding skill that turns a request into an actual deck: investor, roadmap, QBR, launch, demo or workshop slides. Useful when you need editable slides, not prose. CX Codex +1 450installs file-organization Picks the boundary for your files — feature, shared layer, route segment or workspace package — and plans the move without breaking imports. CX Codex +1 397installs task-estimation Turns fuzzy scope into one estimate packet with the right horizon, named uncertainty and a single next move. CX Codex +1 395installs

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