architecture-decision — скилл для Claude Code: ADR по решению
Ведёт агента через создание ADR: контекст, рассмотренные варианты, последствия. Пригодится, когда архитектурное решение нужно зафиксировать письменно.
npx skills add Donchitos/Claude-Code-Game-Studios --skill architecture-decision -a claude-codeЧто делает architecture-decision
Скилл проводит сессию в несколько шагов. Сначала он читает конфиг через yaml-helper.sh — оттуда берутся review_mode, automation, workflow, docs.density и team.size. Потом загружает контекст движка, сканирует docs/architecture/ и находит следующий свободный номер ADR. Дальше идёт разбор вариантов вместе с вами, и только затем генерация документа.
Режим задаётся аргументом. retrofit <path> разбирает уже принятое решение по существующему коду, accept <ADR-id> переводит ADR из Proposed в принятый статус. Флаг --review full|lean|solo переопределяет review_mode из конфига. Без аргумента скилл спросит короткое название решения.
Глубину текста задаёт docs.density: terse даёт решение и альтернативы списком по строке обоснования, balanced — абзац на раздел, thorough — полную прозу с компромиссами. Таблицы Engine Compatibility, ADR Dependencies и GDD Requirements остаются целиком при любой плотности. В конце скилл напоминает: проверку покрытия ADR через /architecture-review запускают в новой сессии, потому что проверяющий агент должен быть независим от автора. Истории, заблокированные этим решением, он намеренно не разблокирует — они ждут accept.
Какие задачи решает
- зафиксировать выбор движка или системы в виде ADR
- разобрать уже принятое решение задним числом по коду
- сравнить альтернативы и записать последствия каждой
- перевести ADR из
Proposedв принятый статус - понять, какие истории ждут этого решения
Примеры запросов агенту
- Задокументируй решение по архитектуре событийной системы
- Разбери существующий код и оформи ADR:
retrofit src/core - Прими ADR-0007:
accept ADR-0007
Как установить architecture-decision
1Через Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill architecture-decision -a claude-code2Вручную: положить файлы
~/.claude/skills/architecture-decision/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/architecture-decision/
1Через Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill architecture-decision -a codex2Вручную: положить файлы
.agents/skills/architecture-decision/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill architecture-decision -a cursor2Вручную: положить файлы
.cursor/skills/architecture-decision/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Donchitos/Claude-Code-Game-Studios architecture-decision2Вручную: положить файлы
.github/skills/architecture-decision/SKILL.md1Через Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill architecture-decision -a gemini-cli2Командой платформы
gemini skills install https://github.com/Donchitos/Claude-Code-Game-Studios --path .claude/skills/architecture-decisionВручную: положить файлы
.devin/skills/architecture-decision/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add Donchitos/Claude-Code-Game-Studios --skill architecture-decision -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора72
Похожие
Рядом в теме «Настройка агента: память, контекст, субагенты»
Все скиллы по теме «Настройка агента: память, контекст, субагенты» →Вопросы о architecture-decision
Как установить architecture-decision в Claude Code?
Выполните npx skills add Donchitos/Claude-Code-Game-Studios --skill architecture-decision -a claude-code. Скилл появится в ~/.claude/skills/architecture-decision/SKILL.md.
Что делает architecture-decision?
Помогает оформить архитектурное решение как ADR: собирает контекст, разбирает альтернативы и записывает последствия. Умеет разбирать уже принятые решения по коду и принимать готовые ADR.
Почему проверку ADR нельзя запускать в той же сессии?
Скилл прямо предупреждает: /architecture-review требует независимого проверяющего агента. Запуск в сессии автора обесценивает проверку, поэтому нужна новая сессия Claude.
Исходный текст
SKILL.md · MIT
---
name: architecture-decision
description: "Create an ADR documenting a technical decision: context, alternatives considered, consequences."
argument-hint: "[title | retrofit <path> | accept <ADR-id>] [--review full|lean|solo]"
user-invocable: true
allowed-tools: Read, Glob, Grep, Write, Edit, Agent, AskUserQuestion, Bash(wc -c *), Bash(bash "*/.claude/skills/architecture-decision/../../hooks/yaml-helper.sh" resolve_config *), Bash(bash .claude/scripts/registry.sh *)
model: sonnet
---
!`bash "${CLAUDE_SKILL_DIR}/../../hooks/yaml-helper.sh" resolve_config --keys review_mode,automation,workflow,docs.density,team.size`
Resolved above — use as-is; `--review` overrides `review_mode`. No block →
defaults in `.claude/docs/config-resolution.md`.
# Architecture Decision
When this skill is invoked:
## 0. Parse Arguments — Detect Retrofit / Acceptance Mode
See `.claude/docs/director-gates.md` for the full check pattern. Individual gate definitions live in `.claude/docs/director-gates/[gate-id].md` — the spawned agent reads its own gate file; do not read it in the parent session.
Every `AskUserQuestion` call follows `.claude/docs/automation-modes.md`
(collaborative asks always · guided major-only · autonomous logs and proceeds;
`automation_always_ask` categories always prompt).
**`team.size`**: which agents validate this ADR (orthogonal to review_mode/workflow).
- **`individual`** (default): `technical-director` (TD-ADR) + the engine-specialist.
- **`small`** and **`studio`**: the same two. This skill spawns no engine
sub-specialist and no adversarial reviewer at any size.
**`docs.density`** — it controls the *depth* of the ADR's prose sections, not
which sections the skeleton emits (that is fixed). `modes.rigor` sets it
alongside `workflow`; set `docs.density` explicitly to vary ADR verbosity alone:
`terse` (the default, via `rigor: minimal`) = decision + alternatives as bullets, one line of rationale each;
`balanced` = paragraph per section with light rationale (`rigor: standard`); `thorough` =
full prose with trade-offs and worked rationale in Decision, Alternatives, and
Consequences. Apply it to the prose sections; the Engine Compatibility, ADR
Dependencies, and GDD Requirements tables are structural and stay whole at every
density.
**`workflow`** (see `.claude/docs/workflow-modes.md`):
- `full` — all ADRs on the required ADR list must be completed.
- `standard` — critical ADRs only (Foundation-layer systems).
- `minimal` — not required. Can still be run voluntarily.
**If the argument starts with `retrofit` followed by a file path**
**Read `references/0-retrofit.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
**If the argument starts with `accept` followed by an ADR id**
**Read `references/0-accept.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
If NOT in retrofit or acceptance mode, proceed to Step 1 below (normal ADR authoring).
**No-argument guard**: If no argument was provided (title is empty), ask before
running Phase 0:
> "What technical decision are you documenting? Please provide a short title
> (e.g., `event-system-architecture`, `physics-engine-choice`)."
Use the user's response as the title, then proceed to Step 1.
---
## 1. Load Engine Context (ALWAYS FIRST)
**Read `references/1-engine-context.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 2. Determine the next ADR number
Scan `docs/architecture/` for existing ADRs to find the next number.
---
## 3. Gather context
**Read `references/3-gather-context.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 4. Guide the decision collaboratively
**Read `references/4-decide.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 5. Generate the ADR
**Read `references/5-generate.md` now and follow it** — this phase's steps are in that file, not here. Read it again if the conversation was compacted or resumed during this phase.
## 6. Closing Next Steps
After the ADR is written (and registry optionally updated), close with `AskUserQuestion`.
Before generating the widget:
1. Read the `## Required ADRs` section of `docs/architecture/architecture.md` (by section) and list `docs/architecture/adr-*.md`: a required ADR with no file is still unwritten. Without `architecture.md`, look for ADRs flagged in technical-preferences.md or systems-index.md as prerequisites
2. Check if all prerequisite ADRs are now written. If yes, include a "Start writing GDDs" option.
3. List ALL remaining priority ADRs as individual options — not just the next one or two.
Widget format:
```
ADR-[NNNN] written and registry updated. What would you like to do next?
[1] Write [next-priority-adr-name] — [brief description from prerequisites list]
[2] Write [another-priority-adr] — [brief description] (include ALL remaining ones)
[N] Start writing GDDs — run `/design-system [first-undesigned-system]` (only show if all prerequisite ADRs are written)
[N+1] Stop here for this session
```
If there are no remaining priority ADRs and no undesigned GDD systems, offer only "Stop here" and suggest running `/architecture-review` in a fresh session.
**Always include this fixed notice in the closing output (do NOT omit it):**
> To validate ADR coverage against your GDDs, open a **fresh Claude Code session**
> and run `/architecture-review`.
>
> **Never run `/architecture-review` in the same session as `/architecture-decision`.**
> The reviewing agent must be independent of the authoring context to give an unbiased
> assessment. Running it here would invalidate the review.
**Do NOT unblock stories here.** This ADR is `Proposed` — Step 5 guarantees it,
and a story blocked *pending this decision* is still pending it. Unblocking on
authoring defeats the guard at the moment it becomes relevant: the pipeline
appears to flow while running on decisions nobody has accepted.
Instead, tell the user what is now waiting on acceptance:
> "ADR-NNNN is written and `Proposed`. [N] stories remain `Blocked` pending it.
> Run `/architecture-decision accept ADR-NNNN` when the decision is settled —
> that is what moves them to `Ready`."
List the blocked stories by path so the cost of leaving it Proposed is visible.
(Acceptance has consequences enforced across many skills and an authority
recorded in only a few, so the route between them must stay explicit.)
© Donchitos · MIT · Donchitos/Claude-Code-Game-Studios