ECC 配方 是做什么的?
“哪一组 ECC 斜杠命令能运行我的工作流、以什么顺序、何时停止”的单一入口点。同时浏览每个命令组配方家族。
填补了以下两个现有技能之间的空白:
ecc-guide— 列出命令和文档读取位置,但属于扁平目录。prompt-optimizer— 将任务匹配到组件,但输出的是单个提示,而非带运行顺序和停止条件的多命令组。
本技能新增:家族分组 + 运行顺序 + 停止条件。
何时激活
- “运行 <工作流> 应该用哪个命令组?”
- “构建 MVP / 修复缺陷 / 重构的命令序列是什么?”
- “展示所有 ECC 命令组配方”(目录模式)
- “ECC 有多少个工作流管道?”
- 用户使用
/ecc-recipes命令,带或不带描述。
不适用的情况
- 用户希望立即执行任务 — 直接路由到实际命令,不要描述。
- 用户需要单一命令的详细文档 — 使用
ecc-guide。 - 用户希望重写草稿提示 — 使用
prompt-optimizer。
核心原则
从当前文件而非记忆中回答。 命令集会变化;切勿硬编码数量或成员列表。每次运行时读取实时 commands/ 目录,然后按家族分类。
实时读取
解析命令目录(第一个存在的),然后列出名称:
for D in \
"$HOME"/.claude/plugins/marketplaces/ecc/commands \
"$HOME"/.claude/plugins/cache/ecc/ecc/*/commands \
./commands \
./.claude/commands \
"$HOME"/.claude/commands; do
[ -d "$D" ] && CMD_DIR="$D" && break
done
[ -z "${CMD_DIR:-}" ] && { echo "未找到 ECC 命令目录。"; return 1; }
find "$CMD_DIR" -maxdepth 1 -name '*.md' -exec basename {} .md \; | sort
可选地,如果存在 manifests/install-*.json 文件,则读取它以获得更丰富的分组。使用最小读取次数。
家族分类(按前缀)
按主导前缀对命令名称分组;手动映射已知的单例。家族是实时派生的——下表是分类规则,而非冻结列表。
| 家族前缀 | 配方含义 | 典型运行顺序 |
|---|---|---|
orch-* | 按任务类型进行限流的研究、计划、TDD、审查、提交 | 根据任务类型选择一个 orch-*;它自己运行内部阶段 |
multi-* | 多模型工作流 | multi-plan 然后 multi-execute 然后审查(或端到端 multi-workflow) |
prp-* | 从 PRD 到计划到实现再到 PR 的管道 | prp-prd 然后 prp-plan 然后 prp-implement 然后 prp-commit 然后 prp-pr |
epic-* | 大型多单元史诗,并行 | epic-decompose 然后 epic-claim 然后 epic-validate 然后 epic-review 然后 epic-unblock 然后 epic-sync 然后 epic-publish |
loop-* | 管理自主循环和监控 | loop-start <模式> 然后使用 loop-status 观察 |
gan-* | 生成器和评估器循环 | gan-build(代码)或 gan-design(UI);自循环 |
*-build / *-review / *-test | 每种语言的 CI 三元组 | <语言>-test(TDD)然后 <语言>-build(修复)然后 <语言>-review |
hookify-* | 行为钩子管理 | hookify 然后 hookify-list 然后 hookify-configure |
learn / instinct-* / evolve / promote / prune | 持续学习 | learn 然后 instinct-status 然后 evolve 然后 promote |
| 单例 | santa-loop、plan、plan-prd、pr、code-review、checkpoint 等 | 独立使用或作为组之间的粘合剂 |
任何不匹配前缀规则的命令 → 在 单例 下列出,并附带一行描述。
工作原理
1. 从 CMD_DIR 实时读取命令名称。
2. 按前缀和单例映射分类为家族。
3. 如果提供了工作流描述 -> 匹配模式。
如果未提供 -> 目录模式。
4. 仅作建议:打印计划。绝不运行匹配的命令。
目录模式(无描述)
输出家族表格:每个家族、成员数量、成员、一行含义、典型运行顺序。最后显示总命令数,并提示描述一个工作流以获取匹配配方。
匹配模式(提供描述)
- 用一句话重述工作流。
- 选择最佳 1-2 个家族;每个家族用一行说明原因。
- 运行顺序块 — 匹配家族的精确命令序列。
- 停止条件 — 始终明确(最大运行次数、完成信号、审查通过或单次执行)。对于自主循环,警告订阅消耗,并建议设置一个安全边界。
- 阅读文档位置 —
commands/<名称>.md路径以及/ecc-guide <名称>。
输出模板(匹配模式)
工作流:<一句话重述>
最佳匹配:<家族> — <原因>
(备选:<家族> — <原因>)
运行顺序:
/<命令1> # 任务
/<命令2> # 任务
/<命令3> # 任务
停止条件:<条件>
警告(仅限自主循环):无界循环会消耗订阅/积分 —
建议在完成信号之外添加最大迭代或最大成本安全边界。
阅读完整文档:
commands/<命令1>.md (或:/ecc-guide <命令1>)
示例
目录: /ecc-recipes → 打印家族表格和总数量。
匹配: /ecc-recipes plan a whole app upfront then auto-build with adversarial review until done → 最佳匹配:loop-*(自主)包裹 gan-* 或 santa-loop(对抗)。运行顺序:plan-prd 然后 loop-start rfc-dag --mode safe 然后监控 loop-status;当所有单元连续通过审查 N 次后停止(添加最大迭代安全边界以控制消耗)。
匹配: /ecc-recipes fix a bug in my Go service → 最佳匹配:orch-fix-defect(复现、修复、审查、提交)。备选:go-test 然后 go-build 然后 go-review。停止条件:回归测试通过且审查通过。
非目标
- 不是执行器 — 仅作建议。
- 不是单个命令的详细文档 — 那是
ecc-guide。 - 不是提示重写 — 那是
prompt-optimizer。 - 绝不硬编码命令数量或成员列表 — 始终实时读取。