compare approaches
1
总安装量
0
周安装量
#42436
全站排名
安装命令
npx skills add https://github.com/lookatitude/beluga-ai --skill Compare Approaches
Skill 文档
Compare Approaches
This skill guides you through systematically comparing different implementation approaches to inform decision-making.
Prerequisites
- Clear decision to be made
- 2 or more alternatives to compare
- Understanding of requirements and constraints
Steps
1. Define the Decision
## Decision: [What needs to be decided]
### Context
[Background and why this decision matters]
### Requirements
1. [Must-have requirement 1]
2. [Must-have requirement 2]
3. [Nice-to-have requirement]
### Constraints
- [Technical constraint]
- [Resource constraint]
- [Timeline constraint]
### Success Criteria
[How we'll know we made the right choice]
2. Identify Alternatives
List all viable options:
## Alternatives
### Option A: [Name]
**Description**: [Brief explanation]
**Precedent**: [Where this is used in codebase or industry]
### Option B: [Name]
**Description**: [Brief explanation]
**Precedent**: [Where this is used]
### Option C: [Name]
**Description**: [Brief explanation]
**Precedent**: [Where this is used]
3. Define Evaluation Criteria
Select relevant criteria:
| Category | Criteria | Weight |
|---|---|---|
| Performance | Latency | High |
| Throughput | Medium | |
| Memory usage | Low | |
| Maintainability | Code complexity | High |
| Testability | High | |
| Documentation | Medium | |
| Compatibility | Existing patterns | High |
| Future extensibility | Medium | |
| Breaking changes | High | |
| Operational | Monitoring | Medium |
| Debugging | Medium | |
| Deployment | Low |
4. Analyze Each Option
For each alternative, evaluate against criteria:
## Analysis: Option A - [Name]
### Implementation Approach
```go
// Example implementation
type ComponentA struct {
// ...
}
func NewComponentA() *ComponentA {
// ...
}
Performance
- Latency: [Assessment with evidence]
- Throughput: [Assessment]
- Memory: [Assessment]
Maintainability
- Complexity: [Assessment]
- Lines of code: ~X
- Cyclomatic complexity: Low/Medium/High
- Testability: [Assessment]
- Documentation: [Assessment]
Compatibility
- Existing patterns: [How it fits]
- Similar to:
pkg/example/implementation
- Similar to:
- Extensibility: [Future changes]
- Breaking changes: [Impact]
Operational
- Monitoring: [OTEL integration]
- Debugging: [Error visibility]
- Deployment: [Rollout considerations]
Pros
- [Advantage 1]
- [Advantage 2]
Cons
- [Disadvantage 1]
- [Disadvantage 2]
Risk Assessment
- [Risk 1]: [Likelihood] / [Impact]
- [Risk 2]: [Likelihood] / [Impact]
### 5. Create Comparison Matrix
```markdown
## Comparison Matrix
| Criteria | Weight | Option A | Option B | Option C |
|----------|--------|----------|----------|----------|
| **Performance** |
| Latency | High | âââ | ââ | â |
| Throughput | Medium | ââ | âââ | ââ |
| Memory | Low | ââ | â | âââ |
| **Maintainability** |
| Complexity | High | âââ | ââ | â |
| Testability | High | âââ | âââ | ââ |
| **Compatibility** |
| Existing patterns | High | âââ | ââ | â |
| Extensibility | Medium | ââ | âââ | âââ |
| **Weighted Score** | | **X.X** | **X.X** | **X.X** |
Legend: â = Poor, ââ = Acceptable, âââ = Excellent
6. Analyze Trade-offs
## Trade-off Analysis
### Option A vs Option B
- **A is better when**: [Conditions]
- **B is better when**: [Conditions]
- **Key trade-off**: [Performance vs Flexibility, etc.]
### Critical Trade-offs
1. **[Trade-off 1]**: Choosing X means accepting Y
- Impact: [Description]
- Mitigation: [How to address]
2. **[Trade-off 2]**: ...
7. Make Recommendation
## Recommendation
### Primary Recommendation: Option [X]
**Rationale**:
1. [Reason aligned with highest-weight criteria]
2. [Reason aligned with requirements]
3. [Reason considering constraints]
**Conditions for this recommendation**:
- [Assumption 1]
- [Assumption 2]
### Alternative: Option [Y]
**When to choose this instead**:
- [Condition 1]
- [Condition 2]
### Not Recommended: Option [Z]
**Why not**:
- [Critical issue 1]
- [Critical issue 2]
### Implementation Notes
1. [Key consideration for implementing chosen option]
2. [Potential pitfall to avoid]
3. [Migration path if changing later]
8. Document Decision
## Decision Record
**Date**: [YYYY-MM-DD]
**Decision**: [Chosen option]
**Status**: [Proposed/Accepted/Deprecated]
### Context
[Brief background]
### Decision
We will use [Option X] because:
1. [Primary reason]
2. [Secondary reason]
### Consequences
**Positive**:
- [Benefit 1]
**Negative**:
- [Trade-off accepted]
**Neutral**:
- [Neither good nor bad]
### Follow-up Actions
- [ ] [Action 1]
- [ ] [Action 2]
Comparison Templates
Quick Comparison (2 options)
| Aspect | Option A | Option B |
|--------|----------|----------|
| [Criterion 1] | [Value] | [Value] |
| [Criterion 2] | [Value] | [Value] |
**Recommendation**: [Option] because [one-sentence reason]
Detailed Comparison (3+ options)
Use full template above with all sections.
Quality Checklist
- All options are viable (no strawmen)
- Criteria are weighted by importance
- Evidence supports assessments
- Trade-offs are explicit
- Recommendation has clear rationale
- Conditions for alternative are defined
- Implementation notes provided
Output
A comparison document with:
- Clear problem statement
- Comprehensive option analysis
- Weighted comparison matrix
- Trade-off analysis
- Actionable recommendation
- Decision record for future reference