SuperAPI AI 工具集

openspec-propose

通用与其它

查看项目

更新于 10-15 21:48

技能介绍

用途:把用户的一句话需求转成一组完整的 OpenSpec 规划制品,适用于需要快速产出变更提案、又不想在本环节动手改代码的场景。它只负责规划,不实现。

主要能力:根据配置的 schema 创建变更。默认 spec-driven schema 会生成 proposal.md(做什么与为什么)、specs/<capability-path>/spec.md(系统必须做什么,是增量而非主规格)、design.md(怎么做)、tasks.md(实现步骤)。若变更在 .openspec.yaml 中声明 skip_specs,对应制品标记为 skipped,不应创建。

使用方式:输入需包含 kebab-case 变更名或需求描述,否则先询问。先用 openspec new change "<name>" 创建变更目录(显式指定 schema 时加 --schema "<schema-name>")。再用 openspec status --change "<name>" --json 获取 applyRequires、制品依赖边与路径上下文。按依赖顺序逐个获取 openspec instructions <artifact-id> --change "<name>" --json,读取 template 作为结构、instruction 作为权威指引,写入 resolvedOutputPath。每完成一个制品重新运行 status 复查,直到 applyRequires 及其依赖闭包内全部制品完成;design.md 等条件性制品仅在 instruction 标明可选时跳过。最后运行 openspec status --change "<name>" 输出状态并汇总。

存储选择:若指定已注册 store,先 openspec store list --json 获取 id,再对读写规格与变更的命令附加 --store "<id>",选定后视为粘性;无 store 时作用于最近的本地 openspec/ 根。

限制:本工作流只授权规划,即使用户要求构建或修复也不得编辑项目代码或启动 apply 工作流,需等用户新的请求。context 与 rules 是约束,不得复制进制品文件。制品存在性不等于状态完成,需按 requires 边判断。涉及范围、外部行为、兼容性或验收标准的歧义须先询问用户;同名变更已存在时需询问是继续还是新建。资料未提供具体命令输出示例、报错处理与性能信息。