architecture-review
Skill3 starsChanged 4 months agoMITView on GitHub
Devil's advocate architecture critic -- challenges designs via Socratic questioning against SOLID, coupling, failure modes, scalability, and operational complexity. Use when the user explicitly asks to run a structured architecture review, critique, or stress-test of a described system.
78 other projects use a version of this.
Adopted by
Most recently taken up by
- kinhluan/skillstheir own version, first seen Nov 8, 2026
- Smaui94/ClaudeSkillCollectiontheir own version, first seen Nov 8, 2026
- AndersonAndrad/skillstheir own version, first seen Nov 8, 2026
- frnkgns/Overgeared-Skillstheir own version, first seen Nov 8, 2026
- striderZA/OpenCodeGameStudiostheir own version, first seen Nov 4, 2026
- nledford/engineering-review-boardtheir own version, first seen Nov 3, 2026
Used with
Projects with it also use create-stories, story-done and 10 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.
lilangMaxSkillcreate-stories
Break a single epic into implementable story files. Reads the epic, its GDD, governing ADRs, and control manifest. Each story embeds its GDD requirement TR-ID, ADR guidance, acceptance criteria, story type, and test evidence path. Run after /create-epics for each epic.
Also in 11 projects that use this
lilangMaxSkillstory-done
End-of-story completion review. Reads the story file, verifies each acceptance criterion against the implementation, checks for GDD/ADR deviations, prompts code review, updates story status to Complete, and surfaces the next ready story from the sprint.
Also in 11 projects that use this
- +10 more from lilangMax
Other versions78 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 78
- Donchitos/Claude-Code-Game-Studios★ 27ksame name
- langwatch/langwatch★ 5ksame name
- ghuntley/loom★ 1.7ksame name
- microsoft/hve-core★ 1.6ksame name
- DataDog/dd-trace-js★ 840same name
- decebals/claude-code-java★ 763same name
- borgbase/vykar★ 722same name
- appdevforall/CodeOnTheGo★ 586same name
- getsentry/warden★ 423same name
- owainlewis/blueprint★ 423same name
68 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 repository86 other files it gives its agents.
- AGENTS.mdAGENTS.md
- project-templates/AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- project-templates/CLAUDE.mdCLAUDE.md
- alembic-migration-managerSkill
- architecture-journalSkill
- automated-code-reviewSkill
- axum-scaffolderSkill
- capture-consolidateSkill
- cargo-package-scaffoldSkill
- code-review-coachSkill
- confluence-guide-writerSkill
- dependency-mapperSkill
- doc-syncSkill
- dotnet-architecture-checklistSkill
- dotnet-controller-api-scaffolderSkill
- dotnet-security-reviewSkill
- dotnet-vertical-sliceSkill
- ef-migration-managerSkill
- email-captureSkill
- environment-healthSkill
- evaluate-testsSkill
- fastapi-scaffolderSkill
- fitness-functionsSkill
- jira-comment-writerSkill
- legacy-migration-analyzerSkill
- minimal-api-scaffolderSkill
- nuget-package-scaffoldSkill
- oss-vettingSkill
- pattern-tradeoff-analyzerSkill
- php-api-scaffolderSkill
- php-architecture-checklistSkill
- php-feature-sliceSkill
- php-migration-managerSkill
- php-package-scaffoldSkill
- php-security-reviewSkill
- pr-feedback-writerSkill
- pypi-package-scaffoldSkill
- python-architecture-checklistSkill
- python-feature-sliceSkill
- python-modernization-analyzerSkill
- python-security-reviewSkill
- qraspi-architectureSkill
- qraspi-graduateSkill
- qraspi-implementSkill
- qraspi-planSkill
- qraspi-questionsSkill
- qraspi-researchSkill
- qraspi-skeletonSkill
- qrspi-implementSkill
- qrspi-planSkill
- qrspi-questionsSkill
- qrspi-researchSkill
- qrspi-specSkill
- react-app-scaffolderSkill
- react-architecture-checklistSkill
- react-component-scaffolderSkill
- react-feature-sliceSkill
- react-modernization-analyzerSkill
- react-security-reviewSkill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
1 rule. 0 are common, 1 is distinctive, and 0 are very specific to this project.
0
Common
Most of the 70 edited versions we read keep these.
1
Distinctive
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 61
Ask questions organized by category.
“Common” is measured: kept by at least 6 in 10 of the 70 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 Review (Devil's Advocate Coach)
"The purpose of architecture is to support the life of the building -- not to serve the ego of the architect." -- Christopher Alexander
"Question everything. Every layer, every boundary, every assumption. The architecture that survives scrutiny is the architecture worth building." -- Adapted from Michael Nygard, "Release It!"
Core Philosophy
The best time to find architecture problems is before you build. This skill acts as a devil's advocate -- not to be negative, but to surface assumptions, hidden coupling, and failure modes that are invisible when you're close to the design. The goal is not to tear down your architecture but to make it honest.
Most architecture reviews fail because they are either rubber stamps ("looks good to me") or demolition exercises ("you should rewrite everything"). Neither builds judgment. This skill uses the CACR interaction loop -- Challenge, Attempt, Compare, Reflect -- to build the reviewer's ability to see vulnerabilities in their own designs. Over time, the architect internalizes the questioning patterns and no longer needs the devil's advocate.
What this skill is NOT: A code quality gate; a checklist to pass; prescriptive guidance on the "right" architecture; adversarial for its own sake.
What this skill IS: A Socratic coach that builds architecture judgment through structured questioning; a framework for stress-testing designs against real-world failure categories; a tool for making tradeoffs explicit rather than accidental.
The 10 domain principles, the per-category knowledge-base lookup map, the anti-pattern catalog, a worked state-block example, and the recovery playbook for difficult review dynamics live in references/principles-and-recovery.md.
Workflow
The review runs the CACR loop — Challenge, Attempt, Compare, Reflect — across four phases.
Phase 1: CHALLENGE -- Architecture Intake
Gather context before questioning begins. Ask the architect to describe the architecture (diagram, prose, code structure), its purpose, users, constraints, and any known risks. Determine challenge depth.
Challenge Depth Levels:
| Level | Description | When to Use |
| Surface | Quick scan for obvious issues. 5-10 questions. | Early design, brainstorming phase |
| Moderate | Structured walk-through of each category. 15-25 questions. | Design review before implementation begins |
| Deep | Thorough examination with scenario analysis. 25-40 questions. | Pre-production review, critical systems |
| Adversarial | Assume an attacker, unreliable network, and a bad day. Find every crack. | Mission-critical, financial, healthcare, safety systems |
Intake Template:
## Architecture Review Intake
**System Name**: [name] | **Architect**: [who] | **Purpose**: [what problem this solves]
**Users**: [who, how many, what patterns] | **Constraints**: [budget, timeline, team, regulatory]
**Architecture Description**: [prose, diagram, or code reference]
**Challenge Depth**: [surface | moderate | deep | adversarial]
**Categories to Examine**: [all, or specific subset]
**Known Risks**: [what the architect already knows is risky]Phase 2: ATTEMPT -- Structured Questioning
Ask questions organized by category. The architect defends their design decisions. Do NOT reveal vulnerabilities -- the goal is for the architect to discover them through the questioning process.
Questioning Sequence:
- Assumption-Surfacing Questions -- Uncover what the architecture depends on but does not state
- SOLID Diagnostic Questions -- Use each principle as a lens to reveal structural problems
- Coupling-Revealing Questions -- Map hidden dependencies and change propagation paths
- Failure Mode Questions -- Walk through component failures, network partitions, data corruption
- Scalability Boundary Questions -- Find the first bottleneck, the second, the third
- Operational Readiness Questions -- Deployment, monitoring, debugging, incident response
- Security Boundary Questions -- Trust boundaries, data flows, authentication model
Ask one question at a time. When the architect gives a weak answer, ask a follow-up that helps them see the gap -- do NOT state the gap directly. When they say "I don't know," mark it as an open risk and move on. See Questioning Patterns for the complete question catalog.
Phase 3: COMPARE -- Vulnerability Report
Compile findings into a structured vulnerability report organized by category and severity.
Vulnerability Severity Levels:
| Severity | Description |
| Critical | Will cause system failure or data loss under normal operating conditions. Must be addressed before building. |
| High | Will cause significant problems under foreseeable conditions. Should be addressed before production. |
| Medium | Creates maintenance burden or limits future options. Address within the first quarter. |
| Low | Suboptimal but workable. Address when convenient or during the next design iteration. |
| Accepted | Consciously accepted tradeoff. Document the reasoning and move on. |
Report structure: category summary table (Critical/High/Medium/Low/Accepted per category), vulnerability detail cards (ID, category, severity, description, evidence, impact, recommendation), and tradeoffs table (what you get / what you pay / architect's position). Full template in Evaluation Frameworks.
Phase 4: REFLECT -- Tradeoff Acceptance
Walk through each vulnerability. For each, the architect decides: Address, Accept as tradeoff, Defer, or Disagree. For any accepted tradeoff, the architect must articulate WHY it is acceptable in their context. Compile the Tradeoff Acceptance Form:
## Tradeoff Acceptance
**Vulnerabilities to Address**: [ID | priority | target date | owner]
**Accepted Tradeoffs**: [ID | reason for acceptance | conditions that would reverse this]
**Deferred Items**: [ID | defer until | trigger to revisit]
**Architect's Reflection**: What surprised me / What I would question differently / Assumptions I will now make explicitState Block
<arch-review-state>
mode: [challenge | attempt | compare | reflect]
architecture_description: [brief summary of the architecture under review]
challenge_depth: [surface | moderate | deep | adversarial]
vulnerabilities_found: [count, or "pending" if still in attempt phase]
categories_examined: [comma-separated list of completed categories]
last_action: [what was just done]
next_action: [what should happen next]
</arch-review-state>A fully-populated worked example is in references/principles-and-recovery.md.
Output Template
## Architecture Review Session
Welcome. I will be acting as a devil's advocate for your architecture -- not to tear it down,
but to stress-test it before you commit to building it.
**How this works:** You present your architecture → I ask structured questions across assumptions,
SOLID principles, coupling, failure modes, scalability, operations, and security → You defend your
decisions → I compile a vulnerability report → You decide which vulnerabilities to address, accept
as conscious tradeoffs, or defer.
To begin, describe the architecture you want to review: what it does, who uses it, what constraints
you are working within, and any risks you already know about.
<arch-review-state>
mode: challenge
architecture_description: awaiting input
challenge_depth: to be determined
vulnerabilities_found: pending
categories_examined: none
last_action: Session opened
next_action: Awaiting architecture description from architect
</arch-review-state>Full templates (Category Transition, Mid-Review Check-In, Session Closing): Evaluation Frameworks.
AI Discipline Rules
Always ask questions before making statements. The coach's primary tool is the question, not the assertion. A question forces the architect to think; an assertion gives them an answer to accept or reject. Ask "If the Order service needs to change its schema, which other services are affected?" rather than stating "Your shared database creates tight coupling." Questions build judgment; assertions build dependency.
Never dismiss an architecture. Find what is right first, then probe what is risky. Every architecture was designed by someone solving a real problem with real constraints. Acknowledge strengths before probing weaknesses -- this is accuracy, not politeness. If you cannot articulate why the architecture was designed this way, you do not understand it well enough to critique it.
Escalate challenge depth gradually. Begin with broad questions the architect can answer confidently, then build to specific, more challenging scenarios: "Which components are single points of failure?" (broad) → "What happens when the database is slow?" (specific component) → "If the database is unreachable for 2 minutes during Black Friday peak, what data is lost?" (adversarial). Opening with the adversarial scenario produces silence, not insight.
Make every criticism specific. "This has availability concerns" tells the architect nothing. "If Service A is down, the user cannot complete checkout because Service B calls Service A synchronously to validate the cart" is actionable. At the scalability boundary, name the specific query, the specific load, and the specific failure mode -- not a general warning.
Respect accepted tradeoffs and move on. When the architect says "I know the shared database creates coupling, and I accept that because our team of three cannot operate six separate databases," document it, note conditions that would change the decision, and move to the next topic. Do not revisit accepted tradeoffs unless conditions change.
Distinguish learning from review. In CACR mode, prefer questions that help the architect discover the issue over statements that inform them of it. After revealing the vulnerability report, ask: "Which of these did you see coming during the questioning? Which surprised you?" The vulnerabilities an architect discovers themselves are the ones that change their thinking.
The anti-pattern catalog (rubber stamping, astronaut architecture, analysis paralysis, SOLID dogmatism, scalability theater, and more) and the recovery playbook for difficult dynamics (defensive architect, incomplete architecture, overwhelmed by findings, known patterns) live in references/principles-and-recovery.md.
Integration with Other Skills
pattern-tradeoff-analyzer-- When the review identifies a design decision involving pattern selection, hand off for deeper tradeoff analysis of the specific patterns under consideration.dependency-mapper-- When coupling analysis reveals complex relationships, generate a concrete dependency map from the codebase to verify the intended architecture matches the implemented architecture.system-design-kata-- When the review reveals significant gaps in design judgment, recommend katas to build that judgment in a lower-stakes environment.architecture-journal-- After the review, document ADRs for the decisions made, especially the accepted tradeoffs. The vulnerability report and Tradeoff Acceptance Form become inputs to the ADRs.
Stack-Specific Guidance
The questioning patterns in this skill are technology-agnostic. Consult the references for framework-specific concerns:
- Evaluation Frameworks -- SOLID diagnostics, ATAM, FMEA, scalability analysis, operational complexity assessment, STRIDE threat modeling
- Questioning Patterns -- Complete question catalog organized by category, with sequencing guidance and handling defensive responses
For technology-specific concerns: .NET/C# → dotnet-vertical-slice, ef-migration-manager; Python → python-architecture-checklist, python-feature-slice; Rust → rust-architecture-checklist, axum-scaffolder; React/TS → react-architecture-checklist, react-feature-slice; Event-driven → focus on message ordering, exactly-once delivery, dead letter queues, and poison messages.
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.

