alternatives-analysis
Skill1 starsChanged 7 months agoMITView on GitHub
Generic framework for comparing alternatives and making structured decisions. Use when: evaluating competing options for architecture, strategy, tools, vendors, dependencies, pricing models, or process changes; auditing an existing decision for gaps; choosing between build vs buy approaches; or presenting a recommendation with explicit trade-offs and evidence.
In this repository42 other files it gives its agents.
- accessibility-testingSkill
- anomaly-detectionSkill
- api-designSkill
- async-messagingSkill
- caching-strategiesSkill
- chartsSkill
- cicdSkill
- code-reviewSkill
- commsSkill
- critical-feedbackSkill
- data-analysisSkill
- databaseSkill
- data-migrationsSkill
- data-visualizationSkill
- dependency-managementSkill
- dockerSkill
- error-handlingSkill
- feature-flagsSkill
- git-workflowSkill
- goalsSkill
- ide-setupSkill
- large-changeSkill
- logging-metricsSkill
- markdown-docsSkill
- mcp-serverSkill
- meeting-agendasSkill
- okrsSkill
- presentationsSkill
- product-managementSkill
- prompt-writingSkill
- pythonSkill
- reclassificationSkill
- release-managementSkill
- retrospectivesSkill
- roadmap-planningSkill
- securitySkill
- stakeholder-commsSkill
- statisticsSkill
- status-updatesSkill
- testingSkill
- ticket-writingSkill
- typescriptSkill
The file
We split this skill into the rules it gives an agent
6 rules. About 0 are common, 4 are distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈4
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 47
Before comparing options, define what is being decided and why.
- Distinctive: line 60
Always include all user-provided options.
- Very specific: line 87
Use High/Medium/Low weights or numeric weights summing to 1.0.
- Distinctive: line 113
Put criteria on rows and options on columns for quick comparison.
- Distinctive: line 129
Keep cell values concise.
- Very specific: line 193
Use a lightweight template in your repo docs (for example, docs/decisions/YYYY-MM-DD-<slug>.md):
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Alternatives Analysis
When to Use
- Choosing between competing approaches, tools, vendors, architectures, or strategies
- Evaluating a proposed change where the do-nothing option exists
- Any decision where multiple stakeholders need to align on rationale
- Auditing a previous decision for completeness or bias
- Comparing options in technical, business, operational, or product contexts
This is a generic framework for structured comparison. Domain-specific skills (competitive analysis, dependency management, database selection, and similar) can apply this process within their own context.
Core Principles
- Include the requester's options, then expand them.
- Assess impacts holistically across cost, risk, time, quality, maintainability, team capability, reversibility, and downstream effects.
- Surface blind spots explicitly by stating assumptions and unknowns.
- End with a clear, justified recommendation.
Analysis Process
Step 1: Frame the Decision
Before comparing options, define what is being decided and why.
## Decision
**What**: [One sentence: what choice must be made]
**Why now**: [Trigger or deadline forcing this decision]
**Constraints**: [Budget, timeline, team size, compatibility, regulation, etc.]
**Success criteria**: [What a good outcome looks like - measurable when possible]Step 2: Enumerate Options
- Always include all user-provided options.
- Include a status quo/do-nothing option when change is not mandatory.
- Propose at least one additional option the requester may have missed.
- Cap the list at 5-7 viable options.
For each option, add a one-sentence concrete description.
Step 3: Define Evaluation Criteria
Select criteria relevant to this decision and weight them.
| Criterion | What it measures | When it matters |
| Cost | Upfront and ongoing financial impact | Budget-constrained decisions |
| Time to value | How fast value appears | Time-sensitive situations |
| Risk | Probability and severity of downside | High-stakes decisions |
| Reversibility | How easy it is to undo | One-way-door decisions |
| Quality/fit | How well it meets requirements | Specific requirement sets |
| Scalability | Performance under growth | Growth-stage decisions |
| Maintainability | Long-term operation effort | Multi-year impact |
| Team capability | Ability to execute with current team | Skill-constrained situations |
| Ecosystem compatibility | Integration with current systems | Platform/toolchain decisions |
| Vendor/dependency risk | Exposure to external control | Build vs buy/vendor choice |
| Opportunity cost | What is not done if this is chosen | Resource-constrained planning |
| Stakeholder alignment | How well it balances competing interests | Cross-functional decisions |
| Regulatory/compliance | Legal and policy obligations | Regulated contexts |
Use High/Medium/Low weights or numeric weights summing to 1.0.
Step 4: Analyze Each Option
Evaluate each option against each selected criterion with evidence.
### Option: [Name]
**Description**: [One sentence]
| Criterion | Assessment | Notes |
|-----------|------------|-------|
| Cost | $X upfront, $Y/mo ongoing | [Source or assumption] |
| Time to value | ~N weeks | [Prerequisites] |
| Risk | Medium - [specific risk] | [Mitigation] |
| ... | ... | ... |
**Strengths**: [Where this option is strongest]
**Weaknesses**: [Where it falls short]
**Assumptions**: [What must be true]
**Unknowns**: [What is uncertain]Step 5: Build the Summary Table
Put criteria on rows and options on columns for quick comparison.
## Summary Comparison
| Criterion | Weight | Option A | Option B | Option C | Status Quo |
|-----------|--------|----------|----------|----------|------------|
| Cost | High | $$ | $ | $$$ | $0 |
| Time to value | High | 2 weeks | 6 weeks | 1 week | - |
| Risk | Med | Low | Med | High | Med (drift) |
| Reversibility | Med | Easy | Hard | Easy | - |
| Team capability | Low | Ready | Needs hire | Ready | - |Guidelines:
- Include a weight column.
- Keep cell values concise.
- Fill every cell. If unknown, write Unknown.
Output Format
Deliver the analysis in this order:
- Decision frame
- Summary comparison table
- Detailed per-option analysis
- Blind spots, assumptions, and unknowns
- Final recommendation
Recommendation template:
## Recommendation
**Choose**: [Option name]
**Why**: [2-4 sentences tied to weighted criteria and success criteria]
**What you give up**: [Best argument for the runner-up]
**Conditions**: [What must remain true; fallback if assumptions fail]The recommendation should be falsifiable: it should be clear what evidence would change the decision.
Anti-Patterns
| Anti-pattern | Problem | Fix |
| Straw-man options | Weak options make one option look best | Compare strongest realistic versions |
| Anchoring on first option | Relative comparison instead of criteria-based evaluation | Score independently against criteria |
| Missing status quo | Implies change is always required | Include do-nothing explicitly |
| Single-dimension comparison | Over-optimizes one factor | Use multiple weighted criteria |
| Analysis paralysis | Analysis cost exceeds decision value | Match depth to stakes |
| Hidden recommendation | Decision-maker cannot act | State clear recommendation early |
| Ignoring unknowns | Assumptions treated as facts | Label assumptions and unknowns |
Scale Depth to Stakes
| Decision type | Depth | What to include |
| Low stakes, reversible | Light (10 min) | 2-3 options, 2-3 criteria, concise recommendation |
| Medium stakes | Standard (30-60 min) | 3-5 options, 4-6 weighted criteria, full table and rationale |
| High stakes, irreversible | Deep (hours-days) | 5-7 options, 6+ criteria, scenario analysis, risk register |
A fast structured comparison is usually better than an unstructured gut call.
Decision Logging (Recommended)
Record significant decisions so teams can trace why a path was chosen.
Use a lightweight template in your repo docs (for example,
docs/decisions/YYYY-MM-DD-<slug>.md):
# Decision: <title>
- Date: YYYY-MM-DD
- Context: [what triggered this decision]
- Options considered: [A, B, C, status quo]
- Recommendation: [chosen option]
- Why: [short rationale]
- Revisit when: [condition or date]For repeated decision-making in the same project, maintain an index file that links all decision records.
Audit Checklist
- Decision is clearly framed with trigger, constraints, and success criteria
- All requester-provided options are included
- At least one additional option is considered
- Status quo is included or explicitly excluded with reason
- Criteria are relevant and weighted
- Every option is assessed against every criterion
- Summary comparison table is present near the top
- Blind spots, assumptions, and unknowns are explicit
- Recommendation is clear and justified
- Trade-offs are acknowledged
- Recommendation is falsifiable
- Analysis depth matches decision stakes
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

