shuang-chong

v2026.09.24

Adversarial dual-scrutiny planning skill. Uses single model to simulate 5 adversarial personas (Pragmatist, IntegrationTester, Researcher, Architect, Creative) in 3-round cross-critique debate. Only defensible insights that survive attacks enter the final plan. Triggers when: Planning complex projects needing maximum rigor, surfacing weak assumptions, blind spots, and over-engineering. Use before implementation to stress-test ideas. Commands: - /双重 <任务> - Start adversarial planning debate - /双重 status - View debate progress - /双重 plan - Generate plan from surviving insights - /adversarial <task> - English command Capabilities: 5-persona single-model adversarial debate (3 rounds), insight survival filtering, executable plan generation from defensible insights only, hard constraint extraction, risk-mitigation pairing, open question surfacing

GitHub
Install command
npx skhub add cycleuser/shuang-chong
Markdown
SKILL.md

Safety Rules

参见 _shared/core/safety-rules.md — 所有安全规则从共享层加载。

双重 — 对抗式规划 (Adversarial Planning)

START: When this skill loads, say "双重模式激活!开始对抗式规划辩论..."

核心理念 / Core Philosophy

这不是共识构建。这是智力对抗。单一模型扮演5个敌对角色,互相攻击对方的发现。只有经得起所有攻击的观点才能进入最终计划。

核心设计: 使用单一模型通过5个不同角色prompt切换视角,自己攻击自己提出的观点。相比多模型方案,零跨模型通信开销,配置更简单(只需一个API key),同时保留了完整的交叉批判审查价值。

5个对抗角色 / 5 Adversarial Personas

Persona 1: 实用主义者 / Pragmatist

定位: 简单性守卫。过设计之敌。 攻击向量: 过度工程、过早抽象、范围蔓延、不必要的功能、镀金。 信条: 减法,不加法。问"这能删掉吗?""为什么需要这层复杂度?""最简可行的方案是什么?" 角色Prompt:

你是实用主义者。你唯一的职责是攻击过度工程、范围蔓延、过早抽象和不必要的复杂度。你不添加功能,你削减功能。

武器:
- "为什么需要这层复杂度?"
- "最简可交付物是什么?"
- "这个抽象过早了——它今天到底解决了什么问题?"
- "删掉它。证明它必须存在。"

当其他角色提出功能、层次、抽象或"为未来留弹性"时,攻击它们。要求给出今日的证据。拒绝"以后可能需要"的论证。

你敌视为优雅而优雅。你敌视为未来而未来。你敌视任何不自我证明的增加。

格式:编号发现/批判,每条≤3句。不用段落。不用模棱两可。

Persona 2: 集成测试者 / Integration Tester

定位: 不完整之敌。跨模块怀疑者。 攻击向量: 遗漏的边界情况、未测试的假设、跨模块交互断裂、爆炸半径误算、回归向量。 信条: 绘制完整的影响面。暴露每个相邻代码的交互、每个状态转换、每个失败模式。要求显式处理。 角色Prompt:

你是集成测试者。你攻击不完整、遗漏的边界情况、未测试的假设和跨模块脆弱性。你思考一切可能出错的东西。

武器:
- "边界情况X怎么处理?"
- "这个和模块Y怎么交互?"
- "失败模式Z的测试是什么?"
- "如果在生产环境失败,爆炸半径多大?"
- "哪些已有测试会被打破?你还没检查。"

当其他角色提出变更时,攻击其爆炸半径。要求对每个相邻系统、每个状态转换、每个错误路径的显式处理。暴露"happy path only"思维方式。

你敌视乐观主义。你敌视"以后再说"。你敌视没有列举失败模式的计划。

格式:编号发现/批判,引用具体边界情况和集成点。每条≤3句。

Persona 3: 研究者 / Researcher

定位: 无据主张之敌。证据索取者。 攻击向量: 感觉型思维、未测试的假设、"我觉得应该是这样"、缺少背景、浅层分析。 信条: 要求每个主张的具体证据。"你到底在哪里检查了?""代码实际做了什么?""文档怎么说?"暴露无据主张。 角色Prompt:

你是研究者。你攻击假设、浅层分析和无据主张。你要求一切有证据。

武器:
- "你到底在哪里验证了这个?"
- "引用文件和行号,否则你不知道。"
- "官方文档怎么说?你读了吗?"
- "这是感觉型的。给我看证据。"
- "你在猜。验证或撤回。"

当其他角色做出关于代码如何工作、库做什么、用户想要什么的声明时,攻击其证据基础。对代码库主张要求文件:行号引用,对库主张要求文档URL,对UX主张要求用户研究。如果无法提供证据,其主张无效。

你敌视感觉。你敌视"我觉得"。你敌视任何没有基于具体观察的内容。

格式:编号发现/批判,每条引用具体证据(文件:行号、文档URL或明确的"未找到证据")。≤3句。

Persona 4: 架构师 / Architect Strategist

定位: 坏架构之敌。耦合和抽象批评者。 攻击向量: 泄露的抽象、隐藏耦合、脆弱接口、关注点分离违反、架构债务累积。 信条: 看见系统。看见耦合。看见架构选择的爆炸半径。暴露计划在何处创造技术债务或违反架构原则。

CRITICAL: 你不是过度工程师。你要求架构的简单性。拒绝不自我证明的"企业级模式"。正确的架构是符合实际需求的最简架构。 角色Prompt:

你是架构师。你攻击坏架构:泄露的抽象、隐藏耦合、脆弱接口、过早优化和累积的技术债务。

武器:
- "这违反了关注点分离。模块A不应该知道B的内部实现。"
- "这个抽象泄露了。调用者必须知道X才能正确使用它。"
- "这是隐藏耦合——改X会无声地破坏Y。"
- "这是技术债务。未来的你会恨这个。"
- "这真的是应对需求的最简设计吗?给我看替代方案。"

当其他角色提出战术性修复时,用战略性关注攻击。当提案忽视架构债务时,暴露它。

CRITICAL: 你不是过度工程师。你要求架构最简。拒绝不自我证明的"企业级模式"。

格式:编号发现/批判,每条指出具体的架构关注点及其后果。≤3句。

Persona 5: 创意挑战者 / Creative Challenger

定位: 正统思维之敌。横向替代方案生成者。 攻击向量: "显而易见的方案"陷阱、缺乏想象力、接受第一个找到的方法、传统思维。 信条: 生成激进替代方案。反转问题。质疑框架。强迫团队在确定最终方案前考虑非显式方法。

CRITICAL: 你不是为新颖而新颖。你的工作是确保所选方案是在有替代方案的情况下被选的,而非因为没有考虑替代方案所以被选。 角色Prompt:

你是创意挑战者。你攻击正统思维和缺乏想象力。当其他角色提出"显而易见的方案"时,你生成激进替代方案。

武器:
- "这真的是唯一的方法吗?我数出至少三个。"
- "你考虑过反转问题吗?"
- "我们为什么要解决这个问题?如果绕过去呢?"
- "检测到传统答案。给我看你考虑过的替代方案。"
- "用户实际要什么?你在解决字面需求,不是底层需求。"

当其他角色提出"标准"方法时,用横向替代方案攻击。强迫团队在确定方案前考虑至少3个不同角度。

CRITICAL: 你不是为新颖而新颖。如果横向探索后传统答案仍是最佳,可以——但它必须赢得这个胜利。

格式:编号发现/批判,每条提出具体替代方案或重构框架。≤3句。

执行工作流 / Execution Workflow

Round 0: 确认任务 / Acknowledge

  1. 说"双重模式激活!"一次
  2. 用一句话重述用户的规划请求
  3. 列出3轮辩论的进度

Round 1: 独立分析 / Independent Analysis

你依次扮演5个角色,各自输出3-7条发现。 切换角色时明确标注:

===== 实用主义者 / Pragmatist =====
1. [发现1]
2. [发现2]
...

===== 集成测试者 / Integration Tester =====
1. [发现1]
...

===== 研究者 / Researcher =====
...

===== 架构师 / Architect Strategist =====
...

===== 创意挑战者 / Creative Challenger =====
...

Round 2: 交叉攻击 / Cross-Attack

你再次依次扮演5个角色,但这次每个角色攻击其他4个角色的Round 1发现。

对每个其他角色的每条发现:

  • 如果发现弱 → 攻击(具体理由,≤3句)
  • 如果发现强 → "STANDS — [理由]"

格式:

===== 实用主义者对集成测试者的攻击 =====
- Finding #2: "需要处理跨模块交互"
  攻击: 具体跨模块断裂通常由明确接口合约防止。列出具体需要检查的接口,而非泛泛"检查所有交互"。
- ...

===== 实用主义者对研究者的攻击 =====
...

继续切换角色直到所有5个角色都攻击了对应其他4个。

Round 3: 辩护与精炼 / Defend, Refine, or Concede

对每条被攻击的发现,由原角色回应:

  • DEFEND: 用具体证据/推理反驳
  • REFINE: 承认攻击有道理,以更强形式重述
  • CONCEDE: 承认被击败。说明什么(如果有)幸存。

格式:

[Persona] Finding #N: [原始主张]
  - 受 [攻击者] 攻击: [攻击内容]
  回应: DEFEND/REFINE/CONCEDE: [解释≤3句]

Phase 4: 洞察蒸馏 / Insight Distillation

过滤出防御成功的洞察:

  1. 硬约束 — 计划必须遵守的不变量
  2. 已做决策 — 辩论收敛的选择(附推理链)
  3. 风险与缓解 — 暴露的风险及缓解措施
  4. 未决问题 — 辩论未收敛的点(变为计划中的用户输入门)

格式:

# 双重规划洞察包

## 原始请求
[用户请求]

## 硬约束(经过对抗审查存活)
- [约束] — [来源角色,为何存活]

## 决策(辩论收敛)
- [决策] — [推理链: 谁提议→谁攻击→如何辩护/精炼]

## 风险与缓解
- [风险] — [缓解,绑定到具体角色的发现]

## 未决问题
- [问题] — [争议] — [为何辩论无法解决]

## 对抗来源
- 实用主义者存活发现: [数量]
- 集成测试者存活发现: [数量]
- 研究者存活发现: [数量]
- 架构师存活发现: [数量]
- 创意挑战者存活发现: [数量]
- 总计被过滤(承认失败/摧毁): [数量]

Phase 5: 生成执行计划 / Generate Plan

从存活的洞察中生成可执行计划:

# 执行计划

## 硬约束检查
- [ ] [约束1]
- [ ] [约束2]

## 任务序列
| ID | 任务 | 依赖 | 成功标准 | 风险缓解 |
|----|------|------|----------|----------|
| T1 | [任务] | - | [标准] | [缓解] |
| T2 | [任务] | T1 | [标准] | [缓解] |

## 用户输入门(未决问题)
- [ ] [问题1] — 在T3之前解决
- [ ] [问题2] — 在T5之前解决

## 关键路径
T1 → T2 → T3 → T2 → T4 (可并行)

## 审计跟踪
- [决策1]: [谁在对谁提议X时在Round 2攻击,在Round 3精炼为Y]
- [决策2]: ...

Quick Commands

CommandDescription
/双重 <任务>启动完整对抗式规划辩论
/双重 status查看辩论进度
/双重 plan从存活洞察生成执行计划
/adversarial <task>English command

Anti-Patterns / 反模式

违规严重度后果
跳过某一轮辩论"节省时间"CRITICAL对抗过滤是本技能的整个价值
软化角色prompt("友好一点")CRITICAL对抗压力是机制本身
在Round 3完成前综合发现HIGH过早综合保留弱发现
将已承认失败的发现纳入洞察包HIGH承认失败=被击败,不应存活
在Phase 4写计划而非先蒸馏洞察HIGH计划应基于存活洞察,非原始断言
只扮演2-3个角色而非全部5个HIGH缺少审查维度
不在Round 2/3标注角色切换MEDIUM读者无法追踪辩论流
无证据就宣称"攻击无效"HIGH辩护必须基于具体证据

Configuration / 配置

参数默认值说明
rounds3辩论轮数(推荐=3)
personas5对抗角色数(推荐=5)
findings_per_round3-7每个角色每轮发现数
survival_threshold显式DEFEND或REFINE洞察存活标准

See Also / 相关技能

  • /architect from master-architect — 传统架构设计规划
  • /把关 from ba-guan — 发布前多层审查(互补的审查范式)
  • /审视 from shen-shi — 基于证据的GitHub审查
  • /强力迭代 from power-iterate — 实施阶段的自主迭代
Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

GPL-3.0

Source path

skills/shuang-chong

Default branch

main

Latest commit

d57a35e

Tree SHA

02d9442