用途:用于启动一个 OpenSpec 变更(change),采用实验性的 artifact 驱动方式。适用于用户想以结构化方式创建新功能、修复或修改时。
输入:用户请求应包含变更名称(kebab-case)或对要构建内容的描述。若信息不明确,需用 AskUserQuestion 工具(开放式、无预设选项)询问“What change do you want to work on? Describe what you want to build or fix.”,并从描述中推导出 kebab-case 名称(如“add user authentication”对应 add-user-auth)。未理解用户目标前不得继续。
工作流 schema:默认省略 --schema;仅当用户明确要求其他工作流时才使用不同 schema,例如提到具体 schema 名用 --schema <name>,或问“show workflows / what workflows”时运行 openspec schemas --json 让其选择。
主要步骤:1)创建变更目录:openspec new change "<name>",仅当用户要求特定工作流时才加 --schema <name>,会在 openspec/changes/<name>/ 生成脚手架。2)查看产物状态:openspec status --change "<name>",显示需创建及已就绪(依赖满足)的产物。3)获取首个产物说明:首个产物取决于 schema(如 spec-driven 为 proposal),从状态输出找状态为 ready 的首个产物,运行 openspec instructions <first-artifact-id> --change "<name>" 获取模板与上下文。4)停止并等待用户指示。
输出:完成步骤后汇总变更名称与位置、所用 schema/工作流及其产物顺序、当前状态(0/N 产物完成)、首个产物模板,并提示“Ready to create the first artifact? Just describe what this change is about and I'll draft it, or ask me to continue.”
限制与守护:此时不得创建任何产物,只展示说明;不得推进到首个产物模板之后;名称无效(非 kebab-case)时需索要合法名称;同名变更已存在时建议继续该变更;使用非默认工作流时须传 --schema。