SuperAPI AI 工具集

ft-intent

智能体与模型

查看项目

更新于 10-16 14:04

技能介绍

用途

ft-intent 用于从对话中起草一个新请求的意图(intent),并通过交互式澄清与自主工件生成来完成这一过程。它只负责“意图”阶段,明确不编写 spec.md,也不进行实现。在用户回复确认(如 . 或 “sim”“pode continuar”“yes”“continue”)后,会链接到同一 track 的 ft-spec 技能。

主要能力

首先,它倾听用户用自己话语表达的请求。接着在分配编号之前,将请求分类为变更(change)、纯研究(research-only)或纯评估(assessment-only)。

如果请求过于模糊或歧义而无法分类,会使用宿主的交互式提问模式向用户提问,单次最多三个聚焦问题。

对于纯调研(“pesquise”“investigue”)或纯评估(“avalie”“audite”)、且不描述系统期望状态变更的请求,会直接调用路由到 ft-research 或 ft-assess,不创建 track 目录,也不生成 intent.md,然后停止。

对于变更请求,会在目标仓库的 fast-track-ai/tracks/ 下查找下一个可用编号,格式为 NNN-slug,slug 采用所请求内容的 kebab-case。

如果变更请求过于模糊而无法起草意图,会使用交互式提问,单次上限三个聚焦问题;每个问题须说明其重要性以及它能解锁哪个决策。答案写入意图正文,而非零散对话。未解决项留在“Open questions”下。如果已决定,则跳过提问。

自主工件触发

在起草之前检查自主工件触发条件,每次调用前用一句话告知用户,但不请求许可。仅对变更请求触发研究与评估辅助步骤:

  • 研究:当意图中的范围、设计或验收决策依赖于仓库或本会话已读来源中未经验证的外部事实(版本行为、API 契约、配置、限制、许可或价格)时,调用 ft-research 并在 research: 中引用其 slug。技术熟悉度不能豁免该触发。
  • 引用(Ref):当用户提供 URL、文档或外部代码片段作为意图的重要依据时,从 ./assets/ref.md 捕获到 fast-track-ai/refs/<slug>.md,并在 refs: 中引用该 slug。
  • ADR:当澄清问题的答案满足限定标准(持久、难以逆转、脱离上下文令人意外,或解决有意义的权衡)时,从 ../ft-spec/assets/decisions.md 创建下一个编号的 fast-track-ai/decisions/<NNN-slug>.md,并在 intent 的 decisions: 列表中引用其 slug。对于本地、易逆转或显而易见的实现选择,不创建 ADR。
  • 评估:当预期变更依赖于可检查系统的当前状况时,运行 ft-assess 技能并在 assessments: 中引用其 slug。

引用捕获规则

整个 ref 文件(含 frontmatter、标题和注释)最大 500 KB。type、captured、owner、sha256 和 content_license 对两种类型都是必需的。content_license 是源内容许可,没有明确许可时填 unknown。只写所选类型的正文部分:内联 ref 保留 ## Source content 并删除 ## Locator;指针 ref 保留 ## Locator 并删除 ## Source content。

  • inline:省略 source、pin 和 retrieved_at。在 ## Source content 后存储确切的可再分发源内容。规范化为 UTF-8、LF 换行、且恰好一个末尾 LF。sha256 仅覆盖捕获时观察到的这些规范化源字节。仅用于适合整文件限制的可再分发规范化文本。
  • pointer:要求规范来源。当上游暴露不可变版本、发布、提交或内容标识时使用 pin,否则用 retrieved_at: YYYY-MM-DDTHH:MM:SSZ。sha256 覆盖捕获时实际观察到的源负载,绝不覆盖 URL、路径、定位文本或该 Markdown 文件。用于大型、二进制、稳定上游、受限或许可未知的内容。

写入前将哈希与已有 refs 比较,重复内容复用已有 slug 和文件。源身份不可变:源字节变化需要新建 ref,仅 schema 元数据可丰富而不改变源身份或哈希。若在一次直接请求后仍无法检索或提供来源,则不创建 ref 或合成哈希,也不得将 URL 或定位占位哈希当作源内容,并将缺失依据记录在 Open questions 或 Assumed state 下。

意图文档与状态

从本技能内置的 ./assets/intent.md 起草 fast-track-ai/tracks/NNN-slug/intent.md。按来源填写“Assumed state”,将每条前提恰好放入一个列表:Stated by the user(用户断言的事实)、Unverified assumptions(未经检查采纳的前提)、Access limits(无法访问的来源或系统)。不得将未验证假设呈现为已陈述事实。外部研究按 slug 在 research: 中引用;内部评估在 assessments: 中引用,绝不放入 research:。架构决策记录在 decisions: 中引用。

使用 owner 副本的 ../ft-init/scripts/fast-track-ai-index.sh <target> 重新生成 fast-track-ai/INDEX.md,并报告任何验证错误,而不要将摘要呈现为完整。

路径解析

./ 路径和 ../ft-* 同级路径从本技能安装目录解析,fast-track-ai/ 路径从目标仓库根解析。

收尾与衔接

呈现阶段后小结:四条简短项目符号(问题、提议结果、范围、约束);生成的工件列表(研究、refs、ADRs、评估,如有);track 位置 fast-track-ai/tracks/NNN-slug/;下一步行 “. para continuar com a spec”。不将草稿状态报告为失败,不呈现审批门。

等待用户输入。若用户回复 . 或肯定同义词,则对同一 track 调用 ft-spec。任何其他输入都作为修订意图的指令处理;修订后重新生成 INDEX.md 并再次呈现小结。

当维护者放弃某 track 时,将该 intent status 设为 dropped 并重新生成 INDEX.md;不要求实现。当维护者替换某 track 时,仅在其指定 superseded_by 后将 status 设为 superseded 并重新生成 INDEX.md。不得虚构 superseded_by。