/choose
Use AI to analyze trade-offs and recommend the best option when multiple valid approaches exist.
Quick Start
/agileflow:choose best approach to fix slow API response timesThis analyzes options and explains trade-offs to guide your decision.
Parameters
| Parameter | Required | Description |
|---|---|---|
<decision> | Yes | The decision to analyze |
CONTEXT | No | Additional context for the decision |
Usage Examples
Performance decision
/agileflow:choose best approach to fix slow API response timesAnalyzes options like caching, query optimization, pagination.
Architecture decision
/agileflow:choose authentication approach for new API CONTEXT="multi-tenant SaaS, 50K users"Considers JWT, sessions, OAuth with your context.
Development approach
/agileflow:choose how to implement the new dashboard featureWeighs quick prototype vs. full architecture vs. incremental TDD.
How It Works
The command performs 4-step decision analysis:
Step 1: Analyze the Decision
Understands what's being decided:
- What are the constraints?
- What matters most? (speed, quality, maintainability)
- What's the current context?
Step 2: Generate Options
For each viable approach:
- Name: Clear label for the option
- Description: What it entails
- Pros: Benefits and strengths
- Cons: Drawbacks and risks
- Effort: Implementation cost
- Risk: Potential failure modes
Step 3: Evaluate Against Criteria
Scores each option against:
- Fit: How well it matches requirements
- Feasibility: How practical to implement
- Future-proof: How well it handles change
- Team capacity: Skills and time available
Step 4: Make Recommendation
Selects the best option and explains:
- Why this option wins
- What trade-offs are accepted
- What risks to monitor
- What next steps to take
Examples
Performance Optimization
Decision: Best approach to fix slow API response times
Options Considered:
- Add Caching (Redis)
- Optimize Database Queries
- Add Pagination
Recommendation: Start with database optimization, then add caching
Rationale: Optimizing queries addresses the root cause. Adding caching on top of slow queries just hides the problem. Start with the foundation, then layer caching for frequently accessed data.
Architecture Decision
Decision: Authentication approach for multi-tenant SaaS (50K users)
Options Considered:
- JWT with short expiry
- Session-based auth
- OAuth 2.0 with Identity Provider
Recommendation: OAuth 2.0 with Identity Provider
Rationale: Enterprises will expect SSO. Managing auth in-house is a liability. Auth0/Okta handle the complexity. Worth the integration effort upfront.
Development Approach
Decision: Development approach for new dashboard
Options Considered:
- Quick prototype (fast, risky)
- Full architecture first (solid, slow)
- Incremental TDD (balanced)
Recommendation: Incremental TDD
Rationale: Dashboard is user-facing with many edge cases. TDD ensures components work correctly from the start, and refactoring is safe when design evolves.
Output Format
Every decision outputs this format:
## Decision: [question]
### Context
[Summary of situation and constraints]
### Options Analyzed
#### Option 1: [name]
**Description**: [what it is]
**Pros**: [benefits]
**Cons**: [drawbacks]
**Effort**: [low/medium/high]
**Risk**: [potential issues]
#### Option 2: [name]
...
### Analysis
[Comparison matrix or discussion]
### Recommendation
**Selected: [option name]**
**Rationale**: [why this option is best for this situation]
**Trade-offs Accepted**:
- [trade-off 1]
- [trade-off 2]
### Next Steps
1. [immediate action]
2. [follow-up action]
3. [verification step]Expert Delegation
For complex decisions, delegate analysis to domain experts:
/agileflow:choose best database for this workload
# With expert delegation to database and performance specialistsThe command can spawn experts in parallel to analyze from different angles before synthesis.
When NOT to Use
- Simple yes/no questions - Just answer directly
- Only one viable option - Just proceed
- User has already decided - Just implement
- Trivial decisions - Don't over-engineer the process
Use /agileflow:choose for decisions that:
- Have 2+ viable options
- Involve trade-offs worth analyzing
- Benefit from structured thinking
- Need documented rationale
Best Practices
- Include context - More context = better recommendations
- Define success criteria - What matters most?
- Be honest about trade-offs - Every option has downsides
- Document decisions - Use
/agileflow:adrfor important architectural choices - Revisit decisions - Circumstances change; choices may need updating
Integration with Other Commands
After making a decision:
- Document it: Use
/agileflow:adrto create Architecture Decision Record - Create work: Use
/agileflow:storyto create stories for implementation - Implement it: Use
/agileflow:babysitto implement the selected approach
Related Commands
On This Page
/chooseQuick StartParametersUsage ExamplesPerformance decisionArchitecture decisionDevelopment approachHow It WorksStep 1: Analyze the DecisionStep 2: Generate OptionsStep 3: Evaluate Against CriteriaStep 4: Make RecommendationExamplesPerformance OptimizationArchitecture DecisionDevelopment ApproachOutput FormatExpert DelegationWhen NOT to UseBest PracticesIntegration with Other CommandsRelated Commands