SuperAPI AI 工具集

openspec-onboard

编程与开发

查看项目

更新于 10-15 10:24

技能介绍

用途

openspec-onboard 是一个引导式入门(onboarding)技能,目标是带用户走完 OpenSpec 的第一次完整工作流循环。它强调“教学体验”:在用户的真实代码库中完成实际工作,同时解释每一步在做什么。

主要能力

  • 预检:检查 OpenSpec 是否已在项目中初始化。
  • 任务选择:扫描代码库,寻找小型改进机会,例如 TODO/FIXME/HACK/XXX 注释、缺失的错误处理、没有测试的函数、TypeScript 中的 any 类型、调试残留(console.log、debugger)、缺少校验的用户输入处理等,并查看最近的 git 提交记录。
  • 探索演示:简要展示 explore 模式,阅读相关代码、必要时画 ASCII 图、记录注意事项。
  • 创建变更:在 openspec/changes/<name>/ 下创建变更容器,包含 proposal.md、design.md、specs/、tasks.md。
  • 编写提案:起草 proposal,说明“为什么”和“改什么”,包含 Why、What Changes、Capabilities、Impact 等部分。
  • 编写规格:以 Requirement 与 Scenario(WHEN/THEN/AND)格式定义可测试的需求。
  • 编写设计:记录技术决策、目标/非目标、权衡。
  • 拆解任务:生成带复选框的实现任务清单。
  • 实现:逐项实现任务,并在 tasks.md 中勾选完成。
  • 归档:将完成的变更移动到 openspec/changes/archive/YYYY-MM-DD-<name>/。
  • 收尾:回顾完整循环,并提供命令参考与后续建议。

使用方式

该技能以分阶段引导的方式运行,遵循 EXPLAIN → DO → SHOW → PAUSE 的模式,在探索后、提案草稿后、任务后、归档后等关键节点暂停等待用户确认。

预检命令:

openspec status --json 2>&1 || echo "NOT_INITIALIZED"

若未初始化,提示用户先运行 openspec init,然后回到 /opsx:onboard。

创建变更:

openspec new change "<derived-name>"

保存提案前获取指令:

openspec instructions proposal --change "<name>" --json

创建规格目录:

mkdir -p openspec/changes/<name>/specs/<capability-name>

归档:

openspec archive "<name>"

命令参考:

命令 作用
/opsx:explore 在工作前/中思考问题
/opsx:new 开始新变更,逐步生成产物
/opsx:ff 快进:一次性创建所有产物
/opsx:continue 继续已有变更
/opsx:apply 实现变更中的任务
/opsx:verify 验证实现与产物一致
/opsx:archive 归档已完成的变更

适用场景

  • 首次接触 OpenSpec,希望快速理解其完整变更管理流程的开发者。
  • 想在真实代码库中边做边学,而不是看模拟示例的用户。
  • 需要一套从想法到实现再到归档的规范化工作节奏的团队或个人。

限制与注意事项

  • 需要项目已初始化 OpenSpec,否则流程会停止并提示先运行 openspec init。
  • 建议选择小型任务;若用户选择过大的任务,技能会给出软性护栏,建议切片或换任务,但允许用户坚持。
  • 实现阶段保持轻量叙述,不过度解释每一行代码。
  • 用户中途退出时,变更会保存在 openspec/changes/<name>/,可通过 /opsx:continue 或 /opsx:apply 恢复,不会丢失工作。
  • 若用户只想看命令,可直接提供快速参考并优雅退出。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。