关于 dissent
一种用于压力测试重要决策的结构化反对流程,帮助团队在难以回头的选择前识别反证、失败情景和隐含假设,并据此决定下一步。
主要功能
- 01先以最有力方式重述当前方案
- 02寻找反面证据与不同意见
- 03推演至少三类失败情景
- 04梳理假设、证据与验证方法
- 05根据分析给出决策建议
适用场景
- 01定稿前审视架构或公共 API 决策
- 02检验高信心且高风险的方案
- 03团队过快达成共识时寻找盲点
- 04评估产品、运营或流程选择
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ open-horizon-labs/ skills --skill dissent安装后在 Claude Code 中输入/dissent确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/architecture.mdlearning.mdproduct-process.mdwriting-framing.md详细介绍
/dissent
以结构化异议强化决策。在关上一扇无法回头的门之前找出缺陷。
异议不是攻击,而是主动寻找你可能出错的理由。
适用时机
在以下情况下调用 /dissent:即将敲定一项无法轻易回头的决策(架构、公共 API、重要招聘),信心很高但利害关系更大,人们过快地达成一致,你正在为某个立场辩护,或前进方向看起来显而易见。
请勿用于: 收集初步选项或头脑风暴。异议用于压力测试决策,而不是生成决策。
异议视角
默认采用此文件中的核心异议流程。如果决策需要更深入的领域审视,请加载相应的辅助参考:
- 架构、公共 API、技术方向或难以撤销的实现选择:references/architecture.md
- 叙事、定位、文档策略或概念框架:references/writing-framing.md
- 教学、入门引导、课程设置或讲解策略:references/learning.md
- 产品、运营、工作流、优先级排序或流程决策:references/product-process.md
将这些作为审视视角,而非替代工作流。最终的异议过程仍须以最有力的方式陈述当前方案,寻找相反证据,预先分析失败情形,揭示隐藏假设,并作出决定。
异议流程
第 1 步:以最有力的方式陈述当前方案
在提出批评前,先阐明立场:
“当前方案是[方案]。理由是[理由]。预期结果是[结果]。这是对这一立场最有力的表述。”
如果你无法善意地阐述它,就说明你还不够了解它,无法提出挑战。
第 2 步:寻找相反证据
- 什么数据能证明此方案有误?
- 谁持不同意见?他们的论据是什么?
- 类似方案在别处有哪些失败案例?为什么?
- 有什么事情是因为不方便而被我们忽略的?
“如果此方案有误,我们预期会看到什么?我们是否已经看到了其中任何迹象?”
第 3 步:预先分析失败情形
想象现在是 6 个月后,这项决策已经失败。倒推原因:
“失败的原因是[原因]。我们忽视的警示信号是[信号]。失效的假设是[假设]。”
至少列出 3 种合理的失败情形:
- 功能失败 — 未能按预期运行
- 采用失败 — 方案可行,但无人使用/没有带来任何改变
- 机会成本 — 方案可行,但我们本应去做别的事
第 4 步:揭示隐藏假设
每项决策都建立在未明说的假设之上。找出这些假设:
- 我们对用户/客户有哪些假设?
- 我们对系统/代码库有哪些假设?
- 我们对时间安排/资源有哪些假设?
- 我们假设什么不会改变?
针对每项:
Assumption: [what we're taking for granted]
Evidence: [what supports this]
Risk if wrong: [what happens]
Test: [how to validate before committing]
第 5 步:重建情况描述
异议必须保留足够的共同认知,以便作出决定。提出反对意见并梳理假设后,重新陈述对当前情况的理解:
- 仍然成立: 经受住质疑的内容
- 最薄弱的假设: 最可能导致决策失效的假设
- 变化后的情况认知: 相反证据改变了什么
- 变化后的信念: 信心增强或减弱了哪些方面
- 下一步行动: 符合更新后情况描述的最小行动
这不是 /salvage:只重建足以继续推进、作出调整或重新考虑的内容。
第 6 步:作出决定
- PROCEED — 未发现关键缺陷;决策得到强化
- ADJUST — 发现了可解决的问题;调整方案
- RECONSIDER — 发现了根本性问题;返回方案空间重新选择
“PROCEED:反方论点是[X],但可通过[Y]解决。关键假设是[Z],我们已通过[方式]验证。”
输出格式
## Dissent
### Dissent Report
**Decision under review:** [what's being challenged]
**Stakes:** [why this matters]
**Confidence before dissent:** [HIGH/MEDIUM/LOW]
### Steel-Man Position
[The best version of the current approach]
### Contrary Evidence
1. [Evidence point 1]
2. [Evidence point 2]
3. [Evidence point 3]
### Pre-Mortem Scenarios
1. **[Failure mode]:** [How this could fail]
2. **[Failure mode]:** [How this could fail]
3. **[Failure mode]:** [How this could fail]
### Hidden Assumptions
| Assumption | Evidence | Risk if Wrong | Test |
|------------|----------|---------------|------|
| [Assumption 1] | [Evidence] | [Risk] | [Test] |
### Reconstructed Story
- Still true: [what survived dissent]
- Weakest assumption: [assumption most likely to break]
- Changed situation model: [what changed]
- Changed beliefs: [confidence updates]
- Next action: [smallest fitting action]
### Decision
**Recommendation:** [PROCEED / ADJUST / RECONSIDER]
**Reasoning:** [Why]
**If ADJUST:** [Specific modifications]
**Confidence after dissent:** [HIGH/MEDIUM/LOW]
**Follow-up artifact?** [ADR / decision note / none — include path if needed]
会话交接
如果正在使用会话文件,请替换或追加 ## Dissent。保留建议、理由、已检验的假设,以及任何后续产物的路径。