decision-helper
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDecision Helper Skill
决策助手Skill
Operator Context
操作者上下文
This skill operates as an operator for structured decision-making, configuring Claude's behavior for weighted scoring of architectural and technology choices. Runs inline (no context fork) because users adjust criteria and weights interactively.
本Skill作为结构化决策的操作者,配置Claude的行为以对架构与技术选型进行加权评分。采用内联运行(无上下文分支)模式,因为用户会交互式调整标准与权重。
Hardcoded Behaviors (Always Apply)
硬编码行为(始终生效)
- CLAUDE.md Compliance: Read and follow repository CLAUDE.md files before execution
- Option Limit: Maximum 4 options. More than 4 = decompose into sub-decisions first
- Close-Call Detection: Always flag when top two options differ by <0.5 weighted score
- No Gut Overrides: If the matrix contradicts intuition, fix the criteria -- never override the math
- CLAUDE.md合规性:执行前读取并遵循仓库中的CLAUDE.md文件
- 选项数量限制:最多4个选项。超过4个时,先分解为子决策
- 接近比分检测:当排名前两位的选项加权分差小于0.5时,始终标记提示
- 禁止直觉覆盖:如果评分矩阵与直觉不符,修正标准而非覆盖计算结果
Default Behaviors (ON unless disabled)
默认行为(默认开启,可禁用)
- Default Criteria: Use the standard criteria table unless the user provides custom criteria
- ADR Persistence: Check and append decision there; fall back to task plan
.adr-session.json - Score Justification: Brief (1 sentence) justification for each score
- 默认标准:除非用户提供自定义标准,否则使用标准标准表
- ADR持久化:检查并将决策追加到其中;若不存在则回退到任务计划
.adr-session.json - 评分理由:为每个评分提供简短(1句话)的理由
Optional Behaviors (OFF unless enabled)
可选行为(默认关闭,可启用)
- Custom Criteria: User replaces or supplements default criteria and weights
- Sensitivity Analysis: Re-score with adjusted weights to test recommendation stability
- Skip Persistence: Don't record the decision (for informal exploration)
- 自定义标准:用户替换或补充默认标准与权重
- 敏感性分析:调整权重后重新评分,测试推荐结果的稳定性
- 跳过持久化:不记录决策(用于非正式探索)
Instructions
操作步骤
Step 1: Frame the Decision
步骤1:梳理决策
Goal: Turn the user's question into a clear, scorable decision.
- State the decision in one sentence (e.g., "Which HTTP router should we use for the API service?")
- List 2-4 concrete options. If the user provides more than 4, help them eliminate or group options before proceeding
- Identify hard constraints that eliminate options immediately (e.g., "must be MIT licensed" eliminates Option C)
If the user's request is too vague to frame, ask clarifying questions. Do not guess at options.
Gate: Decision statement defined, 2-4 options listed, hard constraints applied.
目标:将用户的问题转化为清晰、可评分的决策。
- 用一句话表述决策(例如:“我们的API服务应使用哪款HTTP路由器?”)
- 列出2-4个具体选项。如果用户提供超过4个选项,先帮助他们排除或分组,再继续
- 识别可直接排除选项的硬性约束(例如:“必须采用MIT许可证”可排除选项C)
如果用户的请求过于模糊无法梳理,提出澄清问题,不要猜测选项。
关卡:明确决策表述,列出2-4个选项,应用硬性约束。
Step 2: Define Criteria
步骤2:定义标准
Goal: Establish what matters for this decision and how much.
Present the default criteria table. Ask the user if they want to adjust weights or add/remove criteria.
| Criterion | Weight | What It Measures |
|---|---|---|
| Correctness | 5 | Does it solve the actual problem? |
| Complexity | 3 | How much complexity does it add? (lower = better) |
| Maintainability | 3 | How easy to change/debug later? |
| Risk | 3 | What can go wrong? How bad is the failure mode? |
| Effort | 2 | Implementation time and difficulty |
| Familiarity | 2 | Team/user comfort with this approach |
| Ecosystem | 1 | Library support, documentation, community |
WHY these defaults: Correctness dominates because a wrong solution has zero value regardless of other factors. Complexity/Maintainability/Risk form a middle tier because they determine long-term cost. Effort/Familiarity are lower because they're temporary (teams learn, effort is one-time). Ecosystem is lowest because it rarely decides between otherwise-equal options.
Gate: Criteria and weights confirmed (default or custom).
目标:确定决策的关键考量因素及其权重。
展示默认标准表,询问用户是否要调整权重或添加/删除标准。
| 标准 | 权重 | 衡量内容 |
|---|---|---|
| 正确性 | 5 | 是否能真正解决问题? |
| 复杂度 | 3 | 会增加多少复杂度?(越低越好) |
| 可维护性 | 3 | 后续修改/调试的难易程度? |
| 风险 | 3 | 可能出现哪些问题?故障影响程度如何? |
| 实施成本 | 2 | 实现所需的时间与难度 |
| 熟悉度 | 2 | 团队/用户对该方案的熟悉程度 |
| 生态系统 | 1 | 库支持、文档、社区活跃度 |
默认标准设计原因:正确性权重最高,因为无论其他因素如何,错误的解决方案毫无价值。复杂度/可维护性/风险属于中间层级,因为它们决定长期成本。实施成本/熟悉度权重较低,因为它们是临时性的(团队会学习,实施成本是一次性的)。生态系统权重最低,因为在其他条件相近时,它很少能成为决定性因素。
关卡:确认标准与权重(默认或自定义)。
Step 3: Score Each Option
步骤3:为每个选项评分
Goal: Rate each option against each criterion with justification.
Score every criterion 1-10 (1-3 poor, 4-6 adequate, 7-9 strong, 10 exceptional). Provide a one-sentence justification per score to prevent arbitrary numbers.
Calculate weighted score:
sum(score * weight) / sum(weights)Gate: All options scored, all scores justified, weighted scores calculated.
目标:根据每个标准为选项评分并说明理由。
为每个标准评分1-10分(1-3分:较差,4-6分:合格,7-9分:优秀,10分:卓越)。为每个评分提供一句话理由,避免随意打分。
计算加权得分:
sum(score * weight) / sum(weights)关卡:完成所有选项评分,提供评分理由,计算加权得分。
Step 4: Analyze Results
步骤4:分析结果
Goal: Interpret the scores and provide a clear recommendation.
Apply these rules in order:
- No Good Option (all weighted scores <6.0): Flag that none of the options are strong. Suggest the user explore alternatives or revisit constraints
- Close Call (top two within 0.5): Flag as "close call -- additional factors should decide." Identify which criteria drive the difference and ask the user what matters most
- Clear Winner (top option leads by >0.5): Recommend the winner. Note which high-weight criteria drove the result
- Dominant Option (top option leads on ALL weight-5 criteria): Note the dominance -- this is a high-confidence recommendation
Present the output table:
undefined目标:解读评分结果并给出明确推荐。
按以下规则依次执行:
- 无合适选项(所有选项加权分<6.0):标记提示无优质选项,建议用户探索替代方案或重新审视约束
- 接近比分(前两名分差<0.5):标记为“比分接近——需结合额外因素决定”。指出导致差异的标准,询问用户最看重的因素
- 明确胜出(领先选项分差>0.5):推荐胜出选项,说明是哪些高权重标准主导了结果
- 绝对优势(领先选项在所有权重为5的标准中均排名第一):标注该绝对优势——这是高可信度的推荐
展示输出表格:
undefinedDecision: [statement]
决策:[决策表述]
| Criterion (weight) | Option A | Option B | Option C |
|---|---|---|---|
| Correctness (5) | 8 | 7 | 9 |
| Complexity (3) | 6 | 8 | 4 |
| Maintainability (3) | 7 | 7 | 5 |
| Risk (3) | 6 | 8 | 4 |
| Effort (2) | 7 | 5 | 3 |
| Familiarity (2) | 8 | 4 | 2 |
| Ecosystem (1) | 7 | 6 | 8 |
| Weighted Score | 7.0 | 6.7 | 5.2 |
Recommendation: Option A (7.0) — [key reasoning]
Confidence: High / Medium (scores within 0.5) / Low (no option >6.0)
**Gate**: Recommendation stated with confidence level. Close calls flagged.| 标准(权重) | 选项A | 选项B | 选项C |
|---|---|---|---|
| 正确性(5) | 8 | 7 | 9 |
| 复杂度(3) | 6 | 8 | 4 |
| 可维护性(3) | 7 | 7 | 5 |
| 风险(3) | 6 | 8 | 4 |
| 实施成本(2) | 7 | 5 | 3 |
| 熟悉度(2) | 8 | 4 | 2 |
| 生态系统(1) | 7 | 6 | 8 |
| 加权得分 | 7.0 | 6.7 | 5.2 |
推荐:选项A(7.0)——[核心理由]
可信度:高 / 中等(分差在0.5以内) / 低(无选项得分>6.0)
**关卡**:给出带可信度的推荐,标记接近比分的情况。Step 5: Persist Decision
步骤5:持久化决策
Goal: Record the decision for future reference.
Check for an active ADR session:
bash
cat .adr-session.json 2>/dev/nullIf ADR exists: Append a decision record (statement, options, winner, key reasoning, confidence, date) to the ADR's decisions section.
If no ADR: Note the decision in the active task plan (). If neither exists, present the record to the user for manual recording.
plan/active/*.mdGate: Decision recorded or presented. Workflow complete.
目标:记录决策以供未来参考。
检查是否存在活跃的ADR会话:
bash
cat .adr-session.json 2>/dev/null如果存在ADR:将决策记录(表述、选项、胜出者、核心理由、可信度、日期)追加到ADR的决策部分。
如果无ADR:将决策记录到活跃的任务计划()中。如果两者都不存在,向用户展示记录内容以便手动保存。
plan/active/*.md关卡:决策已记录或展示,工作流完成。
Error Handling
错误处理
Error: "Too many options"
错误:“选项过多”
Cause: User presents 5+ options
Solution: Help decompose. Group similar options or eliminate clearly inferior ones first. Then score the remaining 2-4.
原因:用户提供了5个及以上选项
解决方案:帮助分解决策。将相似选项分组或先排除明显劣势的选项,然后对剩余的2-4个选项评分。
Error: "Criteria don't fit this decision"
错误:“标准不适用于本次决策”
Cause: Default criteria aren't relevant (e.g., scoring a content strategy, not a technical choice)
Solution: Ask the user to define custom criteria. Suggest domain-appropriate alternatives.
原因:默认标准不相关(例如:为内容策略评分,而非技术选型)
解决方案:请用户定义自定义标准,建议适合该领域的替代标准。
Error: "Scores feel wrong"
错误:“评分结果不合理”
Cause: User disagrees with a score after seeing the matrix
Solution: Adjust the score and recalculate. The matrix is a tool for the user, not an authority over them. If many scores feel wrong, the criteria may need revisiting.
原因:用户查看矩阵后不同意某一评分
解决方案:调整评分并重新计算。矩阵是为用户服务的工具,而非权威。如果多个评分都不合理,可能需要重新审视标准。
Anti-Patterns
反模式
Analysis Paralysis
分析瘫痪
What it looks like: User agonizes over whether Complexity should be weight 3 or 4
Why wrong: Weight differences of 1 rarely change the outcome. The framework exists to make decisions faster, not slower.
Do instead: Use defaults. Only customize weights when the user has a strong reason.
表现:用户纠结于复杂度的权重应该是3还是4
问题所在:权重差异为1时几乎不会改变结果。该框架的存在是为了更快做出决策,而非拖延。
正确做法:使用默认值。仅当用户有充分理由时才自定义权重。
False Precision
虚假精准
What it looks like: "Option A scores 7.21 vs Option B at 7.18, so A wins"
Why wrong: A 0.03 difference is noise. Scores are subjective estimates, not measurements.
Do instead: Close-call detection handles this. Scores within 0.5 are flagged as ties needing additional context.
表现:“选项A得分7.21,选项B得分7.18,所以A胜出”
问题所在:0.03的差异属于误差。评分是主观估计,而非精确测量。
正确做法:由接近比分检测机制处理此类情况。分差在0.5以内的情况会被标记为平局,需要额外上下文信息。
Gut Override
直觉覆盖
What it looks like: "The matrix says B, but I just feel like A is right"
Why wrong: If the matrix contradicts your intuition, the criteria or scores are wrong -- not the math. Overriding teaches you nothing about WHY your gut disagrees.
Do instead: Ask which criterion is missing or mis-weighted. Add it, re-score, and see if the matrix now agrees with intuition. If it does, you found the hidden factor. If it doesn't, trust the matrix.
表现:“矩阵显示选B,但我直觉选A更对”
问题所在:如果矩阵与直觉不符,是标准或评分存在问题,而非计算错误。直接覆盖无法让你了解直觉不符的原因。
正确做法:询问是否遗漏了某一标准或权重设置不当。添加该标准、重新评分,查看矩阵是否与直觉一致。如果一致,说明找到了隐藏因素;如果不一致,请信任矩阵的结果。
References
参考资料
This skill uses these shared patterns:
- Anti-Rationalization - Prevents shortcut rationalizations
本Skill使用以下共享模式:
- 反合理化 - 防止捷径式合理化
Domain-Specific Anti-Rationalization
领域特定反合理化
| Rationalization | Why It's Wrong | Required Action |
|---|---|---|
| "The answer is obvious, no need to score" | Obvious answers don't need a skill; if you're here, it's not obvious | Run the full framework |
| "Close enough, just pick one" | Close calls deserve explicit acknowledgment, not hand-waving | Flag the close call, identify differentiating factors |
| "I'll adjust weights until my preferred option wins" | That's confirmation bias with extra steps | Set weights BEFORE scoring, don't adjust to fit a desired outcome |
| "This decision is too small for a matrix" | Then don't invoke the skill -- but if you did, commit to the process | Either skip the skill or run it fully |
| 合理化借口 | 问题所在 | 要求操作 |
|---|---|---|
| “答案很明显,无需评分” | 明显的答案不需要使用本Skill;既然你使用了,说明答案并不明显 | 完整运行整个框架 |
| “差不多就行,随便选一个” | 接近比分的情况需要明确确认,而非含糊带过 | 标记接近比分的情况,指出差异化因素 |
| “我会调整权重直到我偏好的选项胜出” | 这是换种方式的确认偏差 | 先设置权重再评分,不要为了得到想要的结果而调整权重 |
| “这个决策太小,不需要用矩阵” | 那就不要调用本Skill;但如果已经调用,请完整执行流程 | 要么跳过本Skill,要么完整运行 |