MCPInstall

architecture-decision

Create an ADR documenting a technical decision: context, alternatives considered, consequences.

Installs
482
Last 24h
+22
Trending rank
#5529
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/donchitos/claude-code-game-studios --skill architecture-decision
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads architecture-decision automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

!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.)

FAQ

What does the architecture-decision skill do?

Create an ADR documenting a technical decision: context, alternatives considered, consequences.

How do I install architecture-decision?

Run npx skills add https://github.com/donchitos/claude-code-game-studios --skill architecture-decision in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/architecture-decision/ (personal) or .claude/skills/architecture-decision/ (project).

Which AI agents can use architecture-decision?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is architecture-decision safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains architecture-decision?

It is published by donchitos in donchitos/claude-code-game-studios. It has 482 recorded installs.

More from donchitos/claude-code-game-studios

View all →

balance-check

donchitos/claude-code-game-studios

Find balance outliers, broken progressions, degenerate strategies, economy imbalances in formulas and data. 'Check game balance'.

Media & Creative793 installs

playtest-report

donchitos/claude-code-game-studios

Structured playtest report template, or turn existing playtest notes into structured feedback.

Docs & Writing610 installs

brainstorm

donchitos/claude-code-game-studios

Guides the user through finding and choosing a game concept. Use when the user wants game ideas, a new concept, a game jam idea, or to explore other directions, including dropping the current idea and starting over.

art-bible

donchitos/claude-code-game-studios

Author the Art Bible — visual identity gating asset production. Run before /map-systems.

Media & Creative568 installs

team-narrative

donchitos/claude-code-game-studios

Orchestrate the narrative team — narrative-director, writer, world-builder, level-designer — for story, world lore, narrative-driven levels.

Frontend & Design561 installs

design-review

donchitos/claude-code-game-studios

Reviews one design document for completeness, internal consistency, implementability, and design standards. Before handing to programmers.

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.