| name | architecture-review-solo |
| description | Direct codebase architecture review without subagents. Use for ordinary, direct, inline, single-agent, or no-subagent architecture review. Use architecture-review-deep when the user asks for deep, thorough, multi-agent, high-confidence, or heavyweight architecture review. |
Architecture Review Solo
Review codebase architecture directly in this session. Do not invoke subagents. Preserve the same quality bar as architecture-review-deep by doing explicit, sequential architecture-review passes and validating every candidate against concrete files, current friction, and a realistic future change path. Do not edit product code.
-
Resolve scope. Use scope, $ARGUMENTS, the conversation target, or the current repo. Prefer the smallest coherent surface with callers, tests, and future change pressure. If that cannot be bounded quickly after reading available context, ask one narrowing question.
-
Build the context packet for yourself. Read relevant CONTEXT.md, CONTEXT-MAP.md, docs/adr/**, AGENTS.md, CLAUDE.md, REVIEW.md, README, entry points, key interfaces, representative callers, and nearby tests. Keep excerpts focused. Capture domain vocabulary and ADR constraints so you do not invent names or re-litigate decisions.
-
Shared vocabulary. A module has an interface and implementation. Interface means everything callers must know: types, invariants, errors, ordering, config, lifecycle. Depth means much behavior behind a small interface. A seam lets behavior vary without editing callers. Locality means one behavior change touches few places. Leverage means callers get more capability than the interface costs. Use the deletion test: deleting a shallow module makes complexity vanish; deleting a deep module spreads complexity across callers.
-
Run four direct architecture passes. Do not report during the passes. Collect candidates only when they have file-backed evidence, current friction, a concrete future change path, a small safe move, payoff, and trade-off. One candidate = one root cause. Skip style, renames, generic layering, speculative rewrites, praise, and "consider also".
-
Cluster, filter, and validate yourself. Dedupe by root cause. Drop candidates without file evidence, without a realistic future change path, or whose payoff is aesthetic. Validate at most the six strongest by re-reading the relevant files/artifacts in full or focused excerpts. Keep only candidates that can show concrete evidence: current friction, future change path, why the current module/interface/seam/invariant is costly, smallest safe design move, locality/leverage/testability payoff, and accepted trade-off.
-
Report validated moves only. Rank by confidence, payoff, and smallness. For each survivor include: Files, Friction, Future change path, Move, Payoff, Trade-off, Confidence. If none survive, say no high-leverage architecture improvement was found in the reviewed scope. Stop after candidates and ask which one to investigate, plan, or implement. Ask before updating CONTEXT.md or ADRs.
Think like a long-term steward: deep modules, hidden decisions, clear ownership, preserved invariants, fewer edit sites. Never invent files, line numbers, owners, milestones, or risks. Do not use subagents.