Cm ai
Codex-native, spec-driven AI Agent workflow with Claude Code compatibility, independent review, QA, fixes, and refactors.
npx -y skills add kingxiaozhe/cm-workflow --skill cm-aiAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 21 days oldThe repository was created 21 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
用户明确说“规格已确认,开始实现”或要求按已审批 CM specs 开发时使用。按 N1-N8 完成开发、独立审查、QA 与文档同步;模糊点子、未审规格和单独一句“继续”不能触发编码批准。
SKILL.md
7.1 KB, as published. Nobody here has run it
cm-ai — 自动开发
执行前读取 ../../runtime/project-context.md、../../runtime/orchestration.md、
../../runtime/task-gates.md、../../runtime/review.md 与
../../runtime/logging.md。Codex 入口为 $cm-ai;
Claude Code 跨平台入口为 /cm-ai,macOS/Linux 另有历史别名 /cm:ai。
用户明确要求外部专家,或为本次开发任务开启 AUTO 时,按
../../runtime/external-expert.md 执行 ../external-expert/SKILL.md 的任务路由。
编码、命令、测试执行、页面 QA、Git 与 N4 永远 LOCAL;AUTO 只能把可分离的复杂
研究、测试设计或方案批判路由到 CONSULT/VERIFY。外部建议由本地应用、测试与裁决,
其 .external/ 证据不得满足 N4/N5。
用户本轮输入 — specs 文件夹路径 + 代码项目路径。
$cm-ai specs在~/projects/my-app-specs,代码在~/code/my-app
$cm-ai ~/projects/specs 前端~/code/fe 后端~/code/api
流程图
按此流程执行,到达每个节点时读取 references/ 下对应的节点文件获取详细规则。
START
│
▼
[N1: 初始化] ── 解析输入、扫描 features、加载上下文
│
▼
┌─► [N2: 进入 Feature] ── 读取 specs、分析依赖、输出执行计划
│ │
│ ▼
│ ┌─► [N3: 执行 Task] ── 检查 skill → 开发
│ │ │
│ │ ▼
│ │ [N4: Review] ── 主执行者自审 → 独立审查
│ │ │
│ │ ▼
│ │ [N5: 标记完成] ── tasks.md 标 [x]、写 LESSONS.md
│ │ │
│ │ ▼
│ │ [N6: QA 评估] ── 评分决定是否触发 cm-qa-engineer
│ │ │
│ │ ▼
│ │ [N7: 上下文管理] ── 从磁盘重读 specs 与项目约束
│ │ │
│ │ ▼
│ │ 还有未完成 task? ──YES──┘
│ │ │
│ │ NO
│ │ │
│ │ ▼
│ └── Feature 完成 → 重建下一 Feature 的上下文
│ │
│ ▼
│ 还有下一个 Feature? ──YES──┘
│ │
│ NO
│ │
│ ▼
[N8: 完成] ── 调用 cm-doc-syncer → 输出总结
│
▼
END
全局规则
暂停(仅灾难级): 不可逆破坏(删数据、动线上、不可回滚迁移)、资金/密钥/合规风险、交付形态级架构错向、环境阻塞到无法继续。
不暂停(多方案自主决策): 执行中出现多个可选方案时——技术选型、实现路径、库/工具选择、审查意见分歧——自己分析利弊选最优解直接执行,不询问。代价是留痕义务:把「选了什么 / 为什么 / 放弃了什么」写进任务汇报,方向性取舍追记 LESSONS.md——人可以事后翻案,但流程不为选择题停车。业务逻辑歧义按需求文档最合理解释执行并显式记录所做假设,仅当触及灾难级清单才暂停。
节点间不停车: 除上述灾难级与各节点显式卡点(入口闸/降级知情/形态确认/涉合规走查)外,任何节点完成后直接进入下一节点——不得以"我将要…是否继续?"、"完成了 X,需要我继续吗?"这类问句收尾等待。阶段性汇报写在输出里照常可见,但回合不能停在等确认上(实跑反馈:执行器习惯性在节点末尾问一句,用户被迫每阶段点头,自动化名存实亡)。
度量: 每次暂停问人,恢复后在当前任务的 METRICS.md 记录里人工介入计 1 次并注明原因(见 N5)。
状态落盘(供状态条/看板实时点亮节点): 每进入一个节点(N1–N8),覆盖写入 {SPECS_DIR}/.cm-status.json 单行 JSON:
{"node":"N4","feature":"1.xxx","task":"T-005","detail":"一句话当前动作","state":"running","at":"HH:MM:SS"}
——detail 必须写大白话,标准是"路过的非工程师扫一眼能懂":写"正在开发数据接口"不写"cm-backend-engineer 执行 T-004";写"第2轮代码审查"不写"对抗式子agent复审";写"确认一下:原型里有3个按钮点了没反应,要做吗?"不写"原型死区待确认"。节点号/任务号由状态条自动放在行尾角标,detail 里不要再写。
——暂停等人时 state 改为 paused_for_human(detail 写等什么),全部完成时 N8 写 run_done。N1 时可将 specs 绝对路径同步到当前运行时的状态镜像(Claude 兼容运行时为 ~/.claude/cm-current-specs,Codex/OMX 为对应 session 状态),但 {SPECS_DIR}/.cm-status.json 始终是跨运行时真相。每节点至少写入一次;长步骤可在同一节点更新真实检查点,不得跳过。
运行日志(事后复盘与工作流优化的原始证据): 按
runtime/logging.md 调用统一写入器;它先追加 {SPECS_DIR}/运行日志.jsonl,再把
同一 event_id 镜像到 ~/.cm-workflow/logs/。at 一律 ISO 8601 带时区偏移,
detail 用一句大白话;不直接拼 JSON,避免跨会话格式漂移。
必记事件(event 取值固定):run_start、node_enter、task_start /
task_done、review、degrade、pause / resume、decision、warning、
error、progress、resource、qa、test_run、external_expert、
spec_lifecycle、delivery、run_done。写日志与状态落盘同节奏,不得跳过;详细
测试/审查/外部回答只写专项凭证,不灌主日志。长步骤和临时资源严格按
runtime/logging.md 配对,禁止用后台心跳制造虚假活跃。
角色路由投影: N1 用代码项目根读取有效配置;N3 每个实现任务解析 coder,N3
任务检查解析 tester,N4 解析 reviewer,并在 N6 QA 解析 tester。使用:
python3 {CM_WORKFLOW_ROOT}/scripts/cm_workflow_config.py \
--project {CODE_PROJECT} --role coder --runtime {codex|claude} --print-role
把返回的 adapter、model、source、route_state 注入当前角色提示和任务摘要,
并按 runtime/workflow-routing.md 写 decision/phase: route。每次 N7 恢复或进入
新角色边界都从磁盘重读;配置缺失使用默认路由。declared-adapter 只表示项目请求了
当前运行时未观察到的适配器,必须写 warning/degrade,不能声称该模型已执行;它
也不能绕过本地编码、测试、Git 或 N4 独立审查。
任务状态镜像: tasks.md 是唯一权威任务源。运行时支持任务面板时,可将未完成任务镜像到 Codex/OMX 计划或 Claude 任务清单;N3/N5 同步状态。断点恢复必须由磁盘重建镜像:[x] 跳过或标为 completed,[DROPPED] 不镜像,不得重复创建条目。
执行策略: 遵守 runtime/orchestration.md;串行默认,只有无依赖、文件边界不重叠、契约已稳定且环境确实支持时才可并行。