SuperAPI AI 工具集

release-debrief

编程与开发

查看项目

更新于 10-16 02:06

技能介绍

用途

release-debrief 用于汇总某个受支持工具自用户上次运行该技能以来发生的变更。它只输出聚焦的差异摘要,不包含完整教程或练习。当用户询问“有什么新内容”“最新版本”“发布说明”等内容时使用。

支持的工具

每个工具在 resources/tools/<tool>.md 中有一个配置文件(包含来源 URL、分组桶、注意事项),并在 resources/outputs/<tool>.md 中有一个输出文件(记录上次查看的版本和摘要历史)。两个路径都相对于本 SKILL.md 解析,而不是用户当前工作目录。

支持的工具及其别名:

  • Claude Code:别名 claude-code、claudecode、cc;配置文件 resources/tools/claude-code.md;输出文件 resources/outputs/claude-code.md
  • OpenCode:别名 opencode、open-code;配置文件 resources/tools/opencode.md;输出文件 resources/outputs/opencode.md
  • llama-swap:别名 llama-swap、llamaswap;配置文件 resources/tools/llama-swap.md;输出文件 resources/outputs/llama-swap.md
  • llama.cpp:别名 llama-cpp、llama.cpp、llamacpp;配置文件 resources/tools/llama-cpp.md;输出文件 resources/outputs/llama-cpp.md

工具选择:将用户提示中的工具与上述别名匹配。如果用户提到的工具不在表中,回复支持列表并停止。

使用方式

  1. 加载工具配置:读取 resources/tools/<tool>.md,它说明从哪里获取变更日志、版本方案如何工作、按哪些桶分组、丢弃什么以及需要注意什么。该配置对该工具具有权威性。

  2. 读取状态:加载该工具的输出文件,从 frontmatter 解析 last_seen_version。如果文件缺失、为空或没有 frontmatter 版本,视为首次运行:按配置的版本方案汇总最近 3 个版本,无需提示。

  3. 抓取当前变更日志:使用 WebFetch 或 ctx_fetch_and_index 访问配置中的 Primary source。仅在需要为条目提供上下文时拉取 Supporting sources。当配置列出 Conditional sources 时,在获得差异后测试每个条件并抓取成立的条件。

  4. 识别差异:保留比存储版本更新的条目,直到最新版本。按配置中的方案比较版本:semver 按 major.minor.patch 逐组件数值比较;build-number 去掉前缀(b、v)后按整数比较;github-release-tag 使用 GitHub 的发布顺序(时间顺序)。切勿将版本标签作为字典序字符串比较。

  5. 汇总:按配置的 Buckets 分组条目。每个条目包含:一行说明它是什么;一行说明为什么重要或何时使用;当功能非平凡时提供文档链接。应用配置的 Out of Scope 列表丢弃低信号条目。应用配置的 Gotchas 决定如何解析、分组或标记。保持语气密集直接。突出标记任何实验性、破坏性或影响 schema 的内容。

  6. 持久化状态:使用 Edit(如果输出文件尚不存在则用 Write)更新该工具的输出文件:将 frontmatter 中的 last_seen_version 设为抓取到的变更日志中的最新版本(即使摘要覆盖一个范围,也取单个最新版本);将 last_updated 设为今天日期(ISO 格式);在 # <Tool> Changelog Summaries 下前置一个新的 ## <version> (<date>) 部分,包含刚呈现的分桶摘要。当一次运行覆盖多个版本时,使用范围标题:## <oldest> → <newest> (<date>)。只保留最新的两个 ## 部分。如果添加新部分会导致三个或更多,删除最旧的,使恰好保留两个。

  7. 一行确认:Updated resources/outputs/<tool>.md to <version>。如果运行失败或用户在摘要交付前中止,不要改动文件。

  8. 输出完整文件路径。成功写入后:"Debrief saved to: /absolute/path/to/resources/outputs/.md "

存储文件格式

每个输出文件遵循以下结构:


last_seen_version: 2.1.112 last_updated: 2026-04-17

<Tool> Changelog Summaries

<version> (<date>)

<Bucket>

  • ...

<prior version> (<prior date>)

<Bucket>

  • ...

标题中的 <version> 可以是单个版本(2.1.112),也可以是范围(2.1.109 → 2.1.112)。frontmatter 中的 last_seen_version 始终是单个最新版本。最多两个 ## 部分:最新在顶部,上一次运行紧接其下。前置时删除最旧的。

范围覆盖

  • 显式版本(“what's new since 2.1.90”):使用用户指定的版本代替 last_seen_version。除非用户说不要,否则仍持久化状态。
  • 日期范围(“everything in the last 2 weeks”):使用变更日志日期而非版本。仍持久化状态。
  • 区域过滤(“just hooks”):将差异过滤到该区域,但仍持久化状态。在新部分标题中注明过滤:## <version> (<date>, hooks only)。
  • 不持久化(“don't update state”):跳过第 6 步,告诉用户状态未持久化。

常见注意事项

  • 相对于本 SKILL.md 解析 resources/tools/<tool>.md 和 resources/outputs/<tool>.md。用户从任意工作目录调用该技能。
  • 版本解析因工具而异——比较前始终阅读配置的 Version Scheme 部分。不要假设是 semver。
  • 如果存储的版本比抓取到的变更日志中的任何版本都新(用户手动提升,或来源尚未更新),明确说明,不要编造差异。
  • 使用 Edit 前置新部分并删除最旧的,使只保留两个。仅当文件尚不存在时才回退到 Write。
  • 不要在一个输出文件中混合多个工具。每个工具拥有自己的输出文件。
  • 首次运行启发式(最近 3 个版本)按工具应用,而非按调用。如果用户昨天对 Claude Code 运行了该技能,今天询问 OpenCode,OpenCode 仍视为首次运行。

适用场景

适用于需要快速了解某个受支持工具最新版本变更、又不想阅读完整发布说明的用户。适合定期追踪 Claude Code、OpenCode、llama-swap 或 llama.cpp 更新的人群。

限制

仅支持上述四个工具,其他工具会回复支持列表并停止。功能细节、收费、价格、平台、效果等未在资料中提供。