用途:openspec-propose 是 OpenSpec 的规划类技能,用于根据用户描述快速创建一个变更(change),并一次性生成该变更所需的全部规划产物。它只负责规划,不负责实现。
主要能力:按配置的 schema(默认 spec-driven)生成 proposal.md(做什么与为什么)、specs/<capability-path>/spec.md(系统必须做什么的增量)、design.md(怎么做)、tasks.md(实施步骤)。支持通过 --schema 指定其他工作流,也支持已注册的 store(用 openspec store list --json 查看 id,并在读写命令上追加 --store <id>)。
使用方式:先明确用户要构建或修复的内容,推导 kebab-case 变更名;用 openspec new change "<name>" 创建变更目录;用 openspec status --change "<name>" --json 获取产物构建顺序与路径;按依赖顺序对每个产物运行 openspec instructions <artifact-id> --change "<name>" --json,读取其 template、instruction、resolvedOutputPath 与依赖文件后写出产物;最后用 openspec status --change "<name>" 查看状态并汇总。
适用场景:需要快速把想法转成结构化变更提案、并希望产物齐备后再进入实施阶段的开发流程。
限制:该工作流仅授权规划,不得编辑项目代码、不得启动 apply 工作流或实施变更;产物完成后应停止并等待用户新请求。存在会实质影响范围、外部行为、兼容性或验收标准的歧义时须先询问用户。若同名变更已存在,需询问是继续还是新建。context 与 rules 是约束,不应写入产物文件。具体 schema 细节、store 配置与命令输出以实际 CLI 为准。