用途
ecc-recipes 提供 ECC 斜杠命令的单一入口,回答“我的工作流该跑哪一组 ECC 斜杠命令、按什么顺序、什么时候停”。它同时可浏览全部命令组配方家族,填补两个已有技能之间的空白:ecc-guide 以平铺目录形式列出命令与文档位置,prompt-optimizer 只能把任务匹配到组件并输出单个提示词,而非带运行顺序和停止条件的多命令组。本技能新增的是家族分组、运行顺序与停止条件。
何时激活
- “运行 该用哪组命令?”
- “构建 MVP / 修复缺陷 / 重构的命令序列是什么?”
- “展示所有 ECC 命令组配方(目录模式)”
- “ECC 有多少条工作流流水线?”
- 用户以带描述或不带描述方式调用 /ecc-recipes。
何时不要使用
- 用户想立刻完成任务——应路由到实际命令,而不是描述它。
- 用户想要单个命令的深入文档——改用 ecc-guide。
- 用户想要改写草稿提示词——改用 prompt-optimizer。
核心原则
基于当前文件回答,而非凭记忆。命令集会变化,绝不硬编码数量或成员列表。每次运行都实时读取 commands/ 目录,再分类为家族。
实时读取
解析 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 "No ECC commands directory found."; return 1; }
find "$CMD_DIR" -maxdepth 1 -name '*.md' -exec basename {} .md \; | sort
可选地读取 manifests/install-*.json(若存在)以获得更丰富的分组。按需使用最小的读取集合。
家族分类(按前缀)
按命令名前导前缀分组;已知的单独命令手工映射。家族是实时推导的——下表是分类规则,而非固定列表。
| 家族前缀 | 配方含义 | 典型运行顺序 |
|---|---|---|
| orch-* | 带门控的研究、计划、TDD、评审、按任务类型提交 | 按任务类型挑一个 orch-*;它自行运行其内部阶段 |
| multi-* | 多模型工作流 | multi-plan 然后 multi-execute 然后 review(或 multi-workflow 端到端) |
| prp-* | PRD 到计划到实现到 PR 流水线 | prp-prd 然后 prp-plan 然后 prp-implement 然后 prp-commit 然后 prp-pr |
| epic-* | 大型多单元 epic,并行 | epic-decompose 然后 epic-claim 然后 epic-validate 然后 epic-review 然后 epic-unblock 然后 epic-sync 然后 epic-publish |
| loop-* | 托管的自主循环与监控 | loop-start <pattern> 然后用 loop-status 观察 |
| gan-* | 生成器与评估器循环 | gan-build(代码)或 gan-design(UI);自我循环 |
| *-build / *-review / *-test | 按语言的 CI 三件套 | <lang>-test(TDD)然后 <lang>-build(修复)然后 <lang>-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 等 | 独立使用,或作为组之间的粘合 |
任何不匹配前缀规则的命令 → 归入单独命令,并附上其一行描述。
工作原理
- 从 CMD_DIR 实时读取命令名。
- 按前缀和单独命令映射分类为家族。
- 若给出了工作流描述 → 匹配模式。若没有 → 目录模式。
- 仅作建议:打印计划。绝不运行匹配到的命令。
目录模式(无描述)
输出家族表:每个家族、成员数量、成员、一行含义、典型运行顺序。结尾给出命令总数,并提示用户描述一个工作流以获得匹配配方。
匹配模式(给了描述)
- 用一句话复述工作流。
- 挑选最佳的 1–2 个家族;每个用一行说明原因。
- 运行顺序块——匹配家族的精确命令序列。
- 停止条件——始终显式(max-runs、完成信号、评审通过次数或一次性执行)。对自主循环,警告订阅消耗,并建议加一个兜底上限。
- 阅读位置——commands/<name>.md 路径,以及 /ecc-guide <name>。
输出模板(匹配模式)
Workflow: <one-sentence restatement>
Best fit: <family> — <why>
(Alt: <family> — <why>)
Run-order:
/<cmd1> # job
/<cmd2> # job
/<cmd3> # job
STOP when: <condition>
WARNING (autonomous loops only): an unbounded loop burns subscription/credits —
add a max-iteration or max-cost backstop alongside the completion signal.
Read full docs:
commands/<cmd1>.md (or: /ecc-guide <cmd1>)
示例
- 目录:/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 次通过评审(加一个 max-iteration 上限以约束消耗)。
- 匹配:/ecc-recipes fix a bug in my Go service → 最佳匹配:orch-fix-defect(复现、修复、评审、提交)。备选:go-test 然后 go-build 然后 go-review。停止:回归测试通过且评审通过。
非目标
- 不是执行器——仅提供建议。
- 不是单命令深入文档——那是 ecc-guide。
- 不是提示词改写——那是 prompt-optimizer。
- 绝不硬编码命令数量或成员列表——始终实时读取。