recording-decisions — скилл для Claude Code: ADR и журнал решений
Скилл записывает принятые решения в формате ADR или короткой записи журнала, пока они не остались только в чате.
npx skills add riekelt/technical-writer --skill recording-decisions -a claude-codeЧто делает recording-decisions
Скилл включается, когда выбор уже сделан и его нужно зафиксировать: полный ADR для решения с последствиями на уровне архитектуры, короткая запись журнала для потока мелких решений. Формат ADR — по Nygard: статус, дата, участники, контекст, решение, последствия, рассмотренные альтернативы, ссылки. В журнале на каждый день — императивная формулировка решения, абзац с правилом, причины и отвергнутый вариант.
Оба формата append-only: принятое решение не редактируется, новый контекст оформляется новой записью, которая замещает старую. Единственное разрешённое изменение принятого ADR — строка статуса со ссылкой на замещающий ADR. Блок негативных последствий обязателен и не может быть пустым, а у каждой альтернативы приводится её сильнейший аргумент за — отказ без него выглядит соломенным чучелом.
Скилл требует фонового скилла technical-writing с его правилами о правде и стиле. Для решения, которое ещё обсуждают, он не подходит — там нужен writing-design-docs, а его блок Why & What становится ADR после принятия. Записывайте решение до того, как на него ссылаться: сессия чата не годится на роль долговечного источника.
Какие задачи решает
- зафиксировать архитектурное решение в формате ADR
- записать мелкий выбор в журнал решений одной записью
- объяснить, почему вариант отклонили, а не только что выбрали
- заместить устаревшую запись новой, не правя старую
- перенести решение из треда в PR или чата в долговечный документ
Примеры запросов агенту
- запиши ADR: мы перешли на релиз по тегам вместо ветки release
- занеси в журнал решений, что выбрали SQLite вместо Postgres
- это решение уже обсуждали дважды — оформи его как запись с датой
Как установить recording-decisions
1Через Skills CLI (Vercel)
npx skills add riekelt/technical-writer --skill recording-decisions -a claude-code2Вручную: положить файлы
~/.claude/skills/recording-decisions/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/recording-decisions/
1Через Skills CLI (Vercel)
npx skills add riekelt/technical-writer --skill recording-decisions -a codex2Вручную: положить файлы
.agents/skills/recording-decisions/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add riekelt/technical-writer --skill recording-decisions -a cursor2Вручную: положить файлы
.cursor/skills/recording-decisions/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install riekelt/technical-writer recording-decisions2Вручную: положить файлы
.github/skills/recording-decisions/SKILL.md1Через Skills CLI (Vercel)
npx skills add riekelt/technical-writer --skill recording-decisions -a gemini-cli2Командой платформы
gemini skills install https://github.com/riekelt/technical-writer --path plugins/technical-writer/skills/recording-decisionsВручную: положить файлы
.devin/skills/recording-decisions/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add riekelt/technical-writer --skill recording-decisions -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора10
Похожие
Рядом в теме «Тексты и документация»
Всё по теме «Тексты и документация» →Вопросы о recording-decisions
Как установить recording-decisions в Claude?
Выполните npx skills add riekelt/technical-writer --skill recording-decisions -a claude-code. Скилл окажется в ~/.claude/skills/recording-decisions/SKILL.md.
Что делает recording-decisions?
Кодирует два формата записи решений: полный ADR по Nygard и короткую запись журнала. Скилл предлагает зафиксировать выбор, который иначе остался бы только в переписке.
Что нужно для работы скилла?
Фоновый скилл technical-writing — в нём жёсткие правила и требования к стилю. Без него скилл не заработает.
Исходный текст
SKILL.md · MIT
--- name: recording-decisions description: Use when a decision needs recording - an ADR, a decision log entry, or when someone asks to write down why something was chosen, rejected, or superseded. Encodes the ADR and decision-log formats. Use whenever a choice was made that would otherwise live only in chat, even if nobody says "ADR". --- # Recording decisions **REQUIRED BACKGROUND:** the `technical-writing` skill (hard rules, truth rules, style). ## Overview Two formats, by weight: a full ADR for a decision with architecture-level consequences; a decision log entry for the running stream of smaller choices. Both are append-only: an accepted decision is immutable; new context is a new entry that supersedes the old one. ## When to invoke, and not Invoke when a choice has been made and needs recording, when someone asks "write down why we did this", or when an existing decision is superseded. Do NOT invoke for a decision still being argued (that is `writing-design-docs`; its Why & What box becomes the ADR once accepted). Also invoke on the signals that an unrecorded decision is passing by: "we decided X instead of Y", "let's just go with", a trade-off resolved in a PR comment or chat thread, or a rationale someone has now explained twice. Each is a decision living in a non-durable place; offer to record it. Record the decision before citing it. A chat session is not a durable source. Put the dated substance in the log, quote the decider where wording matters, commit the entry, then cite it. Record the smallest complete decision, not a transcript. ## ADR Nygard format. One decision per ADR. ```markdown # ADR-[number]: [short title of the decision] | | | |---|---| | **Status** | Proposed / Accepted / Superseded by ADR-XXX | | **Date** | YYYY-MM-DD | | **Deciders** | [who took part] | ## Context [The forces at play: technical, organizational, political. What must be solved. Factual, without giving away the decision.] ## Decision [What was decided. Active voice: "We release on tags", not "it was decided that".] ## Consequences **Positive:** [what gets easier] **Negative:** [what gets harder, which trade we accept] **Neutral:** [what changes without being better or worse] ## Alternatives considered **[Alternative]** - For: [...] Against: [...] Why not chosen: [...] ## References [Evidence, related decisions, measurements] ``` **Negative is mandatory and may not be empty.** Each alternative carries its strongest argument for; a rejection without it is a strawman. The sole permitted edit to an accepted ADR is its Status line gaining "Superseded by ADR-XXX". An objection raised but never answered goes in at full strength as a negative consequence with a named owner: the writer never invents a rebuttal and never withholds a decision its owner has declared. Names unknown at writing time are marked fill-before-filing, because a filed record carries real people. ## Decision log (lightweight) For the running log a full ADR would kill. Cheap enough to maintain: ```markdown ## YYYY-MM-DD ### [Decision stated as an imperative sentence] [One paragraph: the rule.] Why: - [reason] - [reason] Instead of: [rejected option] - [why not] ``` ## Rules - Append-only. A wrong entry gets a new dated entry that supersedes it, never an edit. Convert relative dates to absolute. - Record the why, not only the what. - When a written rule and shipped reality have diverged, record which one the team intended. Every doctrine document states what it owns and what it leaves to others. - Scope guard at the top when a sibling could overlap: "product ideas live in ROADMAP.md; this file is for engineering decisions." - Capture negative results and unknowns explicitly: "four theories, four disproved, cause not found" is a result. A search returning nothing is a result.
© riekelt · MIT · riekelt/technical-writer