From superpowers
Evaluates codebase-grounded architectural options, proposes 2-3 approaches with trade-offs, presents conversationally, and secures user approval via targeted questions.
npx claudepluginhub fradser/dotclaude --plugin superpowersbrainstorming/references/# Phase 2: Option Analysis - Detailed Guidance ## Goal Evaluate different architectural approaches and get user buy-in on the chosen approach. ## Primary Agent Actions ### 1. Research Existing Patterns Ground your options in codebase reality: - Search for similar implementations in the codebase - Look for established architectural patterns (MVC, layered, microservices, etc.) - Identify libraries and frameworks already in use - Check for coding conventions and style patterns ### 2. Identify Viable Approaches Based on codebase exploration, propose 2-3 approaches: **When to propose al...
/neo-architectProvides architectural guidance on design decisions: analyzes tradeoffs, scalability, maintainability; gives recommendations with confidence scores, risk analysis, and similar system references.
/architecture-advisorGuides interactive architecture decisions: discovers requirements and constraints, analyzes codebase, proposes 2-3 options with trade-offs, documents ADR.
/reviewLaunches Codex agent for software architecture analysis and research: evaluates designs, explores patterns/best practices, delivers options, trade-offs, and recommendations.
/architectEnters Architect Mode to design high-level system architectures, analyze trade-offs, produce design docs, ADRs, ASCII diagrams, and implementation plans before coding.
/tot-decideEvaluates architectural decisions using Tree of Thoughts: generates and scores k alternatives against NFR criteria, recommends winner, generates ADR, and saves to .aiwg/architecture/.
/discussFacilitates technical decision-making through structured analysis, multi-perspective exploration, trade-off evaluation, and rationale documentation.
Share bugs, ideas, or general feedback.
Evaluate different architectural approaches and get user buy-in on the chosen approach.
Ground your options in codebase reality:
Based on codebase exploration, propose 2-3 approaches:
When to propose alternatives:
When "No Alternatives" is acceptable:
Don't use formal tables. Write naturally as if explaining to a colleague:
Structure:
Example Presentation:
I recommend using the existing event-driven pattern (like we use in src/notifications/)
because it keeps the payment processing decoupled from order management. This means:
- Payment failures won't block order creation
- Easy to add payment providers later
- Consistent with how we handle other async operations
Alternative approach would be synchronous payment processing (direct API calls in the
order controller). This is simpler to understand but creates tight coupling - if the
payment service is down, orders can't be created at all. This is how the legacy
/checkout endpoint works, and we've had reliability issues with it.
Your proposals should:
Example: "This follows the same layered approach we use in src/users/ where
controllers call service classes that handle business logic."
Use AskUserQuestion to confirm the chosen approach:
CRITICAL: One Question at a Time:
AskUserQuestion with exactly 1 question (never use 2-4 questions)Simple approval:
Does the event-driven approach sound good, or would you prefer one of the alternatives?
Clarifying trade-offs:
The event-driven approach is more complex to debug but more reliable. The synchronous
approach is simpler but less robust. Which trade-off matters more for this feature?
Options should be grounded in codebase reality, not abstract possibilities. Don't propose approaches that would require major architectural changes unless the requirements demand it.
Time vs. Space (Complexity)
Consistency vs. Availability (CAP Theorem)
Clean Code vs. Performance
Dependency Management
package.json. Pros: No new bloat. Cons: Might be older version/missing features.Proceed to design creation with: