把 OpenSpec
交给 Codex。

不切工具,不背命令。选对 Skill,让一次变更从想法走到归档。

现在该说哪一句?

可直接复制
$openspec-propose 为阅读清单增加批量导入

需求已经大致明确,希望把想法变成可讨论、可执行的 Change。

先把 Codex 放进正确的项目。

这是唯一必须先做对的动作。项目不对,OpenSpec Skill 就不会出现。

01

新建任务,选择项目目录

在 Codex 桌面端新建任务,把工作目录设为:

~/Projects/reading-list
02

提出变更

$openspec-propose

把明确的需求变成方案与任务。

A

还没想清楚

$openspec-explore

只研究,不动代码。

03

按任务实现

$openspec-apply-change

方案确认后再开工。

04 / 05

同步并收口

$openspec-sync-specs$openspec-archive-change

让规范和最终代码保持一致。

$openspec-propose $openspec-explore $openspec-apply-change $openspec-sync-specs $openspec-archive-change $openspec-propose $openspec-explore $openspec-apply-change $openspec-sync-specs $openspec-archive-change

五个 Skill,刚好是一条完整路线。

你不需要复制 .claude/commands/opsx/,也不用切到 Claude Code。Codex 直接调用项目里的 Skill。

判断原则还在想,用 explore。准备成文,用 propose。方案确认,才 apply。
01

提出变更

$openspec-propose

需求已经大致明确,希望把想法变成可讨论、可执行的 Change。

生成 proposal、design 与 tasks,先把边界说清楚。
02

先想明白

$openspec-explore

问题还模糊,需要阅读现状、梳理约束,暂时不改代码。

得到现状分析、风险和下一步建议,不进入实现。
03

开始实现

$openspec-apply-change

Change 已经评审清楚,tasks 也准备好了。

Codex 按 tasks 实现、测试,并持续更新完成状态。
04

同步规范

$openspec-sync-specs

实现改变了长期行为,需要让主 specs 反映最终事实。

把 Change 中确认过的差异同步回主规范。
05

完成归档

$openspec-archive-change

代码、测试和规范都已完成,需要正式收口。

检查遗漏并归档 Change,留下可追溯记录。

点开一个动作,看看该怎么说。

每一句都可以原样发给 Codex,再按你的真实需求改名。

$openspec-propose 为阅读清单增加批量导入

生成 proposal、design 与 tasks,先把边界说清楚。

真正难的不是语法,是判断现在处在哪一步。

用三个常见场景练一遍,你就会选了。

场景 01

我只有一个模糊想法

你知道要改善导入流程,但还不确定格式、数据结构和影响范围。

应该用$openspec-explore

先研究,不要求 Codex 写代码。

场景 02

需求已经能说清楚

目标、用户和主要限制都明确,希望形成正式方案供评审。

应该用$openspec-propose

让 Codex 先产出 Change,再决定是否实现。

场景 03

方案通过,准备开工

proposal、design 和 tasks 已经确认,可以按任务清单推进。

应该用$openspec-apply-change

实现结束后再同步 specs,并完成归档。

现在,从一个真实 Change 开始。

打开你的项目,新建 Codex 任务,然后发出第一句。

$openspec-propose 为阅读清单增加批量导入