OpenSpec新变更创建Skill openspec-new-change

这个技能用于通过OpenSpec CLI工具,使用实验性工件工作流来启动和管理新的软件开发变更。它适用于特性创建、bug修复或修改,提供结构化的分步方法,支持TDD和规范驱动开发等模式。关键词:OpenSpec、变更管理、工件工作流、测试驱动开发、DevOps、软件开发流程。

测试 0 次安装 0 次浏览 更新于 3/11/2026

名称:openspec-new-change 描述:使用实验性工件工作流启动一个新的OpenSpec变更。当用户想要创建一个新功能、修复或修改,并使用结构化分步方法时使用。 许可证:MIT 兼容性:需要openspec CLI。 元数据: 作者:openspec 版本:“1.0” 生成者:“1.0.0”

使用实验性工件驱动方法启动一个新的变更。

输入:用户的请求应包括一个变更名称(kebab-case)或描述他们想要构建的内容。

步骤

  1. 如果没有提供清晰的输入,询问他们想要构建什么

    使用AskUserQuestion工具(开放式,无预设选项)询问:

    “您想要处理什么变更?描述您想要构建或修复的内容。”

    从他们的描述中,推导出一个kebab-case名称(例如,“add user authentication” → add-user-auth)。

    重要:在没有理解用户想要构建什么之前,不要继续。

  2. 确定工作流模式

    使用默认模式(省略--schema),除非用户明确请求不同的工作流。

    仅当用户提到以下内容时使用不同的模式:

    • “tdd” 或 “test-driven” → 使用 --schema tdd
    • 特定的模式名称 → 使用 --schema <名称>
    • “show workflows” 或 “what workflows” → 运行 openspec schemas --json 并让他们选择

    否则:省略 --schema 以使用默认模式。

  3. 创建变更目录

    openspec new change "<名称>"
    

    仅当用户请求特定工作流时添加 --schema <名称>。 这会在 openspec/changes/<名称>/ 创建一个带有选定模式的脚手架变更。

  4. 显示工件状态

    openspec status --change "<名称>"
    

    这显示哪些工件需要创建以及哪些已准备就绪(依赖项满足)。

  5. 获取第一个工件的指令 第一个工件取决于模式(例如,对于规范驱动的是 proposal,对于TDD的是 spec)。 检查状态输出以找到状态为“ready”的第一个工件。

    openspec instructions <第一个工件id> --change "<名称>"
    

    这输出创建第一个工件的模板和上下文。

  6. 停止并等待用户指示

输出

完成步骤后,总结:

  • 变更名称和位置
  • 正在使用的模式/工作流及其工件序列
  • 当前状态(0/N个工件完成)
  • 第一个工件的模板
  • 提示:“准备创建第一个工件吗?只需描述这个变更的内容,我会草拟它,或者让我继续。”

防护措施

  • 不要创建任何工件 - 仅显示指令
  • 不要超越显示第一个工件模板
  • 如果名称无效(不是kebab-case),要求有效名称
  • 如果已存在具有该名称的变更,建议继续该变更
  • 如果使用非默认工作流,传递 --schema