SuperAPI AI 工具集

openspec-schema

编程与开发

查看项目

更新于 10-16 10:56

技能介绍

用途

OpenSpec Schema 是一套用于创建和管理自定义工作流模式的命令行工具。模式(schema)定义工作流中存在哪些工件(artifacts)以及它们之间的依赖关系。默认的 spec-driven 模式提供 proposal -> specs -> design -> tasks 的流程,而自定义模式则允许使用不同的工作流。

主要能力

通过 openspec schema 子命令管理自定义工作流模式:

  • 从零创建新模式:
openspec schema init my-workflow
# 交互式:提示填写描述、工件、默认值
# 非交互式:
openspec schema init rapid --description "Rapid iteration" --artifacts "proposal,tasks" --default

创建后会生成 openspec/schemas/my-workflow/,其中包含 schema.yaml 和 templates/。

  • 分叉(fork)现有模式:
openspec schema fork spec-driven my-workflow

复制 spec-driven 模式以便自定义。

  • 验证模式:
openspec schema validate my-workflow
# 或验证全部:
openspec schema validate
  • 检查模式解析来源:
openspec schema which spec-driven
# 显示:package、project 或 user 来源
openspec schema which --all

模式结构

openspec/schemas/<name>/
├── schema.yaml       # 工件定义与依赖
└── templates/
    ├── proposal.md   # 每个工件的模板
    ├── specs.md
    ├── design.md
    └── tasks.md

示例 schema.yaml:

name: research-first
artifacts:
  - id: research
    generates: research.md
    requires: []
  - id: proposal
    generates: proposal.md
    requires: [research]
  - id: tasks
    generates: tasks.md
    requires: [proposal]

使用方式

完成模式创建后,可将其用于 openspec-new:/opsx:new my-change --schema my-workflow,或在 openspec-config(openspec/config.yaml)中设为默认。

适用场景

  • 用户需要自定义工作流(例如以研究为先、快速迭代)。
  • 用户提到“创建模式”“自定义工作流”“分叉 spec-driven 模式”。
  • 调试模式解析问题(openspec schema which)。
  • 验证自定义模式的结构。

前置条件

需要安装 OpenSpec CLI(参见 openspec-install)。

模式优先级

  • Project:openspec/schemas/<name>/(本地,受版本控制)
  • User:~/.local/share/openspec/schemas/<name>/(全局)
  • Package:内置模式(例如 spec-driven)

输出

在 openspec/schemas/<name>/ 下生成包含 schema.yaml 和 templates 的自定义模式。

限制与疑难排查

  • “Schema not found”:用 openspec schemas 查看可用模式;用 openspec schema which <name> 检查解析来源。
  • 验证错误:运行 openspec schema validate <name> --verbose 查看详情。
  • 规则中出现未知工件 ID:用 openspec schemas --json 查看每个模式的工件 ID。