用途:openspec-propose 是 OpenSpec 的规划工作流技能,用于把用户想构建或修复的内容快速转成一份完整变更提案,并在一步内生成 schema 定义的全部规划产物。它只做规划,不修改项目代码。
主要能力:按默认 spec-driven schema 生成 proposal.md(做什么与为什么)、specs/<capability-path>/spec.md(系统必须做什么的增量)、design.md(怎么做)、tasks.md(实现步骤)。支持通过 --schema 指定其他工作流 schema,也支持已注册 store(用 openspec store list --json 查 id,并在读写命令上追加 --store <id>,选定后保持粘性)。
使用方式:输入需包含 kebab-case 变更名或需求描述,否则先询问用户。核心命令:openspec new change "<name>"(可加 --schema "<schema-name>");openspec status --change "<name>" --json 获取 applyRequires、artifacts 依赖边与路径上下文;openspec instructions <artifact-id> --change "<name>" --json 获取 template、instruction、resolvedOutputPath 等;按依赖顺序逐个创建产物,每步后重跑 status,最后用 openspec status --change "<name>" 展示结果。查看可用工作流可先运行 openspec context --json,再在返回 root.path 下运行 openspec schemas --json。
适用场景:需要快速把想法整理成结构化变更提案、并希望产物齐全后再进入实现阶段的开发流程。
限制:该工作流仅授权规划,不得编辑项目代码或启动 apply;产物完成后应停止,等待用户新请求再进入 apply($openspec-apply-change 或 /openspec-apply-change)。必须创建 apply 阶段传递依赖的全部产物,而不只是 apply.requires 列出的 id;status 只反映文件是否存在,需按 requires 边判断依赖。context 与 rules 是约束,不得写入产物文件。存在影响范围、外部行为、兼容性或验收标准的歧义时须先询问用户;次要细节可合理假设并记录。若同名变更已存在,需询问是继续还是新建。官方资料未提供收费、价格与平台信息。