关于 openspec-workflow
OpenSpec Workflow 是用 OpenSpec 管理非简单仓库变更的技能,涵盖工具初始化、变更文档、验证和归档。它帮助维护者判断何时需要结构化变更管理,并默认将下游生成工具留在本地。
主要功能
- 01诊断 OpenSpec 环境
- 02初始化下游工具工作流
- 03读取变更状态与指引
- 04验证规范和变更
- 05归档已完成的变更
- 06指导文档顺序与就绪状态
适用场景
- 01准备较大规模的仓库变更
- 02检查下一份所需变更文档
- 03在实现完成前验证
- 04归档已验证的变更
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ wyattowalsh/ agents --skill openspec-workflow安装后在 Claude Code 中输入/openspec-workflow确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonscripts/check.pyopenspec_cli.pyscripts/asset_toolkit/__init__.py_shared.pycommon.pypackage.pyvalidate_evals.pyvalidate_hooks.pyvalidate_skill.py详细介绍
OpenSpec 工作流
将 OpenSpec 用作本仓库中涉及可移植 Agent 资源、下游工具、文档生成、钩子、捆绑包元数据或验证行为的非简单变更的规范与变更控制平台。
分派
$ARGUMENTS | 操作 |
|---|---|
| 空 | 显示仓库的 OpenSpec 快速路径 |
doctor | 诊断 OpenSpec 工具链和项目状态 |
init [tools] | 在本地生成下游 OpenSpec 技能/命令 |
status <change> | 以 JSON 格式读取变更工件状态 |
instructions <artifact> <change> | 获取 AI 可读的后续步骤说明 |
validate | 验证所有 OpenSpec 规范和变更 |
archive <change> | 验证并归档已完成的变更 |
| 自然语言变更请求 | 判断是否需要使用 OpenSpec,然后创建或继续变更 |
快速路径
- 开始 OpenSpec 工作前诊断设置:
uv run python skills/openspec-workflow/scripts/openspec_cli.py doctor
-
对于非简单的仓库变更,使用生成的上游 OpenSpec 技能/命令(若可用)创建或继续 OpenSpec 变更。
-
如果生成的上游 OpenSpec 技能不可用,请使用仓库封装工具管理结构化状态:
uv run python skills/openspec-workflow/scripts/openspec_cli.py status --change <change> --format json
uv run python skills/openspec-workflow/scripts/openspec_cli.py instructions <artifact> --change <change> --format json
- 在实现完成或归档前进行验证:
uv run python skills/openspec-workflow/scripts/openspec_cli.py validate
何时使用 OpenSpec
当变更影响以下任一方面时,请使用 OpenSpec:
skills/、agents/、mcp/、mcp.json或第一方 MCP 约定AGENTS.md、instructions/或平台桥接文件agent-bundle.json、插件清单、同步清单或下游框架设置- 可移植技能 CLI 行为、生成的 README/文档输出或文档导航
- OpenSpec 规范、模式或生成的下游工具设置
对于小型、独立的错别字修复,或用户请求和仓库约定已完全明确结果的单文件本地变更,请跳过 OpenSpec。
如果非简单变更的范围或方案会由用户决定,需遵循 instructions/global.md 中的深度路由,并在创建或继续变更工件前调用 /grill-me。
下游工具
OpenSpec 生成的上游技能和命令默认仅在本地生成。若下游工具应提供原生 OpenSpec 工作流,请生成这些内容:
uv run python skills/openspec-workflow/scripts/openspec_cli.py init --apply
uv run python skills/openspec-workflow/scripts/openspec_cli.py update --apply
默认的仓库映射如下:
| 仓库 Agent | OpenSpec 工具 |
|---|---|
claude-code | claude |
codex | codex |
crush | crush |
cursor | cursor |
opencode | opencode |
除非用户明确要求将某个特定工件提升为仓库自有源文件,否则不要提交生成的 .claude、.cursor、.opencode、.agent、.crush 或 .codex OpenSpec 工件。
工件顺序
Agent 资源变更
对于本仓库的自定义 agent-asset-change 模式,请按以下顺序创建工件:
proposalaffected-surfacesdesignvalidation-matrixtasks
使用 openspec status --json 确认哪个工件已就绪,再让 AI 创建该工件。
归档准备就绪
只有在实现和验证全部完成后才能归档。确保提案、受影响范围、设计、验证矩阵和任务与最终发布状态一致。
规范术语
请严格使用以下规范术语:
| 术语 | 含义 |
|---|---|
| OpenSpec change | 在 openspec/changes/ 下跟踪的仓库行为或资产变更提案 |
| Artifact | 提案、设计、任务列表、规格增量或供 AI 读取的指令文档 |
| Downstream tool setup | 为外部 Agent 框架生成的本地技能、命令或配置 |
| Archive | 完成变更并将其移入持久化规格历史记录 |
| Validation matrix | 将受影响的方面映射到所需验证命令的 Artifact |
验证约定
在宣布变更完成之前,请在此技能目录中运行:
python scripts/check.py
uv run python skills/openspec-workflow/scripts/openspec_cli.py doctor --format json
uv run python skills/openspec-workflow/scripts/openspec_cli.py validate --format json
如果命令因缺少 Node/OpenSpec 工具而无法运行,请报告阻碍,并提供安装 Node >=20.19.0 后应运行的准确命令。
完成标准:
scripts/check.py退出码为 0。openspec_cli.py doctor和validate通过;如果受阻,需提供准确的后续命令。- 技能目录中不包含仓库控制平面 CLI 的引用。
- OpenSpec 决策以仓库策略和实际受影响的文件为依据。
- 必需的 Artifact 均已存在,或明确说明跳过的原因。
- 除非明确批准,否则不得提交生成的下游 Artifact。
关键规则
- 对公共资产格式、下游工具、文档生成、钩子、包元数据或验证行为的非简单变更,请使用 OpenSpec。
- 对单独的拼写错误修复,或仓库约定已充分决定结果的单文件本地编辑,不要使用 OpenSpec。
- 如果其他 AI 工具需要机器可读的状态或指令,请优先使用
uv run python scripts/openspec_cli.py ... --format json。 - 除非明确批准,否则不要提交生成的
.claude、.cursor、.opencode、.github、.agent、.crush、.codex或.geminiOpenSpec Artifact。 - 先验证,再归档;任务、规格或验证方面仍有未解决的问题时,绝不要归档变更。
- 默认将生成的下游技能和命令保留在本地。
- 将缺少 OpenSpec 或 Node 工具报告为阻碍,并提供配置完成后可重试的准确命令。