SSkilltecabyclaudinhocode
Enviar skill
← Voltar para o catálogo

roundtable

Desenvolvimento

召集多位历史/思想人物的AI分身开圆桌会议,围绕用户议题展开真实多轮讨论,最终给出整合方案。 通过子代理真实调用各人物的 perspective skill,产生有实质交锋的对话。 核心机制:动态人物发现→议题解构→锁定发言→对抗交锋→整合方案。 触发词:「圆桌」「召集讨论」「多角度分析」「roundtable」「让他们讨论」「开个会」。

1estrelas
Ver no GitHub ↗Autor: sthomenciaoLicença: MIT

圆桌会议

设计哲学

浮浅讨论的根源是没有约束的自由发言。 每个人物都倾向于表演自己最擅长的框架,而不是回应议题的真实困境。本技能的所有机制指向一个目标:让每句话都必须回答具体问题,而不是思想模型展示。

核心原则

  1. 真实调用:每位参会者通过子代理调用其对应的 perspective skill,子代理之间信息隔离
  2. 锁定发言:所有发言必须直接回应议题解构中的具体困境/变量/假设
  3. 对抗优先:结构化要求指出他人盲点;攻击必须带失败条件
  4. 用户主导:关键歧义点由用户决定方向,可随时插入
  5. 整合超越立场:最终方案必须超越任何单一参会者的原始立场

第零步:动态人物发现

每次启动时自动扫描,无需手动维护。

ls ~/.claude/skills/ | grep "\-perspective"

对每个返回的目录,读取其 SKILL.md 的 frontmatter(--- 之间的 YAML 头),提取:

  • name:人物名
  • description:截取前100字

描述字段清洗规则

description 通常混杂多种信息,按优先级提取有用部分:

  1. 首选:找 "用途:""擅长:""切入角度:" 等关键词后的内容
  2. 次选:找第一句实质性描述(跳过 "当用户提到…""触发词:" 等元信息)
  3. 兜底:从 skill 名称推断(如 feynman-perspective → "费曼视角")

清洗示例

原始:"费曼的思维框架。基于40+个一手来源的深度调研…当用户提到「用费曼的视角」…不要在用户只是说「帮我解释」时触发——只在涉及费曼式验证时激活。" 提取:"费曼的思维框架。基于40+个一手来源的深度调研。擅长:命名不等于理解、货物崇拜检测、从第一原理验证。"

清洗后的信息构成本次 PERSONA_POOL。读取失败则跳过该人物。

注意:如果扫描后发现人物池为空(没有安装任何 perspective skill),提示用户先安装人物 skill。


第一步:收集议题

开场:

圆桌会议已就绪。当前可用参会者:[PERSONA_POOL 列表]

请告诉我你想讨论的主题或问题。越具体越好。

快速入口:直接指定「参会者+议题」可跳过人物推荐步骤,如「费曼+马斯克+张雪峰:35岁中台经理转AI岗的决策分析」

若议题过于模糊(缺少具体场景或约束),追问一次。用户第二次仍模糊,直接基于已有信息开始,在解构中标注不确定之处。


第二步:议题解构

保证深度的关键步骤。在推荐人物之前完成。

## 议题解构

**原始议题**:[用户原话]
**核心决策**:[转化为明确的 A vs B / 做 vs 不做 / X路径 vs Y路径]
**关键变量**(改变任一则结论可能反转):
  1. [变量1]:当前状态 → [已知/未知/假设]
  2. [变量2]:当前状态 → [已知/未知/假设]
  3. [变量3]:当前状态 → [已知/未知/假设]
**隐含假设**(议题中默认成立但可能不成立的前提):
  1. [假设1] → 若不成立会怎样?
  2. [假设2] → 若不成立会怎样?
**终局想象**:对了→3年后最佳状态;错了→最坏状态

然后问用户确认,可修正任何一项。


第三步:推荐参会者

从 PERSONA_POOL 推荐 3位(默认,最多4位)。

根据议题解构,推荐:

  [人物A]  → 攻入「[隐含假设X]」,检验其是否成立
  [人物B]  → 拆解「[变量Y]」的成本结构,找替代路径
  [人物C]  → 用[具体领域]的现实数据检验「[假设Z]」

选项:A. 确认  B. 替换/增减  C. 完全自定义

内部选人规则(不输出):

  • 至少一位直接攻击隐含假设
  • 至少两位思维框架存在结构性冲突
  • 每位都与议题关键变量有实质交集
  • 3人最聚焦,超过4人会发散

第四步:开场陈述(并行子代理)

用户确认后,同时启动多个子代理。每个子代理:

  1. 调用 Skill 工具加载对应的 perspective skill
  2. 读取 ~/.claude/skills/roundtable/PROMPTS.md 中的「开场轮模板」
  3. 按模板要求生成发言

开场轮核心要求(详见 PROMPTS.md):

  • 1-2句表述核心两难
  • 明确表态核心决策(选A/B,或问题本身就错了)
  • 直接引用至少一个关键变量或隐含假设
  • 指出最危险的隐含假设
  • 末尾输出 【摘要】[50字核心论点](用于后续轮次传递,减少上下文膨胀)
  • 字数:300-400字

收集后排序(不是随机顺序):

  1. 最先提出核心张力的放第一
  2. 立场与第一相反的放第二
  3. 提出新维度(重构问题)的放最后

第五步:讨论焦点 + 决策节点

主代理分析所有开场陈述,输出:

## 讨论焦点

**本轮最值得追究的问题**:[从歧异中提炼,若不回答则无法推进]

**视点对照**:
  · [人物A]:[X](因为 [一句话理由])
  · [人物B]:[Y](因为 [一句话理由])
  矛盾核心:[一句话说清他们在什么问题上不一致]

选项:A. 深入此问题  B. 直接交锋  C. 我来追问  D. 跳到整合

第六步:对抗性交叉讨论(串行)

根据用户选择进入交叉轮。严格串行,每个发言者看到前面所有人的自产摘要(50字),不是完整发言。

每个子代理:

  1. 调用 Skill 工具加载对应的 perspective skill
  2. 读取 ~/.claude/skills/roundtable/PROMPTS.md 中的「交锋轮模板」
  3. 接收前面所有人的摘要 + 本轮聚焦方向
  4. 按模板生成发言

交锋轮核心要求(详见 PROMPTS.md):

  1. 挑战:指出前面某人论据最致命的弱点(具体说明为何导致结论失败)
  2. 替代:提出修正方案,解释在此场景下为何更好(用什么标准衡量)
  3. 自我暴露:承认自己方案最大的真实风险
  4. 末尾输出 【摘要】[50字核心论点]
  5. 字数:250-350字

发言顺序规则

  • 先让立场最弱或最可能被攻的发言
  • 论据最强者放最后(需回应所有人的攻击)
  • 用户有插入时,注入每个后续发言者的上下文

第七步:第二决策节点(条件触发)

触发条件(需同时满足两个以上才触发,避免过度触发):

  • 某人的核心论据被攻击,且该论据是整合方案的关键前提
  • 出现了开场时未识别的新关键变量
  • 存在两条清晰但互斥的行动路径
## 交锋结果

**被攻击的关键论据**:[人物X] 的 [观点] 被指出 [具体弱点]
**新浮现变量**:[如有]
**两条路径**:
  A:[描述](支持者:[谁])
  B:[描述](支持者:[谁])

选项:A. 路径A  B. 路径B  C. 继续辩论  D. 我来表态

若讨论已收敛(分歧已形成、各方立场已修正),跳过此步直接整合。


第八步:最终整合(主代理完成)

整合必须由主代理完成,不调用子代理。 每个 perspective 子代理会偏向自己的框架。

整合前自检(内部执行,不输出)

若 [人物A] 看到这个整合方案,会指出什么问题?
若 [人物B] 看到这个整合方案,会指出什么问题?
若 [人物C] 看到这个整合方案,会指出什么问题?
→ 若三个问题都能答出实质性批评 → 整合足够独立
→ 若某人没有批评 → 整合在偏向此人,需修正

整合输出格式

# 圆桌纪要

**议题**:[TOPIC] | **核心决策**:[CORE_DECISION]
**参会者**:[名单] | **日期**:[TODAY]

---

## 议题解构回顾
[标注哪些变量/假设被验证、哪些被推翻]

## 核心共识(经交锋后依然站得住的判断)
- [共识1](经 [人物X] 和 [人物Y] 交锋验证)
- [共识2]

## 核心分歧
| 分歧点 | 正方 | 理由 | 反方 | 理由 |
|--------|------|------|------|------|
| [分歧1] | [人物] | [一句] | [人物] | [一句] |

## 整合方案
> 不是任何单一参会者的原始立场。

**结论**:[明确行动方向,不是"取决于情况"]

**理由**:吸收了 [A] 关于 [X] 的洞察,纳入 [B] 对 [Y] 的修正,规避 [C] 指出的 [Z] 风险

**具体行动**:
1. 72小时内:[最小可执行行动]
2. 1-2周内:[关键里程碑]
3. 1-3个月:[阶段目标]

**检验标准**:
- 方向正确的信号:[X]
- 需要调整的信号:[Y]

**最大风险 + Plan B**:[最可能失败的原因及应对]

## 精华观点
| 参会者 | 最有价值的洞察(独特的、其他人说不出的) |
|--------|---------------------------------------|
| [人物A] | [一句话] |
| [人物B] | [一句话] |

---
*如需继续:「深入[分歧点]」「让[某人]展开[某观点]」*

用户干预指令

用户输入响应动作读取的模板
我认为… / 我的情况是…注入下一轮所有子代理上下文,要求直接回应交锋轮模板(追加用户插入块)
让[某人]回应[某观点]单独调用该参会者子代理单人回应模板
加入[某人]以「迟到者」角度引入,给完整摘要迟到者模板
同意[某人]追问具体同意哪点,让其他人针对此做最后一轮交锋轮模板(追加用户插入块)
跳到整合直接进入第八步
快速圆桌:[议题]跳过第三步确认标准流程
补充:…更新议题解构对应变量,通知所有参会者

质量自检(主代理内部执行,不输出)

  • 每人发言是否回应了议题解构中的具体变量/假设?跑题者下一轮加纠偏指令
  • 是否各说各话(互不引用互不回应)?若是,下一轮强制点名回应
  • 讨论是否在推进(新信息/新角度/立场修正)而非轮转(新包装的重复)?
  • 整合方案是否通过了「三方批评自检」?

极端情况处理

  • 全员一致:指出最未被挑战的隐含假设,引入立场对立者
  • 完全发散:强制收束到核心决策,要求每人一句话回答「做还是不做」
  • 用户不选择:默认走 A(深入最值得追究的问题),不反复追问
  • 子代理调用失败(某 perspective skill 加载失败):跳过该参会者,在输出中标注「[人物名] 因技术原因未能参与」,不影响其他参会者继续
  • 子代理发言跑题(未回应具体变量/假设):下一轮提示词开头追加纠偏指令:「注意:你的上一篇发言未直接引用议题解构中的任何变量或假设。本轮必须引用至少一个。」
  • 子代理发言过短(不足100字):视为无效发言,要求重新生成,或在整合阶段降低该人物权重

错误处理与降级策略

人物池为空

未检测到任何 perspective skill。

请安装至少一个参会者:
- 复制本目录 `examples/` 中的示例 persona skill 到 `~/.claude/skills/`
- 或从 https://github.com/sthomenciao/roundtable-personas 获取更多人物

也可以直接说「快速圆桌:[议题]」——我会用内置模拟模式运行。

子代理超时

单个子代理超过 60 秒未返回:

  1. 终止该子代理
  2. 在纪要中标注「[人物名] 发言超时,未纳入本次讨论」
  3. 继续处理其他子代理的结果

用户干预指令识别失败

如果用户输入模糊(如只说「马斯克说得有道理」但没指定哪一点):

  1. 追问:「你认同马斯克哪一点?是 [摘要A] 还是 [摘要B]?」
  2. 仅当用户明确后,才触发后续流程

议题完全无法解构

如果经过两轮追问后,议题仍然无法转化为 "A vs B" 的形式:

  1. 输出当前已知的所有信息
  2. 以「探索性讨论」模式运行(不追求结论,追求澄清问题本身)
  3. 最终整合改为「问题澄清报告」而非「行动方案」

Como adicionar

/plugin marketplace add sthomenciao/claude-roundtable

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Comentários · Nenhum comentário

Entre para comentar. Entrar

  • Ainda não há comentários. Seja o primeiro.