Decision-Making with the 1-3-1 Method
Overview
A structured framework for making significant decisions. Prevents analysis paralysis while ensuring thorough consideration of alternatives.
Core principle: One problem, three options, one recommendation.
When to Use
- •Choosing between technical approaches or architectures
- •Selecting tools, frameworks, or libraries
- •Deciding on implementation strategies
- •Resolving design trade-offs
- •Any decision where multiple viable paths exist
The 1-3-1 Method
Step 1: Identify 1 Core Problem
Distill the decision into a single, clear problem statement.
Good: "Which authentication strategy balances security with implementation speed?" Bad: "How should we build the login system?"
Step 2: Propose 3 Options
Generate three distinctly different approaches. Each must:
- •Be viable and address the core problem
- •Represent a genuinely different path (not variations of the same idea)
- •Include trade-offs (pros/cons)
Step 3: Give 1 Recommendation
Evaluate options against relevant criteria and recommend one.
Evaluation criteria (select relevant ones):
- •Implementation complexity
- •Time to delivery
- •Maintainability
- •Scalability
- •Risk level
- •Cost
- •Team expertise
Output Format
**Core Problem:** [Clear, specific problem statement] **Option 1:** [Name] [Description] - Pros: [advantages] - Cons: [disadvantages] **Option 2:** [Name] [Description] - Pros: [advantages] - Cons: [disadvantages] **Option 3:** [Name] [Description] - Pros: [advantages] - Cons: [disadvantages] **Recommendation:** [Chosen option] **Reasoning:** [Brief explanation of why this is the best approach]
Prerequisites (for complex decisions)
For significant decisions, gather these 4 inputs first:
- •Context – Why is this decision being made? What triggered it?
- •Constraints – What are the non-negotiables? (time, budget, tech stack)
- •Stakeholders – Who is affected? What do they care about?
- •Success criteria – How will we know we made the right choice?
Examples
Quick Decision
Core Problem: Which HTTP client library for our Node.js API?
Option 1: Axios - Popular, promise-based, good interceptors Option 2: node-fetch - Minimal, native fetch API Option 3: Got - Feature-rich, retry built-in, TypeScript native
Recommendation: Got Reasoning: TypeScript-first, built-in retry logic reduces boilerplate, active maintenance.
Complex Decision
When the decision has significant impact, use the full format with prerequisites gathered first.
Red Flags
- •Only 1-2 options considered – You're not exploring the solution space
- •Options are too similar – Push for genuinely different approaches
- •No clear recommendation – Take a stance; "it depends" isn't helpful
- •Recommendation doesn't match reasoning – Ensure logic supports conclusion
- •Skipping the problem statement – Unclear problem leads to unclear solutions
Integration
This skill is used by these workflows:
- •
/create-feature– Feature development decisions - •
/create-epic– Epic decomposition strategies - •
/create-bugfix– Root cause and fix approach selection - •
/suggest-solutions– General problem-solving
Invoke with @decision-making for standalone use.