cm-testlisted
Install: claude install-skill kingxiaozhe/cm-workflow
# cm-test — 存量功能只读测试
执行前读取 `../../runtime/project-context.md`、`../../runtime/test-contract.md`、
`../../runtime/model-efficiency.md` 与 `../../runtime/logging.md`。使用 `--generate-cases`
或需要补反例时,追加读取
`../../runtime/steelman-review.md`;它只增强测试意图,不改变只读边界或测试完成条件。
需要复用 QA 纪律时读取相邻的 `../cm-qa-engineer/SKILL.md`,并强制使用其
`readonly` 模式。Codex 入口为 `$cm-test`;Claude Code 跨平台入口为
`/cm-test`,macOS/Linux 另有历史别名 `/cm:test`。
用户明确要求外部专家,或为本次测试任务开启 AUTO 时,按
`../../runtime/external-expert.md` 执行 `../external-expert/SKILL.md` 的任务路由。
测试执行、浏览器模拟和结果判定保持 LOCAL;复杂测试设计可 CONSULT,权威测试方法
可 VERIFY。外部只能产生候选用例和故障注入建议;纳入测试合同前仍按本 Skill 标记
来源并校验,外部声称的执行结果不得计入 PASS。
## 用法
```text
$cm-test {代码项目路径} {功能描述}
$cm-test {代码项目路径} {功能描述} --generate-cases
$cm-test {代码项目路径} --specs {specs路径} --feature {N.feature} --all
$cm-test {代码项目路径} --cases {用例文件路径} --browser
$cm-test {代码项目路径} --explore {页面或用户流程}
```
## JS 只读准入
在创建报告目录、写日志、运行正式命令或启动浏览器之前,把已解析参数逐项传给:
```bash
node "{CM_WORKFLOW_ROOT}/scripts/cm-test-entry.mjs" \
--skill-dir "{CM_WORKFLOW_ROOT}/skills/cm-test" --project "{CODE_PROJECT}" {已解析的其余参数}
```
只允许传本页用法中出现的参数;功能描述使用 `--description {功能描述}`。返回
`blocked` 时停止,`selection_required` 时只请用户选择唯一 feature,`ready` 时再继续
本 Skill 后续步骤。该结果只证明输入与分支可进入后续检查,`executionAuthorized: false`
和 `writeAuthorized: false` 不得改写;报告目录、角色、用例和执行权限仍由后文逐项验证。
`hardStopAfterGeneration: true` 表示生成并校验草稿后必须硬停止,不能进入执行分支。
准入 `ready` 后,按 [JS 会话入口](references/js-host.md) 启动共享控制器执行下文业务,
不再由主会话手工串联状态、写报告或拼接日志。缺少宿主能力时如实 `BLOCKED`,
不能静默退回未受控旧路径;本页各模式、只读边界和确认要求