pdlc-loop-next
打印循环下一步应执行的命令(机器可读,供 loop 驱动)
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Menu
打印循环下一步应执行的命令(机器可读,供 loop 驱动)
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Basé sur la classification professionnelle SOC
全自动 PDLC 新功能开发(串联 PRD→设计→TDD→实现→评审→发布)
全自动 Bug 修复(定位→复现→修复→测试→文档)
按设计文档和已有测试用例实现代码(带前置守卫、自检、handoff)
创建 PRD 文档(自动化生成 + 自检 + handoff)
质量闸门——跑真实 check、对照质量目标、出可核对报告,由人签字放行
代码评审 + 文档评审
| name | pdlc-loop-next |
| description | 打印循环下一步应执行的命令(机器可读,供 loop 驱动) |
| argument-hint | <功能ID> |
| allowed-tools | Read, Glob, Bash |
| layer | 3 |
| stage | ops |
| produces | [] |
| requires | ["docs/.pdlc-state/"] |
| next_step | null |
| terminal_state | null |
读取指定功能的状态机,只打印一个 token,告诉外层循环下一步该跑哪条命令。它是 /pdlc-loop-run 与用户自写 bash 循环的低层 helper——自身只读、不改任何状态、不含 --autonomous 语义。
输出必须是下列固定白名单中的单个 token,独占一行,不含任何散文、标点或解释,尤其不要用代码块(三反引号)或反引号包裹:
pdlc-tdd | pdlc-implement | pdlc-review | done | blocked
pdlc-implement下一步: 前缀或任何解释——任何包裹/前缀都会让下游 case 匹配失败。tdd → implement → review。到达 review_done 或更后(发布属人工闸门)→ 输出 done,绝不输出 pdlc-ship / pdlc-deploy(发布永远留人)。从 $ARGUMENTS 取功能ID;读取 docs/.pdlc-state/<功能ID>.json。
文件不存在 / 无法解析 → 输出 blocked。
last_phase_result.blocked_reason 非空 → 输出 blocked。
current_stage 属终态(以 _done 结尾——实际由编排器写入的终态值为 feature_done / fix_done)→ 输出 done。(注:单阶段命令的 current_stage 用短名 impl/review,review 完成的判定靠下面第 5 步的 next_step,不靠此处。)
否则以 next_step(状态机里存的下一跳命令名)为主键判定并输出。
⚠️ 必须用
next_step判定,不要用current_stage字符串匹配:现有状态机的current_stage用短名(requirements/design/tdd/impl/review,如pdlc-implement明写current_stage: impl),格式不适合直接判阶段;而next_step是无歧义的命令名。
next_step | 输出 | 说明 |
|---|---|---|
pdlc-tdd | pdlc-tdd | |
pdlc-implement | pdlc-implement | |
pdlc-review | pdlc-review | |
pdlc-ship / pdlc-deploy / null | done | 机械收敛已完成(review 通过),发布留人 |
pdlc-prd / pdlc-design | blocked | 尚在 tdd 之前,需人工(超出循环范围) |
| 其它 | blocked |
不写文件、不产任何 artifact。
# 净化:把输出切成 token(去反引号、按空白分行)再用 grep -x 整 token 匹配白名单——
# 容忍空白/代码块包裹,又避免从 done_at / blocked_reason 等子串里误抽 done/blocked
RAW=$(claude -p "/pdlc-loop-next $ID")
CMD=$(printf '%s' "$RAW" | tr '`' ' ' | tr -s ' \t' '\n' | grep -xE '(pdlc-tdd|pdlc-implement|pdlc-review|done|blocked)' | head -1)
case "$CMD" in
pdlc-tdd|pdlc-implement|pdlc-review)
claude -p "/$CMD $ID --autonomous" ;;
done) echo "✅ 已到 review_done,交人工决定是否 /pdlc-ship"; break ;;
blocked) echo "⛔ 需人工介入"; break ;;
*) echo "❌ 非法命令(原始输出:$RAW)"; exit 1 ;;
esac
功能ID: $ARGUMENTS