SuperAPI AI 工具集

feature-spec

编程与开发

查看项目

更新于 10-15 10:35

技能介绍

用途

feature-spec 用于为一个明确指定或当前唯一确定的功能(Feature)编写或修订持久的行为契约。其目标是:把已经达成一致的行为一次性记录下来,让后续每个任务都消费同一份契约。

当一个功能需要由多个执行者(executor)分担时,在任务规划之前必须先有一份持久的行为契约。对于未被拆分的小型功能,如果其结果、范围、规则和验收已经可评审,可以在 feature.md 中保留一份紧凑契约,不要仅仅为了满足某种布局而单独创建文件。

主要能力

确定功能边界

在编辑之前先解析出唯一确切的功能:

  • 优先使用请求中给出的 ID、链接、路径或名称;
  • 否则从请求、.waypoint/local.yaml 或外部跟踪器解析执行者,再按负责人筛选活跃功能;
  • 只有当恰好剩下一个候选时才继续,否则询问。

绝不回退到其他负责人的功能、列表顺序、最近时间、Git 历史或当前分支。显式指定目标并不转移所有权。

随后阅读仓库说明、该功能记录、相关产品上下文、现有行为以及本地规范约定。

识别稳定的功能 ID、负责人、预期结果、范围、非目标以及可观察的完成证明。负责人优先复用功能记录或已配置外部跟踪器中的值,其次是当前请求中显式给出的值。如果仍然缺失,在 .waypoint/local.yaml 存在时直接读取它,并使用其中的 actor_id 作为当前执行者;如果这样仍无法确定功能负责人,则询问用户。绝不从 Git 作者元数据、运行框架、机器、分支或窗口身份来猜测。

综合用户和仓库已经确立的决策。写作时不要再次访谈、扩大范围、添加技术选择,也不要悄悄替未来意图做决定。

当行为仍然模糊到足以改变验收或任务边界时,停止并返回未解决的决策。

写行为,不写实现

只包含最小有用集合中的内容:

  • 问题、动机、结果和参与者;
  • 包含的行为和有意义的非目标;
  • 可观察的输入、输出、规则和状态转换;
  • 在契约边界可见的失败、兼容、安全或运维行为;
  • 当能澄清重要边界情况时的代表性场景;
  • 外部施加的约束;
  • 当没有更强的功能记录拥有验收时,作为权威的功能验收。

不要包含架构、模块接缝、模式、算法、文件路径、任务分解、执行顺序、编写测试的步骤、发布机制或提交说明。应链接现有设计,而不是对其进行总结。

更新与收尾

如果存在合适的仓库原生规范,则更新它;否则使用 references/spec-template.md。当功能记录存在时,把权威验收保留在 feature.md 中;规范应解释使这些检查有意义的行为,而不复制检查清单。

在达成一致的行为被持久化后即结束。批准仅授权这份规范;除非当前请求明确点名了那个单独的计划结果,否则不要继续进入设计、任务规划、实现规划或代码。规划从不授权实现。

使用方式

该技能以技能(skill)形式提供,可通过 npx skills 安装。安装命令示例:

npx skills add mattpocock/skills --skill <name>

上述命令用于安装所需的配套技能,仅安装需要的那个。

配套技能

当已安装时,可使用 grilling 处理未解决的产品意图,使用 research 处理重要的外部事实。这些配套技能来自 mattpocock/skills,且是可选的。

适用场景

  • 需要为一个功能建立或修订持久行为契约时;
  • 功能将由多个执行者分担,需要在任务规划前统一契约时;
  • 需要把已达成一致的行为固化,避免后续任务各自理解不一致时。

限制

  • 只写行为,不写实现;不涉及架构、模块、模式、算法、文件路径、任务分解、执行顺序、测试步骤、发布机制或提交说明。
  • 不再次访谈、不扩大范围、不添加技术选择、不替未来意图做决定。
  • 行为模糊到足以改变验收或任务边界时,必须停止并返回未解决的决策。
  • 批准仅授权规范本身,不授权设计、任务规划、实现规划或代码。
  • 关于收费、价格、平台支持等具体信息,资料中暂未提供。