cycleuser/skills

shuang-chong

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. - /双重 <任务> - Start adversarial planning debate - /双重 sta…

First seen Jul 17, 2026

Installation

$ npx skills add cycleuser/skills --skill shuang-chong

Also in this package

Other skills from cycleuser/skills · top by installs.

npx skills add cycleuser/skills

Browse all from cycleuser/skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 12
License LICENSE
Default branch main
Open issues 0
Status Active

Skill metadata

Parsed from SKILL.md frontmatter.

Version1.0.0
LicenseMIT

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 13,002 B
  • docs SUMMARY.md 887 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 4 installs

SKILL.md

Safety Rules

参见 [shared/core/safety-rules.md](../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

Command Description
/双重 <任务> 启动完整对抗式规划辩论
/双重 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 / 配置

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

See Also / 相关技能

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