name: create-hat-collection
description: 通过引导式对话生成新的 Ralph 帽子集合预设。会询问澄清性问题,根据模式约束进行验证,并输出可用于生产环境的 YAML 文件。
本技能通过引导式、对话式的工作流来生成 Ralph 帽子集合预设。它会询问关于您工作流的澄清性问题,根据模式约束验证配置,并生成一个可用于生产环境的 YAML 预设文件。
输出: 位于 presets/ 目录下的完整 .yml 预设文件。
不适用于: 修改现有预设(请使用 /creating-hat-collections 参考文档)
通过提问来澄清以下内容:
将工作流映射为事件链:
task.start → [角色 A] → event.a → [角色 B] → event.b → [角色 C] → LOOP_COMPLETE
↓
event.rejected → [角色 A]
需要验证的约束:
- 每个触发器必须精确映射到一个帽子(无歧义路由)
- task.start 和 task.resume 是保留事件(切勿用作触发器)
- 每个帽子必须至少发布一个事件
- 事件链最终必须能到达 LOOP_COMPLETE
创建包含以下部分的 YAML 文件:
# <预设名称>
# 模式:<架构模式>
# <单行描述>
#
# 用法:
# ralph run --config presets/<名称>.yml --prompt "<示例提示>"
event_loop:
starting_event: "<首个事件>" # Ralph 发布此事件
hats:
帽子键名:
name: "<表情符号> 显示名称"
description: "<帽子用途的简短描述>"
triggers: ["触发此帽子的事件"]
publishes: ["此帽子发布的事件", "备用事件"]
default_publishes: "此帽子发布的事件"
instructions: |
## <帽子名称> 模式
<清晰的角色定义 - 此帽子的职责>
### 流程
1. <第一步>
2. <第二步>
3. 发布适当的事件
### 事件格式
```
<event topic="事件名称">
键: 值
</event>
```
### 禁止事项
- <需要避免的常见错误>
- <另一个错误>
| 字段 | 描述 |
|---|---|
event_loop.starting_event |
Ralph 发布的第一个事件 |
| 字段 | 必需 | 描述 |
|---|---|---|
name |
是 | 显示名称,可包含表情符号(例如:"🔍 分析器") |
description |
是 | 帽子用途的简短描述(一句话) |
triggers |
是 | 此帽子响应的事件(列表) |
publishes |
是 | 此帽子可以发出的事件(列表) |
default_publishes |
推荐 | 如果帽子忘记发布事件时的备用事件 |
instructions |
是 | 角色特定的提示(使用 \| 表示多行) |
切勿使用以下字段——它们不在模式中:
- emoji(将表情符号放在 name 中)
- system_prompt(使用 instructions)
- subscriptions / publications(使用 triggers / publishes)
<阶段>.ready / <阶段>.done # 阶段转换
<事物>.approved / <事物>.rejected # 审查关卡
<名词>.found / <名词>.missing # 发现事件
<动作>.request / <动作>.complete # 请求-响应
示例: analysis.complete, review.approved, build.blocked, spec.rejected
在最终确定预设之前,请验证:
task.start 或 task.resume 作为触发器name、description、triggers、publishes 和 instructionsdefault_publishesLOOP_COMPLETE将生成的预设保存到:presets/<名称>.yml
对于最小化/嵌入式预设:presets/minimal/<名称>.yml
生成后,使用以下命令测试:
# 干运行以验证配置解析
cargo run --bin ralph -- run -c presets/<名称>.yml -p "测试提示" --dry-run
# 运行冒烟测试
cargo test -p ralph-core smoke_runner
使用 /evaluate-presets 进行全面的验证。
用户: 我想要一个用于进行代码审查的预设,重点是安全性。
助手: 我将帮助创建一个以安全为重点的代码审查预设。让我问几个问题:
用户: 彻底分析,这些角色可以,只报告问题不修复。
助手: 这是我设计的事件流:
task.start → [安全分析师] → security.complete
↓
→ [代码审查员] → review.complete
↓
→ [总结器] → LOOP_COMPLETE
让我生成预设...
[生成遵循模式、包含三个帽子的 YAML]
A → B → C → 完成
适用于:分析工作流、文档处理
执行者 → 评论者 → 批准/拒绝
↓
拒绝 → 执行者(重试)
适用于:代码审查、质量关卡
监督者 → worker.task → 工作者 → work.done → 监督者
适用于:复杂任务分解
观察 → 假设 → 测试 → 确认/拒绝
↓
拒绝 → 观察
适用于:调试、调查