cm-refactorlisted
Install: claude install-skill kingxiaozhe/cm-workflow
# cm-refactor — 重构闭环(行为保持)
执行前读取 `../../runtime/project-context.md`、`../../runtime/orchestration.md`、
`../../runtime/review.md`、`../../runtime/model-efficiency.md` 与
`../../runtime/logging.md`。Codex 入口为 `$cm-refactor`;Claude Code 跨平台入口为
`/cm-refactor`,macOS/Linux 另有历史别名 `/cm:refactor`。
用户明确要求外部专家,或为本次重构开启 AUTO 时,按
`../../runtime/external-expert.md` 执行 `../external-expert/SKILL.md` 的任务路由。
重构写入、行为判官与审查保持 LOCAL;复杂方案比较可 CONSULT,权威事实可 VERIFY。
外部结果只进入候选方案和风险清单,不得修改行为基线、代跑判官或满足独立审查。
**用法**:`$cm-refactor {specs路径} {代码项目路径} 重构目标描述(哪块代码/为什么难维护)`
## JS 只读分流
在读取项目内容、解析角色、写 `run_start`、建立行为基线或修改代码前,先确认本轮有非空目标描述,
并按下方“分流门”将意图归为 `defect`、`behavior-change`、`gradual-adoption` 或
`structure-only`;不要把描述正文拼进 shell。随后执行:
```bash
node "{CM_WORKFLOW_ROOT}/scripts/cm-refactor-entry.mjs" \
--skill-dir "{CM_WORKFLOW_ROOT}/skills/cm-refactor" --project "{CODE_PROJECT}" \
[--specs "{SPECS_DIR}"] --intent "{四类意图之一}" [--target-present]
```
没有 specs 的裸项目省略 `--specs`;有非空描述才传 `--target-present`。缺描述时入口返回
`blocked / target_required`。`defect`、`behavior-change`、`gradual-adoption` 分别只返回既有
`$cm-fix`、`$cm-prd --change`、普通改动出口并停止本流程,出口不构成执行授权;只有
`structure-only` 才继续校验项目/specs,`ready / g0_feasibility` 才进入 G0,且继续要求行为完全不变
与 G0 人签核。返回的角色、日志和
Learning 均为 `pending`,执行/写入权限为 false;入口不读取项目正文、不跑判官、不调用
provider/browser/外部专家、不写日志/档案/RULEBOOK,也不替代后续轻量道或批量道。
### JS 流程执行
只读分流返回 `ready / g0_feasibility` 后,按 [当前会话 JS 宿主](references/js-host.md)
启动同一轻量/批量控制器;[批量、准备、写回与恢复协议](references/js-batch.md)在需要时读取。
JS 宿主负责日志与状态,不再手工