cm-fixlisted
Install: claude install-skill kingxiaozhe/cm-workflow
# cm-fix — 缺陷修复小闭环
执行前读取 `../../runtime/project-context.md`、`../../runtime/orchestration.md`、
`../../runtime/review.md`、`../../runtime/model-efficiency.md` 与
`../../runtime/logging.md`。Codex 入口为 `$cm-fix`;Claude Code 跨平台入口为
`/cm-fix`,macOS/Linux 另有历史别名 `/cm:fix`。
每个缺陷开始/恢复时按 `../../runtime/project-learning.md` 重读项目根 AGENTS.md,
筛选相关教训辅助复现与定位;同一合同约束收尾写回,不以旧经验代替本次证据。
用户明确要求外部专家,或为本次修复开启 AUTO 时,仍必须先完成第 1 步本地复现,
再按 `../../runtime/external-expert.md` 执行 `../external-expert/SKILL.md` 的任务
路由。代码、修复、测试和审查保持 LOCAL;只有竞争根因或高风险事实查证可路由到
CONSULT/VERIFY。外部假设必须回到本地证伪;咨询记录不能代替 2.5 或第 5 步独立
审查。
**用法**:`$cm-fix {specs路径} {代码项目路径} 缺陷描述(现象/报错/截图均可)`
## JS 只读准入
在读取项目内容、解析角色、写 `run_start`、运行复现命令或创建档案前,先确认本轮包含非空缺陷
描述,但不要把描述正文拼进 shell;随后执行:
```bash
node "{CM_WORKFLOW_ROOT}/scripts/cm-fix-entry.mjs" \
--skill-dir "{CM_WORKFLOW_ROOT}/skills/cm-fix" --project "{CODE_PROJECT}" \
[--specs "{SPECS_DIR}"] --defect-present
```
没有 specs 的裸项目省略 `--specs`。缺少描述时不传 `--defect-present`,入口返回
`blocked / defect_required` 后只向用户补要描述。只有 `ready / reproduce` 才进入下方既有闭环;
它不提前声称缺陷可复现、不可复现或属于设计问题,只声明复现失败仍走 `observation`、确认设计
问题仍转 `$cm-prd --change`。返回的角色、日志和 Learning 均为 `pending`,执行/写入权限为 false;
入口不运行命令、不调用 provider/browser/外部专家、不创建日志/测试/档案,也不替代七步流程。
## 执行入口选择
准入通过后,具备当前会话双向进程通道、分离的 specs/代码根、命令式复现与测试配置时,
读取 `references/js-host.md`,使用既有 `cm-fix-host.mjs` 执行;Codex/Claude 共用同一 owner。
下文七步仍是业务要求,但 JS 分支的日志、交接、Review 发布及完成全部交给 owner,
不得再手工执行对应写入步骤。只读准入的 `ready` 不是执行、外发或完成许可。
裸项目、无自动测试/纯视觉替代、父 N6 运行衔接等尚未接通 JS 的场景,要明确报告