К основному содержанию
скилл CX Codex

writing-design-docs — скилл для Claude Code: что делает

Шаблон и правила подготовки дизайн-документов, RFC и миграционных планов. Задаёт скелет документа, карточки обоснований Why & What и проверку на неопределённости.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add riekelt/technical-writer --skill writing-design-docs -a claude-code
Открыть на GitHub

Что делает writing-design-docs

Скилл задаёт чёткую структуру для RFC и архитектурных предложений. Документ начинается сразу с вывода, цели разделяются на прямые и не-цели, а спорные решения оформляются в карточки Why & What. В них обязательно указываются отвергнутые альтернативы с их сильнейшими аргументами и план отката, если решение не сработает.

Для работы требуется скилл technical-writing из того же репозитория. Текст не должен продавать идею. Раздел выгод завершается перечислением цены решения и сопутствующих ограничений. Если факт в описании не имеет источника, агент обязан пометить его маркером **[source wanted: ...]**, а не придумывать ссылку.

Перед сдачей текста запускается аудит на дефекты размытости: висячие плейсхолдеры, отсутствие критериев приёмки, неописанные сущности и шаги без способов реализации. Если объём превышает примерно 800 строк, скилл требует разделить документ на связанные части.

Какие задачи решает

  • составить RFC или техническое предложение с выводом на первой странице
  • структурировать выбор архитектурного решения через блок Why & What
  • проверить черновик спецификации на пробелы и неполноту формулировок
  • отделить проверенные факты от проектных предложений с привязкой к коммиту

Примеры запросов агенту

  • Подготовь дизайн-документ для перехода на асинхронную очередь задач
  • Напиши RFC по разделению монолита на модули с карточками Why & What
  • Проверь этот черновик спецификации на неполноту и висячие плейсхолдеры

Как установить writing-design-docs

1Через Skills CLI (Vercel)

npx skills add riekelt/technical-writer --skill writing-design-docs -a claude-code

2Вручную: положить файлы

~/.claude/skills/writing-design-docs/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/writing-design-docs/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о writing-design-docs

Как установить writing-design-docs в Claude Code?

Выполните в терминале команду npx skills add riekelt/technical-writer --skill writing-design-docs -a claude-code. Файл скилла будет сохранён по пути ~/.claude/skills/writing-design-docs/SKILL.md.

Для каких документов подходит writing-design-docs?

Он рассчитан на RFC, технические предложения, спецификации и планы миграций. Для фиксации уже принятых архитектурных решений, регламентов и отчётов о статусе автор рекомендует отдельные специализированные скиллы вроде recording-decisions и writing-runbooks.

Что нужно подготовить перед использованием writing-design-docs?

Скилл требует обязательного подключения скилла technical-writing из этого же репозитория. Именно там описаны правила стиля, работа со спорными фактами и требования к проверке утверждений.

Исходный текст

SKILL.md · MIT
---
name: writing-design-docs
description: Use when writing a proposal, RFC, design document, spec, or migration plan - anything that argues for a change, records a design, or asks readers for input on one. Encodes the proposal skeleton, the Why & What decision box, and the completeness checks. Use whenever a change needs arguing or scoping in writing, even if the user just says "write up the approach".
---

# Writing design docs

**REQUIRED BACKGROUND:** the `technical-writing` skill (read-first, hard rules, truth rules, style).

## Overview

A design document is a proposal made discussable: conclusion first, every non-trivial choice in a Why & What box, costs named next to benefits, and fact separated from proposal.

## When to invoke, and not

Invoke for anything that argues for a change or records a design: proposals, RFCs, design docs, specs, migration plans, "should we" documents. Do NOT invoke for recording an already-taken decision (`recording-decisions`), for procedures (`writing-runbooks`), or for status reports.

Under pressure: a proposal persuades with its numbers and its named costs, and the register rules hold whatever the deadline (the `technical-writing` rule; "punchy" is not an override). When supplied facts arrive without sources, mark them `**[source wanted: ...]**` and keep writing (see `references/truth.md` in the `technical-writing` skill); never invent a citation and never silently drop the fact.

## Skeleton

```markdown
# Title: what the document does

**Subtitle pinning the scope in one sentence**

|                |                                            |
| -------------- | ------------------------------------------ |
| **Status**     | Draft / Request for comments               |
| **Owner**      | [team or role]                             |
| **Scope**      | [explicit, including what falls outside]   |
| **Related**    | [links to sibling documents]               |
| **Audience**   | [who must read this]                       |

---

## 1. Summary
[The conclusion immediately. Not the occasion, not the method.]

## 2. [Context / what was analyzed]
## 3. [The analysis, split per question]
## n. Open questions
## n+1. Benefits and costs
[Both. Benefits alone reads as a sales pitch.]
## n+2. Residual risks and what not to do
[Only when the design hands work to other teams.]

---

*Closing line: which parts are fact and which are proposal, and where input is wanted.*
```

## Structure rules

- **Number chapters** and cite them as `ch. 7.1`.
- **Goals and non-goals both.** The non-goals (or "explicitly not changed") section states what stays unchanged.
- **Definitions before behavior** when a term is ambiguous: pin "responded", "eligible", "stale" before using them.
- **A grounding section** pins the facts the design rests on: a fact/source table, checked against a named commit. Separate verified facts from what will be built.
- **Appendices** take letters (Appendix A, B) and hold what would bury the main text: config examples, glossaries, inventories.
- **A fact lives in one place.** Link to it; never repeat it, not even across documents in the same repo.
- **Mark unfinished parts** with `**[DRAFT - input wanted]**` instead of omitting them.
- **Open questions get owners**: a name, a role, or an explicit "to be filled by".
- **Residual risks and what NOT to do** close the document when the design ships work to others.
- **No line budget**, but length from repetition or emphasis goes; past roughly 800 lines, split and let the main document link to the parts.

## The Why & What box

Every non-trivial choice gets one; readers react to the box, not to the conclusion.

```markdown
> **Why & What - [the choice in four words]**
>
> **What:** [the choice, one sentence, no justification]
>
> **Why:** [the reasoning. Also name what the choice does NOT solve.]
>
> **Alternatives considered:**
> - *[Alternative]:* [its strongest argument, and why it still lost]
>
> **Fallback:** [what survives if this does not work]
```

- An alternative dismissed without its strongest argument is a strawman. Name that argument.
- Admitting what the choice does not solve makes the document more credible.
- No box for choices nobody would contest; that is noise.
- An alternative that appears nowhere else in the document does not belong in the box: the reader would never consider it. One such rejection can be justified; several short ones in a row mean the box is padded.

## Tone

- The document stays a proposal: "we propose" and "whether that convinces is up to you", not "this becomes the way of working". It sets the direction and leaves the detailed choices open.
- Name what it costs. The benefits chapter ends with the price: what gets harder, what people must unlearn, which freedom disappears.
- No superlatives, no promise language. Concrete figures and verifiable statements.
- The expected outcome may be negative; say so up front: "the expected outcome is that the current queue beats the proposed rewrite; that is a useful result."

## Completeness check

Before handing a spec or plan to a reviewer or executor, check the five vagueness defects:

1. Unresolved placeholders: any literal TBD, TODO, "fill in later", or clearly incomplete sentence (a marked `**[DRAFT - input wanted]**` block is deliberate; an unmarked gap is a defect).
2. Missing acceptance criteria: a requirement with no concrete, independently testable success condition.
3. Undefined references: a type, endpoint, component, or table mentioned but defined nowhere.
4. No verifiable output: a task producing nothing a reviewer could inspect (no file path, no command, no observable behavior).
5. What without how: an outcome with no implementable direction ("handle errors appropriately" with no definition of appropriate).

For execution plans, add per task: goal, exact files, the change shown, tests with concrete scenarios, and the verify command. Explain any confusing leftover (an odd directory name, a legacy alias) rather than leaving it puzzling.

© riekelt · MIT · riekelt/technical-writer

Похожие скиллы

Всё по теме «Тексты и документация» →
technical-design-doc-creator tech-leads-club Помогает составить технический дизайн-документ (TDD, RFC, спеку) перед разработкой через интерактивные вопросы. Пригодится при согласовании архитектуры и миграций в команде. CX Codex +1 609установок developer-docs-structure-audit Samuel Berthe Проводит инвентаризацию и аудит структуры документации по методологии Diátaxis. Помогает найти пробелы, смешанные страницы и выстроить очередь правок. CX Codex +1 10 200установок technical-writing backnotprop Задаёт четыре слоя стандартов для технического текста: архитектуру Diátaxis, стиль Google, правила STE и Global English. Нужен при оформлении ридми, RFC и PR. CX Codex +1 5 500установок adev-writing-guide angular Скилл задаёт правила технического писательства Google и разметку для документации Angular в adev/. Он нужен при создании, правке и ревью страниц в каталоге adev/src/content. CX Codex +1 912установок writing-documentation-with-diataxis sammcj Скилл раскладывает техническую документацию на четыре типа по фреймворку Diataxis и помогает писать или проверять каждый из них. CX Codex +1 615установок grounded-writing chrisbanes Скилл убирает выдуманные факты, рекламный тон и лишние детали реализации из публичной документации и технических отчётов. CX Codex +1 448установок

Из того же набора10

reviewing-technical-prose Скилл для вычитки чужих технических текстов: находит запрещённые конструкции, слабые утверждения и структурные дефекты, а перед сдачей документа прогоняет чек-лист. CX Codex +1 18 200установок writing-changelogs Готовит записи журнала изменений, релизные заметки и сводки о выпущенной работе. Нужен после заметных изменений, исправлений или удалений. CX Codex +1 18 100установок writing-runbooks Скилл для написания ранбуков, инструкций по установке и миграции, где читатель выполняет шаги под давлением времени. CX Codex +1 18 100установок documenting-legacy-codebases Скилл восстанавливает документацию по коду, когда старые доки устарели или врут. Сначала инвентаризация системы, потом текст. CX Codex +1 17 900установок writing-issues Задаёт структуру задач, баг-репортов и спайков в трекере. Помогает превратить обсуждение или сырые заметки в понятный тикет с проверяемыми критериями приёмки. CX Codex +1 18 000установок recording-decisions Скилл записывает принятые решения в формате ADR или короткой записи журнала, пока они не остались только в чате. CX Codex +1 18 000установок writing-postmortems Скилл для написания постмортемов и разборов причин сбоя: хронология только по фактам, блиameless-рамка, задачи с владельцами. CX Codex +1 18 000установок diagramming-processes Скилл для ИИ-кодинга, который заставляет агента рисовать процессы, состояния и обмен сообщениями в виде диаграмм с исходником в git, а не картинок. CX Codex +1 17 800установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой