name: omakase-off description: 此技能应作为构建/创建/实现请求的入口。触发条件为“构建X”、“创建Y”、“实现Z”、“添加功能”、“尝试两种方法”、“不确定哪种方法”。提供“共同头脑风暴”或“主厨之选并行探索”选项。在头脑风暴期间检测犹豫不决时,提供并行探索选项。
主厨之选对决
主厨之选探索 - 当你不确定要构建什么时,并行探索不同的方法。
测试厨房开发的一部分:
omakase-off- 主厨之选探索(不同方法/方案)cookoff- 相同食谱,多位厨师竞争(相同方案,多种实现)
核心原则: 让犹豫不决在头脑风暴中自然浮现,然后并行实施多种方法,让真实的代码和测试来决定最佳解决方案。
三个触发条件
触发条件 1:头脑风暴之前
时机: “我想构建…”、“创建一个…”、“实现…”、“添加一个功能…”
呈现:
在我们详细讨论之前,您希望:
1. 共同头脑风暴 - 我们将逐步探讨需求和设计
2. 主厨之选 - 我将生成3-5个最佳方法,并行实现它们,
并通过测试选出优胜者
触发条件 2:头脑风暴期间(犹豫不决检测)
检测信号:
- 在架构决策上连续出现2次以上不确定的回应
- 短语:“不确定”、“不知道”、“都可以”、“你选吧”、“没偏好”
检测到时:
您似乎对方法很灵活。您希望:
1. 我来选择看起来最好的并继续头脑风暴
2. 并行探索多种方法(主厨之选对决)
触发条件 3:明确请求
- “尝试两种方法”、“探索两者”、“主厨之选”
- “实现两个变体”、“看看哪个更好”
工作流程概述
| 阶段 | 描述 |
|---|---|
| 0. 入口 | 呈现头脑风暴与主厨之选的选择 |
| 1. 头脑风暴 | 设计期间的被动“槽位”检测 |
| 1.5. 决策 | 如果检测到槽位,提供并行探索选项 |
| 2. 计划 | 为每个变体生成实施计划 |
| 3. 实施 | 在单条消息中分派所有代理 |
| 4. 评估 | 场景测试 → 新鲜视角 → 评审幸存者 |
| 5. 完成 | 完成优胜者,清理失败者 |
完整阶段详情请参见 references/detailed-workflow.md。
目录结构
docs/plans/<功能名称>/
design.md # 来自头脑风暴的共享上下文
omakase/
variant-<简写>/
plan.md # 此变体的实施计划
result.md # 最终报告
.worktrees/
variant-<简写>/ # 主厨之选变体工作树
槽位分类
| 类型 | 示例 | 值得探索? |
|---|---|---|
| 架构性 | 存储引擎、框架、认证方法 | 是 |
| 琐碎性 | 文件位置、命名、配置格式 | 否 |
只有架构性决策会成为并行探索的槽位。
变体限制
最多5-6个实现。 不要进行完整的组合爆炸:
- 识别主要轴线(对架构影响最大)
- 沿该轴线创建变体
- 用自然配对填充次要槽位
关键规则
- 在单条消息中分派所有变体 - 多个任务工具,一条消息
- 必须使用场景测试 - 非手动验证
- 对幸存者进行新鲜视角评审 - 在评审比较之前必需
- 始终清理失败者 - 移除工作树和分支
- 编写 result.md - 记录尝试了什么以及优胜者胜出的原因
协调的技能
| 依赖项 | 用途 |
|---|---|
brainstorming |
修改流程,包含被动槽位检测 |
writing-plans |
为每个变体生成实施计划 |
git-worktrees |
为每个变体创建独立的工作树 |
parallel-agents |
并行分派所有变体子代理 |
scenario-testing |
对所有变体运行相同的场景测试 |
fresh-eyes |
对幸存者进行质量评审 → 作为评审的输入 |
finish-branch |
处理优胜者(合并/PR),清理失败者 |
示例流程
用户:“我需要构建一个CLI待办事项应用。”
Claude:[触发 omakase-off]
在我们深入之前,您希望如何着手?
1. 共同头脑风暴
2. 主厨之选
用户:“1”
Claude:[进行头脑风暴,检测到在存储方案上的犹豫不决]
您似乎对存储方案很灵活(JSON vs SQLite)。您希望:
1. 并行探索 - 我将实现两个变体
2. 最佳猜测 - 我选择JSON(更简单)
用户:“1”
[为 variant-json, variant-sqlite 创建计划]
[在单条消息中分派并行代理]
[对两者运行场景测试]
[对幸存者进行新鲜视角评审]
[呈现比较结果,用户选择优胜者]
[清理失败者,完成优胜者分支]