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

writing-adrs — скилл для Claude Code: ADR в docs/adr/

Скилл задаёт формат, нумерацию и критерии, когда вообще стоит писать Architecture Decision Record. Пригодится, если решения по архитектуре теряются в переписке.

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

Что делает writing-adrs

Скилл описывает, как вести ADR в docs/adr/: последовательная нумерация 0001-slug.md, 0002-slug.md и так дальше. Каталог создаётся лениво — только когда появится первое решение, которое нужно записать.

Шаблон короткий: заголовок и одна-три фразы о том, в каком контексте принимали решение, что выбрали и почему. Разделы Status, Considered Options и Consequences добавляются по желанию, только если они правда что-то дают. Номер берётся так: скилл смотрит наибольший существующий номер в docs/adr/ и прибавляет единицу.

Есть условие «grilling gate»: если решение родилось в разговоре и не проходило разбор, скилл спросит, записывать ли его как есть, и продолжит только после явного подтверждения. Если вы сами продиктовали решение, этот вопрос не задаётся. Писать ADR стоит, когда выполняются все три условия сразу: решение трудно откатить, оно удивляет без контекста и появилось из настоящего выбора между вариантами. Лёгкое в откате решение записывать бессмысленно — вы его просто откатите.

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

  • зафиксировать выбор монолита или монорепозитория, чтобы через год никто не спрашивал «почему так»
  • записать, почему взяли ручной SQL вместо ORM
  • сохранить отклонённый вариант, чтобы его не предложили снова
  • описать ограничения, которых не видно в коде — требования к времени ответа или запрет на облако
  • пронумеровать ADR по порядку, не сбившись с существующих файлов

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

  • Запиши ADR: переходим на событийную модель записи, чтение проецируем в Postgres.
  • Проверь, тянет ли это решение на ADR, и если да — создай файл в docs/adr/.
  • Запиши ADR про отказ от GraphQL в пользу REST и укажи причину.

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

1Через Skills CLI (Vercel)

npx skills add pandoscope/skills --skill writing-adrs -a claude-code

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

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

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

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

Вопросы о writing-adrs

Как установить writing-adrs в Claude?

Выполните npx skills add pandoscope/skills --skill writing-adrs -a claude-code. Скилл окажется в ~/.claude/skills/writing-adrs/SKILL.md.

Что делает writing-adrs?

Задаёт формат и нумерацию Architecture Decision Records в docs/adr/ и подсказывает, когда решение стоит записывать, а когда нет.

Чем этот скилл отличается от обычного шаблона ADR?

Он не требует заполнять все разделы: шаблон — заголовок и одна-три фразы, а Status, Considered Options и Consequences добавляются только по делу. Плюс есть критерий из трёх условий и вопрос про неразобранные решения.

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

SKILL.md · MIT
---
name: writing-adrs
description: >
  Format, numbering, and when-to-write criteria for Architecture Decision
  Records in docs/adr/. Use when recording an architectural decision, when
  another skill flags a decision as ADR-worthy, or when the user asks to
  write or review an ADR.
metadata.derived-from: lifted from mattpocock/skills' `domain-modeling` reference file ADR-FORMAT.md (https://github.com/mattpocock/skills/blob/391a2701dd948f94f56a39f7533f8eea9a859c87/skills/engineering/domain-modeling/ADR-FORMAT.md)
---

# Writing ADRs

ADRs live in `docs/adr/` and use sequential numbering: `0001-slug.md`, `0002-slug.md`, etc.

Create the `docs/adr/` directory lazily — only when the first ADR is needed.

## Template

```md
# {Short title of the decision}

{1-3 sentences: what's the context, what did we decide, and why.}
```

That's it. An ADR can be a single paragraph. The value is in recording *that* a decision was made and *why* — not in filling out sections.

Written and checked with the `writing-prose` skill if available, surface `markdown`. Hard limit: precision and understandability must not suffer.

## Optional sections

Only include these when they add genuine value. Most ADRs won't need them.

- **Status** frontmatter (`proposed | accepted | deprecated | superseded by ADR-NNNN`) — useful when decisions are revisited
- **Considered Options** — only when the rejected alternatives are worth remembering
- **Consequences** — only when non-obvious downstream effects need to be called out

## Numbering

Scan `docs/adr/` for the highest existing number and increment by one.

## Grilling gate

ADRs record load-bearing decisions. Decision made in-conversation, never grilled (`docs/glossary/grilling-session.md`) → ask user: "Decision wasn't grilled — record as-is?" Proceed only on explicit confirmation. Transcribing decision user already stated explicitly → gate doesn't apply.

## When to write an ADR

All three of these must be true:

1. **Hard to reverse** — the cost of changing your mind later is meaningful
2. **Surprising without context** — a future reader will look at the code and wonder "why on earth did they do it this way?"
3. **The result of a real trade-off** — there were genuine alternatives and you picked one for specific reasons

If a decision is easy to reverse, skip it — you'll just reverse it. If it's not surprising, nobody will wonder why. If there was no real alternative, there's nothing to record beyond "we did the obvious thing."

### What qualifies

- **Architectural shape.** "We're using a monorepo." "The write model is event-sourced, the read model is projected into Postgres."
- **Integration patterns between contexts.** "Ordering and Billing communicate via domain events, not synchronous HTTP."
- **Technology choices that carry lock-in.** Database, message bus, auth provider, deployment target. Not every library — just the ones that would take a quarter to swap out.
- **Boundary and scope decisions.** "Customer data is owned by the Customer context; other contexts reference it by ID only." The explicit no-s are as valuable as the yes-s.
- **Deliberate deviations from the obvious path.** "We're using manual SQL instead of an ORM because X." Anything where a reasonable reader would assume the opposite. These stop the next engineer from "fixing" something that was deliberate.
- **Constraints not visible in the code.** "We can't use AWS because of compliance requirements." "Response times must be under 200ms because of the partner API contract."
- **Rejected alternatives when the rejection is non-obvious.** If you considered GraphQL and picked REST for subtle reasons, record it — otherwise someone will suggest GraphQL again in six months.

© pandoscope · MIT · pandoscope/skills

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

Всё по теме «Тексты и документация» →
documentation-and-adrs addyosmani Скилл помогает фиксировать архитектурные решения (ADR), причины выбора технологий и контекст для будущих разработчиков или агентов в репозитории. CX Codex +1 63 800установок architecture-decision-records affaan-m Скилл записывает архитектурные решения в нумерованные ADR-файлы в docs/adr/ с контекстом, альтернативами и последствиями. Пригодится, когда выбираете фреймворк или базу и не хотите терять причину выбора. CX Codex +1 4 900установок adr-drafting giuseppe-trisciuoglio Скилл опрашивает разработчика об архитектурном решении, находит соглашения в репозитории и создаёт новый markdown-документ формата ADR. Пригодится при смене стека или разделении сервисов. CX Codex +1 3 400установок technical-writing akillness Пишет внутренние технические документы: спеки, архитектурные заметки, ADR, ранбуки, планы миграций и гайды для разработчиков. CX Codex +1 544установок adr-create ruvnet Пишет Architecture Decision Record в docs/adr/ со следующим номером, кладёт его в память AgentDB и связывает с прежними решениями. Пригодится, когда решение надо записать и не потерять. CX Codex +1 741установок create-architecture-documentation davila7 Слэш-команда для Claude, которая собирает документацию по архитектуре проекта: диаграммы, ADR и описание компонентов. 6 136установок

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

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

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