fainshare/liam-skills/osborn

Claude Code and agent skill by fainshare/liam-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

发散思维(太虚一转·散怀):想法量、SCAMPER、Stakeholder轮转。触发词: 发散, 开脑洞, 奥斯本. Divergent thinking (太虚一转·散怀): volume of ideas, SCAMPER, stakeholder rotation → idea-pool.md. Use when user says "发散", "开脑洞", "奥斯本", "osborn". 即便用户未明确说"用 osborn",当对话出现以下信号时也应主动建议使用:方案只有一条路想扩空间、 团队讨论在同一批想法里打转、方向定了但觉得可能有更好的选择、用户说"还有别的思路吗""帮我想想还有什么可能"。 不要等用户说出触发词才启动——识别意图比匹配关键词更重要。

Install

npx vskill@latest install fainshare/liam-skills/osborn

SKILL.md

Osborn 奥斯本发散

"It is easier to tone down a wild idea than to think up a new one."
— Alex Osborn

概述

方案只想到一条路?方向定了但觉得可能有更好的选择?脑子里的东西倒不出来?团队讨论总是在同一批想法里打转?

先铺量,后筛选。围绕主题做大量发散,不评判、不筛选,把可能性空间彻底铺开。四条核心手法:量级驱动,想法够多好方向才会浮现;延迟判断,"不切实际"的先留着;SCAMPER 七算子补盲,替、合、调、改、用、消、重,逐一扫描思维盲区;利益相关方视角轮换,从用户、对手、新人、老板不同位置看同一件事。产出 idea-pool.md,结构化整理所有想法,直接喂给黑格尔(澄源)做收敛。

太虚五转第一转:散怀(发散)。先把空间打开,后面逐步收紧。

这个 skill 做什么

主题摆在你面前,第一个冒出来的想法往往就把后面的可能性挤掉了,这叫收敛过早。这个 skill 的工作是强行把空间先铺开:不评判、不筛选、不排序,先把数量堆出来,再用 SCAMPER 和视角轮换把盲区补齐。

奥斯本的原话是:把一个野想法调温和,比凭空想出一个新想法容易。这个 skill 信这条。

核心机制:把问题空间想象成一张地图,维度轴是坐标轴(如"输入源/处理管线/输出形态"),覆盖率是探索进度。暂停点展示哪些维度已饱和(🔴)、哪些还空白(🟢),驱动"继续发散还是进入下一阶段"的决策。

四个 skill 的分工:osborn(🟢发散)→ hegel(🔵收敛)→ bayes(⚪验证)→ feynman(⚫审查)→ debono(🟡回溯)。详见 references/comparisons.md。

P0-clarify — 模糊主题的渐进澄清

当用户输入过于模糊,无法直接进入发散时,先做 P0-clarify 渐进式对话澄清主题。主题清晰时跳过此阶段,直接进入 P0.1。

清晰度测试:能否用一句话说清发散主题 + 识别至少 3 个问题空间维度轴(P0.2 建议 5-7 个,3 个为最低门槛)?能则跳过,不能则进入 P0-clarify。

P0-clarify 采用渐进式 Q&A(一次一问),逐步澄清:主题→动机→用户→边界→就绪度。交互规则详见 references/elicitation-rules.md。非软件话题加载 references/non-software-facilitation.md。

澄清完成后综合为一句话主题,用户确认,进入 P0.1。若 2-3 轮后仍无法明确主题,建议用 hegel --spec-only 做结构化需求规格化。

六项核心能力

延迟判断(P1/P2)、量级驱动(P1)、SCAMPER补盲(P2a)、想法组合(P1)、疯狂想法保护、发散-收敛双阶段(收敛交给 hegel)。

执行流程:P0-clarify → P0 → P1 → P2(a+b) → P3

P0-clarify → P0 明确主题 → P1 自由发散 → P2a SCAMPER 补盲 → P2b 视角轮换 → P3 想法池整理
│ │ │ │ │ │
渐进式Q&A 类型判定 量级驱动 七算子扫描 四类视角 idea-pool.md
(仅模糊时) 第一性分解 延迟判断 标记来源
边界/维度 组合衍生
P0 — 明确发散主题

确认五件事再开始发散:

  1. 发散主题:要扩展什么?(一句话能说清)
  2. 问题类型判定:三信号渐进式分类(见 P0.1)
  3. 第一性分解:将主题分解到不可再分的基础要素(见 P0.2)
  4. 边界:发散范围、约束条件(哪些维度要扩,哪些不在范围内)
  5. 问题空间维度轴:定义 5-7 个评估维度(由 AI 提议,用户确认)

如果用户没明确主题,主动追问——主题不清做不出有用的发散。不要硬扩。

P0.1 — 问题类型判定(三信号渐进式分类)

problem_type 判定遵循三信号优先级(高→低):

优先级信号来源置信度说明
1--type 显式声明1.0用户通过参数指定,直接采用
2AI 内容分析>阈值则采用分析主题文本,可读取 --lens 作为输入特征辅助判断
3pending—AI 无法判定时标注 pending,走完整五转流程

分类枚举:deterministic / non_deterministic / mixed / pending

判定标准:

  • deterministic:问题有唯一正确答案,可通过逻辑推导验证(如"这段代码是否有 bug")
  • non_deterministic:问题涉及人的行为、市场或未来预测,没有唯一正确答案(如"该不该买这个标的")
  • mixed:部分子问题确定、部分不确定(如"这个架构方案是否可行"——技术可行性确定,业务采纳不确定)
  • pending:信息不足以判定,各下游 Skill 按默认行为执行

`--lens` 的定位:--lens 参数(如 ideation / code / investment)是 AI 分析的上下文输入特征,不作为独立的类型信号。例如 --lens investment 倾向于 non_deterministic,但不强制——AI 仍需分析具体主题。

Future Enhancement:当 pipeline 使用数据 ≥50 次且 --lens → type 映射准确率 >75% 时,可将 lens 推断升级为独立信号(Signal 2),并同步复活冲突检测机制。

判定结果写入 idea-pool.md frontmatter 的 problem_type 字段。

P0.2 — 第一性分解

在发散之前,将主题分解到不可再分的基础要素。发散不是凭空想象,而是从基本要素出发重新组合。

分解三步:

  1. 识别基本实体:主题涉及哪些不可再分的核心概念?
  • 如"如何优化投资决策"→ 标的、信号、仓位、时间、风险
  • 如"这段代码是否有 bug"→ 输入、处理逻辑、输出、边界条件
  1. 列出公理假设:哪些前提被当作"显然成立"而未被质疑?
  • 如"分散降低风险"——在什么条件下?相关性突变时还成立吗?
  • 如"这个函数是纯函数"——有副作用吗?有隐式依赖吗?
  1. 标注未知项:哪些基本要素的状态不确定?
  • 如"市场情绪"→ 不可直接观测但影响价格
  • 如"并发条件下的竞态"→ 需要实验验证而非推理

与发散的关系:第一性分解是收敛操作(向下钻到基础),发散是扩展操作(从基础向上组合)。先收敛到底,再发散出去——P1 中的新想法不是凭空冒出来的,是基本要素的新组合。AI 在 P1 中应主动从基本要素的重新排列出发生成新想法。

与 problem_type 的关系:

  • deterministic:基本实体和公理假设清晰,未知项少,分解重点是验证公理是否成立
  • non_deterministic:未知项多,分解重点是识别哪些不可观测、哪些不可预测
  • mixed:部分子问题清晰、部分不确定,分解时分别标注

分解结果不写入 idea-pool.md 正文,作为 P1 发散的上下文锚点。

维度轴适用性检查:维度轴假设问题空间可以分解为独立维度。不适用于高度耦合主题(如"如何提升团队士气"——薪酬/认可/成长/工作生活平衡高度交织)。如果主题维度高度耦合,跳过维度轴,直接用 P1 自由发散 + P2a SCAMPER 补盲。

维度轴定义:

AI 根据主题提议 5-7 个维度(如"输入源/处理管线/输出形态/交互方式/存储策略"),用户确认或调整。同时根据主题特性判定 problem_type(deterministic / non_deterministic / mixed / pending),写入 idea-pool.md frontmatter:

`--focus-dimensions` 参数(UltraPlan 并行模式):当 pipeline 启用 --parallel 时,通过 --focus-dimensions dim1,dim2 限制本实例只在指定维度发散。未指定时(默认),在所有维度发散。启用时:

  • P1 自由发散仅围绕指定维度
  • P2a SCAMPER 仅扫描指定维度的替代/组合/改造等
  • P2b 视角轮换仅从指定维度的利益相关方视角
  • P3 产出标记 [parallel-focus: dim1,dim2]
  • 覆盖率暂停点仅展示指定维度的饱和度
yaml
---
topic: "{主题}"
problem_type: "deterministic | non_deterministic | mixed | pending"
total_ideas: {N}
dimensions:
- 维度1
- 维度2
- 维度3
- ...
---

数据质量校验:产出 idea-pool 后,校验 frontmatter total_ideas 与实际编号想法数一致。不一致时以实际编号数为准更新 frontmatter。

维度轴本身是发散的一部分——如果用户觉得 AI 提议的维度不合理,可以调整。中途发现某维度始终空白(连续 2 次暂停该维度 0%)或全部想法堆在一个维度(该维度 >80% 且其余维度均 <20%)时,允许重新定义维度轴。调整时已分类想法按新维度重新归类,覆盖率按新轴重算。

P1 — 自由发散

核心原则:

  • 量级驱动:先追求数量,质量从数量里浮现。低于 25 个想法不算"扩开了"。P1+P2 合计目标 ≥50 个想法
  • 延迟判断(R2 在 AI 场景的定义):P1/P2 阶段不做任何价值筛选、可行性判断、优先级排序、"这个不太现实"的过滤
  • 疯狂想法保护:明显"不切实际"的想法照样保留——后续收敛阶段会处理
  • 想法组合(Hitchhiking):AI 主动在已有想法基础上衍生新想法,例如 "想法 #3 + 想法 #7 → 新想法 #N"

关键协议(R4 切换入口):

每产出约 8-10 个想法后,主动暂停并展示问题空间覆盖率图:

饱和度 = 该维度想法数 ÷ 目标值(默认 12)。维度状态直接映射边际价值判断——继续往这个维度投入还有没有产出空间:

维度名想法数饱和度边际价值判断
输入源1083%🔴 饱和——继续投入产出递减
处理管线542%⚪ 中等——有空间但非首要
输出形态217%🟢 空白——优先深挖
............

阈值:🔴 ≥80%(饱和,停止扩展)| ⚪ 40-79%(中等)| 🟢 ≤40%(空白,建议定向发散)

方法论改进:旧的「边际贡献分类」(🟦新方向/🟩深化/🟨组合变异/🟥过度工程)描述的是想法间的拓扑关系,无法回答「继续发散有没有价值」。覆盖率图把问题空间当成地图,维度轴是坐标轴,饱和度是探索进度——直接告诉你哪里还有空白,驱动「继续还是进入下一阶段」的决策。

展示覆盖率图后,给出下一步选项(定向发散空白维度/继续自由发散/进入 P2a)。完整示例见 references/coverage-map-example.md。

决策规则(按优先级排序,首条匹配即生效):

条件建议
所有维度 ≥ 60% 且总数 ≥ 18(待校准)建议进入下一阶段
存在 ≤ 40% 维度建议定向发散该维度
存在 > 80% 维度标记饱和,提示不要再往这里扩
所有维度在 41%-59%继续自由发散,或切换到 SCAMPER 补盲
⚠️ 魔法数字待校准:5-7 个维度、目标 8 个/维度、阈值 40%/60%/80%、总数 ≥ 18 均为初始估计值,需通过 3-5 次实战使用后校准。如果发现某个阈值频繁误判,记录到 BACKLOG。

不要默默继续。让用户基于数据控制节奏。

想法不足处理:P1 结束时如果不足 15 个,显式告知:

当前共 N 个想法,建议继续自由发散或切换到 SCAMPER 补盲来打开更多空间。

不要假装数量够了。

P2a — SCAMPER 补盲

SCAMPER 是补盲工具不是主框架。P1 已经铺开后,用七个算子作为 structured checklist 扫一遍,补 P1 漏掉的视角:

算子含义触发提问
S Substitute替代哪个组件/角色/材料/流程可以被替换?
C Combine组合哪两个想法/功能/资源合并会产生新可能?
A Adapt改造别的领域有没有类似的解法可以借过来?
M Modify/Magnify/Minimize修改/放大/缩小把某个属性放大 10 倍或缩到极小会怎样?
P Put to other use它用现有的东西换个场景使用会怎样?
E Eliminate去除砍掉某个步骤/组件/约束会怎样?
R Reverse/Rearrange反转/重排倒过来做会怎样?顺序换一下会怎样?

逐条扫描,每个算子至少产出 1-2 个新想法。仍然延迟判断。

🔴 P2a → P2b 切换入口:SCAMPER 扫描完毕后,展示覆盖率全景表:

维度名P1想法数P2a想法数累计饱和度边际价值判断
输入源10212100%🔴 饱和
处理管线53867%⚪ 中等
输出形态24650%⚪ 中等
..................

SCAMPER 算子覆盖:S✓ C✓ A✓ M✓ P✓ E✓ R✓(7/7)

展示全景表后,给出下一步选项(进入 P2b/直接 P3/回 P1 补盲)。

P2a 分阶段解读:如果某维度 P1 已饱和但 P2a 零贡献,说明 SCAMPER 未能打开该维度的新视角,可跳过该维度的后续补盲。

P2b — 利益相关方视角轮换

切到不同视角再扫一遍,补 P2a 之后剩下的盲区:

视角关注点
👤 用户/终端使用者真正在用的人在乎什么?日常痛点是什么?
🛠 技术/实现者做出来的人怎么看?实现路径上有什么变体?
⚔ 竞争者/对手对手会怎么打这个主题?他们的解法是什么?
🌪 极端/边缘用户5% 边缘场景的需求是什么?极端条件下怎么用?

每个视角至少 2-3 个想法。仍然延迟判断。

🔴 P2b → P3 确认入口:

视角轮换完毕后,主动确认:

发散阶段完成。共 N 个想法(P1: n1, P2a: n2, P2b: n3)。确认整理为 idea-pool.md?
选项:(1) 确认整理 (2) 回到某个阶段继续发散
P3 — 想法池整理

把 P1 + P2a + P2b 全部想法汇总,标记来源,写入 idea-pool.md(含 YAML frontmatter: topic / problem_type / total_ideas / dimensions)。每条想法标记来源 [P1] / [P2a-S] / [P2b-用户] 等。不评分、不排序。详见 references/idea-pool-format.md。

不做的事

三模式/SubAgent/交接协议/评分筛选/PRD内嵌方案(这些是 hegel/liam-prd-writer 的职责)。需求规格化由 hegel --spec-only 承担。不含脚本。

边界条件与 Fallback

场景触发条件处理动作
用户中途退出任意阶段用户说"够了"/"停"/"就这样"直接进 P3,整理当前已有想法为 idea-pool.md
用户跳过 P2用户说"不需要 SCAMPER"/"不用视角轮换"允许 P1→P3 直连,idea-pool.md 中仅含 P1 段落
主题无法发散P0-clarify 追问 2-3 轮后主题仍模糊建议用 hegel --spec-only 做结构化需求规格化
想法数量远不足P1 结束或 idea-pool 封盘前,总数低于 problem_type 对应下限:deterministic 15 / mixed 30 / non_deterministic 50(口径锚定回归语料库 evals/regression-corpus-phase1/2.json 的 expected_outputs.min_ideas;语料库改档须同步本表)门禁:低于下限必须二选一——①续跑发散(回 P1/P2 补足);②显式降级声明:idea-pool frontmatter 记 idea_count_floor: {expected: N, actual: M, downgraded: true, reason: "..."}。禁止静默封盘
维度轴失效连续 2 次暂停某维度 0%,或单维度 >80% 且其余均 <20%提议重新定义维度轴,用户确认后按新轴重算覆盖率

与下游 skill 的衔接

osborn (idea-pool.md + dimensions) → hegel --target idea-pool.md --lens ideation → bayes → feynman → debono。hegel 读取 dimensions 字段做维度级收敛分析。P0-clarify 阶段吸收的模糊需求不传递给下游,只有澄清后的主题进入发散。

能力来源(V2.4):P3 阶段吸收已废弃 ce-brainstorm 的 anti-genericness test——整理 idea-pool 时检查是否存在至少 3 个非显而易见的想法(即不是行业常识或第一反应的变体)。若全部想法均为常规思路,在 idea-pool.md frontmatter 中标注 genericness_warning: true,提醒 hegel 在收敛时关注创新性不足的风险。此检查不违反延迟判断原则——不筛选不排序,仅做整体质量信号标注。

反模式(不要这样做)

提前收敛(P1<15 个就停)、偷偷筛选、视角偏斜(P2b 未跑满四视角)、跳过 SCAMPER、不询问就继续发散、在 P3 做评分、P0-clarify 超过 5 轮还不综合、一次问多个问题、对清晰主题强做澄清。


Security

  • Security scanPassed, 95 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

Repository stars
110
Repository forks
19
7-day trend score
24

Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/fainshare/liam-skills/osborn/badge)](https://verified-skill.com/skills/fainshare/liam-skills/osborn)

Something wrong with this skill or its page? Tell us.