cm-prdlisted
Install: claude install-skill kingxiaozhe/cm-workflow
# cm-prd — 需求文档 → 开发规格生成
执行前读取 `../../runtime/project-context.md`、`../../runtime/review.md`、
`../../runtime/model-efficiency.md` 与 `../../runtime/logging.md`。在需求、方案或任务拆分
命中重要歧义/对抗审查时,追加读取 `../../runtime/steelman-review.md`;它是推理合同,
不增加审查轮次或审批状态。Codex 入口为 `$cm-prd`;Claude Code 跨平台入口为
`/cm-prd`,macOS/Linux 另有历史别名 `/cm:prd`。
新建和变更模式都读取 `references/phase-timing.md`,只为实际执行的阶段写配对
`progress/start|complete`;人工等待前关闭 segment,恢复后递增,不手算耗时。
用户明确要求外部专家,或为本次规格任务开启 AUTO 时,读取
`../../runtime/external-expert.md` 并执行 `../external-expert/SKILL.md` 的任务路由。
AUTO 可把复杂方案比较路由到 CONSULT、权威事实查证路由到 VERIFY,其余保持 LOCAL。
外部结论属于需求/设计输入,必须在本地对照项目事实并进入正常规格人审;AUTO 不
授权外发 docs 或代码内容。
支持两种模式:新建需求和需求变更。
## 输入参数
`用户本轮输入` 格式:
- **新建模式**:`$cm-prd {项目文件夹路径}`
- **变更模式**:`$cm-prd --change {N}.{feature-name} 变更内容描述`
- **可选用例输入**:追加 `--cases {json/md/txt路径}`,或在本轮消息直接粘贴用例
用户提供一个项目文件夹路径,文件夹结构约定:
```text
{项目文件夹}/
├── docs/ ← 需求文档(必须存在,PRD 从这里读取)
├── 1.xxx/ ← 已有的 specs(如有)
├── 2.xxx/ ← 本次生成的 specs
└── ...
```
## JS 准入与当前会话执行
在读取需求正文、解析角色、写 `run_start`、创建或修改 specs 之前,把已解析路径和模式传给:
```bash
node "{CM_WORKFLOW_ROOT}/scripts/cm-prd-entry.mjs" \
--skill-dir "{CM_WORKFLOW_ROOT}/skills/cm-prd" \
--project "{CODE_PROJECT}" --specs "{SPECS_DIR}" \
[--change "{N 或 N.feature}"] [--cases "{用例文件路径}"]
```
准入只核对路径/清单,不读正文或授权写入;selection_required请用户选feature,blocked按reason停。
两种模式ready后读取`references/js-host.md`,以当前会话连接JS宿主;下方步骤提供业务约束,不再手写日志/规格/审批位。
变更/已审修订及恢复追加`references/js-change-recovery.md`;所需能力不可用时