SuperAPI AI 工具集

note-improvement

编程与开发

查看项目

更新于 10-16 03:57

技能介绍

用途

note-improvement 用于捕获在工作过程中发现、但超出当前任务范围的改进机会,防止这些想法被无声丢弃。它将记录追加到相关仓库的 .turbo/improvements.md 待办清单中。

主要能力

  • 在用户要求“note improvement”“save improvement”“track this for…”等场景时记录改进。
  • 记录内容包括:一行摘要(What)、类型、类别、涉及位置(Where)、理由(Why)。
  • 类型分为 direct(范围清晰、方法已知,可直接通过 /implement 应用)、investigate(需要先做根因分析的症状,如原因不明、性能问题、间歇性 bug)、plan(其他情况,如多文件重构、补充测试、功能开发)。当条件明确指向某一类型时直接使用,否则通过 AskUserQuestion 确认,用户不选择时默认 plan。
  • 类别分为 refactor、performance、reliability、readability、testing、docs、dx(开发者体验)、feature。
  • 当条目记录的是“有意的简化”(以更简单的方案替代更完整的方案并接受已知限制)时,补充 Ceiling(所接受限制)与 Revisit(使更完整版本值得构建的条件)。

使用方式

  1. 定位改进文件:每个仓库在其根目录下维护 .turbo/improvements.md。使用 git -C <repo path> rev-parse --show-toplevel 解析根目录;若在 linked worktree 中(--git-dir 与 --git-common-dir 不同),则使用 common dir 的父目录,使条目落入主检出而非随分支销毁的 worktree。
  2. 识别改进内容:从上下文或 $ARGUMENTS 收集 What、Type、Category、Where、Why 以及必要的 Ceiling 和 Revisit。
  3. 路由并追加:将条目追加到 Where 所指文件所属仓库的 .turbo/improvements.md,可能不是当前仓库。若 Where 跨多个仓库,则按仓库拆分为多条,分别追加到各自仓库,并为每条给出所有对应条目的标题;重写各拆分条目的 Where,使其路径为该仓库本地路径。若目标仓库不在磁盘上,明确说明,并将其条目追加到步骤 1 解析出的仓库根目录的待办清单中,同时注明其原本所属仓库。
  4. 写入:对当前工作目录之外的路径使用 Edit 或 Write 工具写入,包括本会话所在 worktree 的主检出。Bash 沙箱会拒绝在此处的 shell 追加,而单独发出的验证命令随后会打印文件未变更的内容,读起来像是成功。
  5. 若在 linked worktree 中运行时写入被拒绝,则报告无法从此处持久化,并打印完整格式化的条目以便从可写入主检出的会话粘贴。不要写入 worktree 自身的 .turbo/,因为它被 gitignore 且随 worktree 销毁。
  6. 读取每个目标仓库中已存在的 .turbo/improvements.md;若不存在,则用给定文件头创建。
  7. 确认:告知用户改进已记录及每条写入位置,或说明无法持久化并已在上方打印。然后使用 TaskList 工具并继续任何剩余任务。

适用场景

  • 工作中发现超出当前任务范围的改进机会,希望记录以避免遗忘。
  • 需要将改进按仓库归档、跨仓库拆分记录或在团队待办中统一管理。

限制

  • 仅负责记录,是否处理由用户决定。
  • 条目应保持简洁,是待办事项而非规格说明。
  • 追加前需去重:在目标待办中搜索新条目涉及的文件路径、符号及相似主题,若已有条目覆盖同一改进则就地更新;当已有条目前于 Type 字段,更新时补充 Type 行;当已有条目标记为旧值 trivial 或 standard 时,分别重写为 direct 或 plan。
  • 当有意的简化的 revisit 条件尚不可知时,记录需要观察到什么才能知道。
  • 当目标仓库没有 .turbo/ 目录时,用 AskUserQuestion 确认位置后再创建。
  • 文件头与条目格式遵循资料给出的固定结构,创建新文件时包含标题与说明文字。

具体实现细节

  • 文件头:仅在创建新文件时写入。
  • 条目格式包含:标题、Type、Category、Where、Why,以及在记录有意的简化时的 Ceiling、Revisit,在拆分时每对应条目一个 Paired with 行,以及 Noted 日期。其他情况省略这些行。新条目追加到每个目标文件末尾。