关于 release-debrief
release-debrief 是一项技能,用于汇总受支持工具自上次运行以来的变化。它依据各工具的来源配置和已保存版本状态,生成分类整理的精简发布摘要。
主要功能
- 01支持四种指定开发工具
- 02按工具记录上次查看的版本
- 03从配置文件指定的来源获取变更日志
- 04按设定类别归纳更新
- 05保存最新摘要与版本状态
适用场景
- 01查看上次检查后发布的更新
- 02首次运行时获取近期版本摘要
- 03分别跟踪受支持工具的发布记录
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sammcj/ agentic-coding --skill release-debrief安装后在 Claude Code 中输入/release-debrief确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreresources/tools/claude-code.mdllama-cpp.mdllama-swap.mdopencode.md详细介绍
发布说明追踪
总结用户上次针对某个受支持工具运行此技能以来,该工具发生的变化。不提供操作指南或练习,只聚焦差异摘要。
支持的工具
每个工具都有一个位于 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 |
工具选择:根据用户的提示,将工具名称与上述别名匹配。如果用户指定的名称不在此表中,请回复支持的工具列表并停止。
流程
-
加载工具配置文件。 阅读
resources/tools/<tool>.md。该文件会说明从何处获取变更日志、版本方案如何运作、按哪些分类分组、哪些内容要省略,以及需要注意什么。对于对应工具,以配置文件为准。 -
读取状态。 加载工具的输出文件。从 frontmatter 中解析
last_seen_version。如果文件缺失、为空或 frontmatter 中没有版本号,则视为首次运行:按照配置文件中的版本方案总结最近 3 个版本,无需提示用户。 -
获取当前变更日志。 使用
WebFetch或ctx_fetch_and_index获取配置文件中的 Primary 来源。只有在需要为某条记录补充背景信息时,才获取 Supporting 来源(例如比较配置架构、链接 API 文档、为内容补充编辑性摘要)。如果配置文件列出了 Conditional 来源,则在获取差异后逐一检查其条件,并获取符合条件的来源——这些来源各自有对应的分类。 -
识别差异。 保留新于已存储版本、截至最新版本的记录。按配置文件中的方案比较版本:
semver- 解析 major.minor.patch,并逐项进行数值比较。build-number- 去掉前缀(b、v)并比较整数。github-release-tag- 按 GitHub 的发布顺序(时间顺序)比较。
绝不要按字典序比较版本标签。
-
编写摘要。 按配置文件中的 Buckets 对记录分组。每项内容包括:
- 用一行说明这是什么。
- 用一行说明它的重要性,或适用于什么场景。
- 如果该功能并非简单内容,提供文档链接(来自配置文件的 Feature Link Table,或直接链接到发布页面)。
按配置文件中的 Out of Scope 列表省略低信号内容。参考 Gotchas 处理解析、分组或标记。语气要信息密集、直截了当。醒目标记实验性、破坏性或会影响架构的内容。
-
保存状态。 使用
Edit(如果输出文件不存在,则使用Write)更新工具的输出文件:- 将 frontmatter 中的
last_seen_version设置为获取到的变更日志中的最新版本(唯一的最新版本,即使摘要涵盖多个版本)。 - 将
last_updated设置为今天的日期(ISO 格式)。 - 在
# <Tool> Changelog Summaries下方插入新的## <version> (<date>)小节,其中包含刚才展示的分类摘要。如果单次运行涵盖多个版本,则使用范围标题:## <oldest> → <newest> (<date>)。 - 只保留最新的两个
##小节。如果新增小节后会导致小节达到三个或更多,则删除最旧的小节,确保最终只保留两个。
用一行确认:
Updated resources/outputs/<tool>.md to <version>.如果运行失败,或用户在摘要交付前中止操作,则不要修改文件。 - 将 frontmatter 中的
-
输出文件完整路径。 成功写入后,输出:“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 始终是唯一的最新版本。最多保留两个 ## 小节:最新的小节在顶部,上一轮的小节紧接其下。插入新小节时,删除最旧的小节。
范围覆盖规则
- 明确指定版本(“自 2.1.90 以来有哪些新内容”):使用用户指定的版本,而非
last_seen_version。除非用户明确要求不保存,否则仍需保存状态。 - 日期范围(“过去 2 周的所有内容”):按变更日志日期筛选,而非按版本筛选。仍需保存状态。
- 范围筛选(“只看 hooks”):将差异筛选到对应范围,但仍需保存状态。在新小节的标题中注明筛选条件:
## <version> (<date>, hooks only)。 - 不保存(“不要更新状态”):跳过第 6 步,并告知用户状态未保存。
常见问题
- 相对于此
SKILL.md解析resources/tools/<tool>.md和resources/outputs/<tool>.md。用户可能会从任意工作目录调用此技能。 - 各工具的版本解析方式不同——比较版本前务必先阅读配置文件中的 Version Scheme 部分。不要假设使用语义化版本。
- 如果存储的版本比获取到的变更日志中的所有版本都新(用户手动升级了版本,或来源尚未更新),请如实说明,不要编造差异。
- 使用
Edit将新章节添加到开头,并删除最旧的章节,只保留两个章节。仅当文件尚不存在时才改用Write。 - 不要在同一个输出文件中混合多个工具。每个工具都有自己的输出文件。
- 首次运行判断规则(最近 3 个版本)按工具分别应用,而非按调用分别应用。如果用户昨天用 Claude Code 运行了此技能,今天又询问 OpenCode,那么 OpenCode 仍视为首次运行。