SuperAPI AI 工具集

openspec-propose

通用与其它

查看项目

更新于 10-15 21:48

技能介绍

用途:为 OpenSpec 项目快速发起一个新变更,并在一步内生成该变更所需的全部规划产物。适用于用户想快速描述要构建或修复的内容并获得完整提案的场景。

主要能力:按配置的 schema 创建变更目录并生成产物。默认 spec-driven schema 包含 proposal.md(做什么与为什么)、specs/<capability-path>/spec.md(系统必须做什么,是增量而非主 spec)、design.md(怎么做)、tasks.md(实现步骤)。<capability-path> 是相对 specs/ 的 spec 目录,如 user-auth 或 identity/user-auth;已有能力保留完整路径,新能力遵循项目既有组织方式。

使用方式:输入需包含 kebab-case 变更名或需求描述,如无则先询问用户。创建变更:openspec new change "<name>",指定 schema 时加 --schema "<schema-name>"。获取产物构建顺序:openspec status --change "<name>" --json,解析 applyRequires、artifacts 及其 requires 依赖边、planningHome、changeRoot、artifactPaths、actionContext。逐个获取指令:openspec instructions <artifact-id> --change "<name>" --json,其中 context 与 rules 是给执行者的约束,不得写入产物文件;template 为输出结构;resolvedOutputPath 为写入路径;dependencies 为需先读取的已完成产物。按依赖顺序创建,每创建一个后重新运行 status,直到必需集合(applyRequires 及其沿 requires 边可达的全部产物)全部完成。最后运行 openspec status --change "<name>" 展示状态。

Store 选择:若用户指定 store 或工作位于其中,先运行 openspec store list --json 获取已注册 store id,再在读写 spec 与 change 的命令(new change、status、instructions、list、show、validate、archive、doctor、context、view)上追加 --store <id>,选定后保持粘性;其他命令不接受该标志。未指定时作用于最近的本地 openspec/ 根目录。

限制:本工作流仅授权规划,即使用户请求包含构建或修复,也不得编辑项目代码、不得启动 apply 工作流,产物呈现后应停止并等待新的用户请求。status 仅反映文件是否存在,不能据此判断依赖已完成,须依据 requires 边构建必需集合。已标记 skipped 的产物视为满足,不得创建。仅当产物自身 instruction 标明为条件性时才可跳过。若同名变更已存在,需询问用户是继续还是新建。存在影响范围、外部可观察行为、兼容性或验收标准的歧义时须先询问;次要细节可合理假设并记录在产物中。创建新产物前必须从磁盘重新读取依赖产物,不能依赖对话记忆。

实现阶段:产物就绪后提示用户运行 $openspec-apply-change(Codex)或 /openspec-apply-change(其他 agent),或要求应用该变更。