From aide
Guides structured decision-making interviews for architectural and technical choices, evaluating options with pros/cons tables, recommending, confirming, and recording decisions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/aide:decideThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
**Recommended model tier:** smart (opus) - this skill requires complex reasoning
Recommended model tier: smart (opus) - this skill requires complex reasoning
Formal decision-making workflow for architectural and technical choices.
When facing a significant technical decision, this workflow guides you through structured analysis to make an informed choice that will be recorded and respected by all future sessions and agents.
Ask the user to clarify:
Example questions:
Research and propose options:
Output format:
## Options
1. **[Option A]** - Brief description
- Best for: [use case]
2. **[Option B]** - Brief description
- Best for: [use case]
3. **[Option C]** - Brief description
- Best for: [use case]
For each option, evaluate:
Output format:
## Analysis
| Option | Pros | Cons | Fit |
| -------- | ------------ | -------------- | --------------------- |
| Option A | Fast, simple | Limited scale | Good for MVP |
| Option B | Scalable | Complex setup | Good for growth |
| Option C | Flexible | Learning curve | Good if team knows it |
Consider:
Provide a clear recommendation with rationale:
## Recommendation
I recommend **[Option]** because:
1. [Primary reason tied to requirements]
2. [Secondary benefit]
3. [Risk mitigation]
This choice [addresses constraint X] while [enabling future Y].
Ask for confirmation:
Wait for explicit user approval before recording:
Store the decision using the ./.aide/bin/aide decision set CLI command via Bash:
./.aide/bin/aide decision set "<topic-slug>" "<decision summary>" --rationale="<why this was chosen>"
Binary location: The aide binary is at .aide/bin/aide. If it's on your $PATH, you can use aide directly.
Topic naming:
auth-strategy, database-choice, api-designuser-auth-method not just authpayments-queue-strategyVerify the decision was stored:
./.aide/bin/aide decision get "<topic-slug>"
User: help me decide how to handle background jobs
Claude: [IDENTIFY]
What kind of background jobs do you need to handle?
- Scheduled tasks (cron-like)?
- Async processing (triggered by events)?
- Long-running workers?
What's your current stack and scale expectations?
User: Async processing for email sending and webhook deliveries.
Stack is Node.js/TypeScript, expecting 10K jobs/day initially.
Claude: [EXPLORE]
## Options
1. **BullMQ (Redis)** - Production-ready Node.js queue
- Best for: Node.js apps needing reliability + Redis features
2. **AWS SQS + Lambda** - Serverless queue
- Best for: AWS-native apps, variable load
3. **Database-backed queue** - Simple polling
- Best for: Low volume, no new infrastructure
4. **RabbitMQ** - Enterprise message broker
- Best for: Complex routing, multi-language
[ANALYZE]
| Option | Pros | Cons | Fit |
|--------|------|------|-----|
| BullMQ | Native TS, retries, dashboard | Needs Redis | Excellent |
| SQS+Lambda | Serverless, scales | Cold starts, AWS lock-in | Good |
| DB queue | Simple, no new infra | Polling overhead, scale limits | MVP only |
| RabbitMQ | Powerful routing | Overkill, operational burden | Over-engineered |
[RECOMMEND]
I recommend **BullMQ with Redis** because:
1. Native TypeScript support matches your stack
2. Built-in retries, delays, and rate limiting for email/webhooks
3. Bull Board provides visibility without custom tooling
4. 10K/day is well within comfortable range, scales to millions
Redis adds infrastructure but enables other features (caching, sessions).
Do you want to proceed with this decision?
User: yes, let's go with BullMQ
Claude: [RECORD]
[Calls ./.aide/bin/aide decision set via Bash]
```bash
./.aide/bin/aide decision set "background-jobs-queue" "Use BullMQ with Redis for background job processing (emails, webhooks)" --rationale="Native TypeScript support, built-in retries/delays/rate-limiting, Bull Board for visibility, 10K/day well within capacity. Rejected: SQS+Lambda (AWS lock-in, cold starts), DB queue (limited scale), RabbitMQ (over-engineered)"
Decision recorded. Future sessions will follow this architectural choice.
## Integration
Decisions stored via `./.aide/bin/aide decision set` are:
1. Persisted in the aide memory database
2. Injected into future session contexts at startup
3. Visible to swarm agents (they won't contradict decisions)
4. Queryable via `./.aide/bin/aide decision get`, `./.aide/bin/aide decision list`, or the MCP tools `decision_get`/`decision_list`
## When to Use This Skill
**Good candidates for formal decisions:**
- Authentication/authorization strategy
- Database technology choice
- API design patterns
- State management approach
- Testing strategy
- Deployment architecture
- Third-party service selection
**NOT needed for:**
- Minor implementation details
- Obvious choices with no trade-offs
- Temporary/experimental code
- Personal preferences (use memories instead)
## Changing Decisions
Decisions can be superseded:
1. Run `/aide:decide` again for the same topic
2. New decision replaces old (history preserved)
3. Use `mcp__plugin_aide_aide__decision_history` to see evolution
npx claudepluginhub jmylchreest/aide --plugin aideStructures architecture decisions with options table (pro/con/complexity), choice, risks, and next steps. Use for technology choices, design decisions, system design questions.
Evaluates technology alternatives against criteria like fit, complexity, team familiarity, scalability, and security; scores options and documents ADRs.
Builds weighted decision matrices, analyzes trade-offs, and generates ADRs for architectural, technical, and process decisions like database selection or framework choice.