codenamev/ai-software-architect/architecture-review
Claude Code and agent skill by codenamev/ai-software-architect
- community
Checking that the SKILL.md file is still in the repository.
Conducts a comprehensive multi-perspective architecture review using ALL architecture team members. Use when the user requests "Start architecture review", "Full architecture review", "Review architecture for version X.Y.Z", "Conduct comprehensive review", or when they want assessment from multiple perspectives. Do NOT use for single-specialist reviews (use specialist-review instead) or for status checks (use architecture-status instead).
Install
npx vskill@latest install codenamev/ai-software-architect/architecture-reviewSKILL.md
Architecture Review (orchestrator)
Comprehensive multi-perspective architecture review. This skill is an orchestrator — it dispatches one subagent invocation per active team member in parallel, then aggregates the returned reviews into a consolidated document. The deep-perspective work happens in the subagents (agents/<id>.md), not in this skill's main thread.
See ADR-013 for the rationale.
Process
1. Determine scope
Identify the review target from the user's request:
- Version — "version 2.0.0" → filename
2-0-0.md - Feature — "authentication feature" → filename
feature-authentication.md - Component — "payments module" → filename
component-payments-module.md
Apply input sanitization from `../_patterns.md`. If the scope is ambiguous, ask one clarifying question and stop.
2. Load team and config
Read .architecture/config.yml and .architecture/members.yml:
config.yml.pragmatic_mode.enableddecides whether to include thepragmatic_enforcersubagent.members.yml.members[]is the list of subagents to dispatch.
Each member's id (e.g., security_specialist) maps to agents/<kebab-id>.md (e.g., agents/security-specialist.md). The drift check in CI guarantees these files exist and are in sync.
Active set: every member in members.yml, excluding pragmatic_enforcer if config.yml.pragmatic_mode.enabled == false.
Also read .architecture/principles.md. It is the project's recorded constitution, and every review is checked against it: step 4 hands it to each member, step 6.5 collects what they found. If the file is missing, write "no principles recorded" in the review's Principle Conflicts section and skip the gate. Never block a review on it.
3. Optional pre-analysis (orchestrator-side)
For broad reviews, an initial scan helps the orchestrator give every subagent a shared starting context. Use Glob, Grep, and Bash(git:*) (e.g., git log --oneline -20, git diff main...HEAD --stat) to assemble a short brief: target description, recent activity, key files. Keep this brief under ~500 tokens — it's a shared header, not a review.
If the review target is narrow (a single feature or ADR), this step can be skipped.
4. Dispatch subagents in parallel
Issue one Agent call per active member, all in the same response (parallel dispatch is the documented best practice for independent work):
Prompt template (used for every subagent — vary only the <target>, the optional shared brief, and the principles block):
For pragmatic_enforcer (when included), append: Apply the Pragmatic Enforcer Analysis structure from .architecture/templates/adr-template.md (Necessity, Complexity, Ratio, Recommendation).
5. Challenge round
The individual reviews are monologues: no member has seen another's findings. Before aggregating, run one adversarial pass over the findings that carry the most weight. This is the collaborative_phase from members.yml, made concrete.
- Select every concern rated critical or high across all returned reviews. Medium and low findings skip this round.
- Assign a challenger per finding: the active member best positioned to refute it, never its author. Use the members'
perspectiveanddomainsfields — a security critical demanding mandatory validation goes toperformance_specialist; an architectural rewrite goes topragmatic_enforcer(when active) ormaintainability_expert; a domain-model concern goes tosystems_architect. When no member is an obvious counterweight, usepragmatic_enforcerif active, otherwise skip the finding and note it as unchallenged. - Dispatch one Agent call per finding, all in the same response:
Challenge prompt template:
- Record the outcome on each finding and carry it into aggregation:
NO OBJECTION→ severity unchanged, annotated challenged by <member>, survived.DOWNGRADE→ severity set to the challenger's level, rebuttal recorded verbatim under the finding.REFUTE→ finding moved out of the prioritized lists into the Challenges section with the rebuttal verbatim. The author's original text stays in their per-member section untouched.
The orchestrator does not adjudicate. A challenge either produces cited evidence or it does not; the response format forces that choice. Cost is one subagent call per critical/high finding, typically 3-6 per review.
6. Aggregate
When the challenge round returns, first normalize and filter the raw returns (Claude Code 2.1.277+ wraps each return under a "subagent output" header; strip that framing before parsing):
- Dedup by location. Concerns from different members that point at the same
file:line(or the same file when no line is given) and describe the same problem merge into one finding that lists every member who raised it, keeps the highest severity, and takes the highest confidence. Different problems at the same location stay separate. - Low-confidence appendix. A concern with confidence below 0.7 that only one member raised goes to the "Low-confidence findings" appendix of the review, not into the sections below. A concern two or more members raised stays in whatever its confidence: independent agreement is evidence. Nothing is deleted; each member's verbatim review (6.4) still carries every concern it returned.
Then build the consolidated review from the filtered set and the post-challenge severities. A merged finding counts once in the cross-cut analysis, with the number of members who raised it noted. That number is the signal, not eight copies of the same line.
- Cross-cut analysis — identify themes that appear in 3+ subagent reviews (these are the high-leverage findings).
- Conflict resolution — when two subagents disagree on something the challenge round did not settle (e.g., security wants strict validation, performance wants minimal overhead), surface the disagreement explicitly under "Trade-offs" rather than picking a winner. Naming the trade-off is the value.
- Prioritization — bucket every concern into Critical (0-2 weeks) / Important (2-8 weeks) / Nice-to-Have (2-6 months) based on the post-challenge severity ratings and the cross-cut analysis. Refuted findings are excluded here; they appear only under Challenges.
- Verbatim per-perspective sections — preserve each subagent's full review under a per-member section. This is the source data; aggregation summarizes but does not replace it.
- Principle gate — collect every member's Principle conflicts section into the review's Principle Conflicts table, one row per conflict, principle named. Two rules follow. A concern tied to a recorded principle is never bucketed below Important, whatever its severity rating: the principle already settled that it matters. A PRINCIPLE CHANGE recommendation never enters the prioritized lists at all; it goes under Proposed Principle Changes with a pointer to
create-adr, because changing the constitution is a decision to record, not a finding to schedule. Findings refuted in step 5 drop out of the gate with everything else.
7. Write the consolidated review
Use the review template. Key sections:
- Executive summary (3-5 sentences, overall assessment + top concerns)
- Individual member reviews (verbatim from step 6.4)
- Challenges (from step 5: every critical/high finding with its challenger and outcome, rebuttals verbatim)
- Principle conflicts and proposed principle changes (from step 6.5)
- Cross-cutting themes (from step 6.1)
- Trade-offs and disagreements (from step 6.2)
- Prioritized recommendations (from step 6.3)
- Risks if unaddressed (highest-severity items)
- Success metrics and follow-up plan
- Dispositions: every Area for Improvement and every low-confidence row is written with
Disposition: pending. The orchestrator never writesaccepted,rejected, ordeferred; those are the maintainer's calls, made directly or at the point where the review's findings are turned into a plan (recalibration), and a review that ships with them pre-filled has had its judgment made for it.
Save to .architecture/reviews/<filename> (filename from step 1).
If pragmatic mode is enabled, ensure the pragmatic_enforcer review's Necessity / Complexity / Ratio analysis is surfaced in the executive summary, not buried in the member section. See `references/pragmatic-integration.md`.
8. Report to the user
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/architecture-review/SKILL.md
Popularity
- Repository stars
- 79
- Repository forks
- 12
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 23 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/codenamev/ai-software-architect/architecture-review)