architecture-decision
Skill4 starsChanged 46 days agoMITView on GitHub
Creates an Architecture Decision Record (context, ≥2 options with costs, decision, consequences, verification) or retrofits an existing ADR to the template. Every significant technical choice (stack, API style, auth, data, engine, deployment) gets an ADR before code.
32 other projects use a version of this.
Adopted by
Most recently taken up by
- Khaymah/sabry-claude-kittheir own version, first seen Nov 8, 2026
- Azure/agent-app-mcptheir own version, first seen Nov 8, 2026
- striderZA/OpenCodeGameStudiostheir own version, first seen Nov 4, 2026
- Azure/gpt-rag-mcptheir own version, first seen Nov 2, 2026
- Azure/agent-app-ingestiontheir own version, first seen Oct 30, 2026
- Azure/gpt-rag-ingestiontheir own version, first seen Oct 30, 2026
Used with
Projects with it also use team-level, team-narrative and 8 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
CoralGameSkillteam-level
Orchestrate level design team: level-designer + narrative-director + world-builder + art-director + systems-designer + qa-tester for complete area/level creation.
Also in 10 projects that use this
CoralGameSkillteam-narrative
Orchestrate the narrative team: coordinates narrative-director, writer, world-builder, and level-designer to create cohesive story content, world lore, and narrative-driven level design.
Also in 10 projects that use this
lilangMaxSkillasset-spec
Generate per-asset visual specifications and AI generation prompts from GDDs, level docs, or character profiles. Produces structured spec files and updates the master asset manifest. Run after art bible and GDD/level design are approved, before production begins.
Also in 8 projects that use this
lilangMaxSkillcreate-control-manifest
After architecture is complete, produces a flat actionable rules sheet for programmers — what you must do, what you must never do, per system and per layer. Extracted from all Accepted ADRs, technical preferences, and engine reference docs. More immediately actionable than ADRs (which explain why).
Also in 8 projects that use this
Microsoft AzureSkillcomponent-release
Prepares a verifiable Agent Landing Zone UI release. Use for release branches, VERSION, changelog entries, tags, release notes, and compatibility evidence; never publish without explicit human approval.
Also in 4 projects that use this
- +5 more from lilangMax
Other versions32 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 32
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- Azure/agent-landing-zone★ 1.2ksame name
- Azure/GPT-RAG★ 1.2ksame name
- pixel-cellar/Claude-Code-Game-Studios★ 324same name
- Azure/agent-app-ingestion★ 188same name
- Azure/gpt-rag-ingestion★ 188same name
- striderZA/OpenCodeGameStudios★ 118same name
- Azure/agent-app-orchestrator★ 107same name
- Azure/gpt-rag-orchestrator★ 107same name
- cenconq25/claude-code-app-studio★ 40same name
22 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository52 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- testing/CLAUDE.mdCLAUDE.md
- a11y-auditSkill
- adoptSkill
- api-contractSkill
- architecture-reviewSkill
- backlogSkill
- brainstormSkill
- changelogSkill
- code-reviewSkill
- collaboration-protocolSkill
- create-storiesSkill
- data-modelSkill
- dependency-auditSkill
- deploySkill
- design-systemSkill
- dev-storySkill
- docsSkill
- feature-specSkill
- game-conceptSkill
- hardenSkill
- helpSkill
- hotfixSkill
- impactSkill
- incidentSkill
- initSkill
- migrateSkill
- pentestSkill
- perf-auditSkill
- product-specSkill
- qa-planSkill
- refactorSkill
- release-checklistSkill
- retrospectiveSkill
- security-auditSkill
- setup-stackSkill
- skill-improveSkill
- skill-testSkill
- sprint-planSkill
- sprint-statusSkill
- stack-updateSkill
- startSkill
- story-doneSkill
- team-featureSkill
- team-gameSkill
- team-releaseSkill
- team-securitySkill
- tech-debtSkill
- test-setupSkill
- threat-modelSkill
- updateSkill
- ux-specSkill
The file
We split this skill into the rules it gives an agent
3 rules. 0 are common, 1 is distinctive, and 2 are very specific to this project.
0
Common
Most of the 30 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 44
After the "write" answer: touch .claude/.write-consent (rule 7 — the consent-guard hook checks the marker).
- Very specific: line 47
Add or update its row in the roadmap's ## Docs → *docs/architecture/* block (✅, inline link, one-line summary) and refresh the block's …
- Distinctive: line 53
When HEAD is a story branch, name it and offer: switch to the default branch and commit there (Recommended — a pipeline-wide document) · …
“Common” is measured: kept by at least 6 in 10 of the 30 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Architecture Decision Record
Reply in the project conversation language (CLAUDE.md → Language); code, identifiers, paths and commit messages stay in English.
Template .claude/docs/templates/adr.md; files docs/architecture/adr-NNNN-<slug>.md. Version facts come from .claude/docs/stack-reference/ (stack-reference/ below). A studio agent is web-studio:<name> in plugin mode and <name> in copy mode. The review mode is --review, else production/review-mode.txt. In the commands below, <hooks> is .claude/hooks/ in copy mode and ${CLAUDE_PLUGIN_ROOT}/hooks/ in plugin mode.
Phase 0: Mode
retrofit <path>(no path → ask which ADR): read the existing ADR and find the missing sections — Status is BLOCKING; Options, Consequences and Verification are HIGH.- Propose adding the missing sections without changing the existing text, then run the Phase 3 review (steps 2–9, per mode) before the Phase 4 gate for
<path>. An implemented decision still gets its reviewers: the draft is labelledretrofit, so they judge conformance — whether the written Options, Consequences and Verification match what is implemented — not whether another option should have won. The Phase 4 status rule applies: a Status added here isProposedunless the user saysAccepted. - A title (or none — ask for it): a new ADR, Phase 1.
Phase 1: Context
- Read: technical-preferences, the product spec, related feature specs, existing ADRs.
- Existing ADRs: note what this decision depends on and what it contradicts. A contradiction with an accepted ADR is flagged to the user and named in the draft.
- Versions: the relevant
stack-reference/file; when in doubt,WebFetchthe official source. When the recommended version there is a major behind the registry's "latest on the date", the ADR states why the older one is chosen (or proposes/stack-updatefirst).
Phase 2: Options
- ≥ 2 options (including "do nothing" where relevant) with pros/cons/cost/risk/maturity.
- Known arguments for the studio's typical forks: GraphQL vs REST (see
stack-reference/graphql.md), Go vs PHP vs Node, Angular vs Vue, three.js vs Pixi vs Phaser, sessions vs JWT, monolith vs services, Caddy vs nginx. - An explicit recommendation.
Phase 3: Decision, consequences and review
- Draft Decision / Consequences / Verification (how we will check: metric, spike, test; when we revisit).
- Numbers. A number in the draft — a latency, a size, a rate — links to
docs/ops/measurements/YYYY-MM-DD-<topic>.mdholding the command, the environment and the raw output (rule 12). A figure whose only home is the session state is quoted as "measured in session, not recorded", or not quoted at all. - Reviewers per mode:
full—backend-lead/frontend-lead/security-leadfor the affected areas;lean—security-leadwhen auth/data/network are affected;solo— none, go to Phase 4. - Make the draft readable. A long draft does not fit a
Taskprompt, so write it to a session file first (the session scratchpad, neverdocs/architecture/: the ADR path waits for the Phase 4 gate). - Spawn the reviews before the write gate, in parallel, each as
Taskwith an explicit studiosubagent_type(web-studio:backend-lead,web-studio:frontend-lead,web-studio:security-lead). Never the default general-purpose agent, and never a generic agent with a model override standing in as an arbiter: "one more opinion" on a draft is one of these same reviewers, because an agent outside the roster carries none of the project's rules and leaves no roster name in the log (WS-104). - The brief carries the draft's path plus the requirement to quote the ADR title and the two lines of Decision back in the verdict. That quote is the evidence the text was read.
- Check each verdict. One without the quote is returned once with the path repeated; a second one without it is reported as "reviewer did not read the draft", never counted as a review.
- Name the reviewers in the report exactly as
production/session-logs/agent-audit.logrecords them. - Apply the conditions from the verdicts to the draft; only then Phase 4.
Phase 4: Write
- Status is
Proposeduntil the user saysAccepted. That holds for a decision that is already implemented and deployed too: writeProposed · implemented since <date>; "implemented" is not "accepted". - Gate, one
AskUserQuestion: "May I writedocs/architecture/adr-NNNN-<slug>.mdand a line in the technical-preferences decision log?" — write (Recommended) · show the draft/diff first · not now. When the ADR isAcceptedand the roadmap step below applies, the question namesproduction/roadmap.mdtoo. - After the "write" answer:
touch .claude/.write-consent(rule 7 — the consent-guard hook checks the marker). - Write the ADR from the template and the line in
technical-preferences.md→ Architecture decision log. - Roadmap, when the project has
production/roadmap.md(roadmap-format: v3.1or later) and this ADR reachesAccepted:- Add or update its row in the roadmap's
## Docs→ docs/architecture/ block (✅, inline link, one-line summary) and refresh the block's<summary>count. - Open task lines carrying
⛔ [ADR-NNNN](path)now name an accepted decision, not a pending one. Leave the marker, because it still names why the dependency exists; this decision no longer holds those stories back.
- Add or update its row in the roadmap's
Phase 5: Commit (documents lane)
Right after the write, one commit gate (rule 7 (4), .claude/docs/git-workflow.md § Documents): one AskUserQuestion offering docs: ADR-NNNN <slug>, staging exactly the written files — the ADR, the decision-log line in technical-preferences.md and, when the roadmap step applied, production/roadmap.md. Record the gate before asking — <hooks>session-state.sh set Gate "/architecture-decision Phase 5: commit?" — and clear it after the answer (<hooks>session-state.sh set Gate "—").
- On the default branch when no story work is in progress.
- When HEAD is a story branch, name it and offer: switch to the default branch and commit there (Recommended — a pipeline-wide document) · commit here (the document belongs to this story) · leave uncommitted.
- Code, configs, workflows and scripts never ride the
docs:commit.
Nothing is committed without the answer.
When the answer is "no ADR"
A decision not to take the ADR is an outcome, not a dead end.
- Record it as a
D-NNline inproduction/decisions.md(or as an ADR with statusRejectedwhen a draft already exists), with the reason and the date — after its own "May I write<path>?" gate, as in Phase 4, and followed by the Phase 5 commit gate (docs: decision D-NNordocs: ADR-NNNN rejected). - Never end the discussion in code. If the answer turns out to be a change to the repository — a Dockerfile line, a healthcheck, a flag — this skill does not make it. Editing production files from a document session bypasses the review, the branch and the DoD of whatever story owns them.
- Hand it over in the closing
AskUserQuestion:/impact "<change>"for anything with an architecture or security surface,/hotfixfor a one-liner in production, otherwise a story through/create-stories.
Verdict: ACCEPTED | PROPOSED | NEEDS REVISION | REJECTED.
Next step — one AskUserQuestion: /api-contract (Recommended) · /data-model · /create-stories. On REJECTED: the hand-over command from the section above (Recommended) · stop here.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

