mcpField
R
release-debrief

release-debrief

github.com/sammcj生产力16749 次安装2 天前更新
代码仓库

关于 release-debrief

release-debrief 是一项技能,用于汇总受支持工具自上次运行以来的变化。它依据各工具的来源配置和已保存版本状态,生成分类整理的精简发布摘要。

主要功能

  1. 01支持四种指定开发工具
  2. 02按工具记录上次查看的版本
  3. 03从配置文件指定的来源获取变更日志
  4. 04按设定类别归纳更新
  5. 05保存最新摘要与版本状态

适用场景

  1. 01查看上次检查后发布的更新
  2. 02首次运行时获取近期版本摘要
  3. 03分别跟踪受支持工具的发布记录

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/sammcj/agentic-coding --skill release-debrief

安装后在 Claude Code 中输入/release-debrief确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
resources/tools/
claude-code.md
llama-cpp.md
llama-swap.md
opencode.md

详细介绍

发布说明追踪

总结用户上次针对某个受支持工具运行此技能以来,该工具发生的变化。不提供操作指南或练习,只聚焦差异摘要。

支持的工具

每个工具都有一个位于 resources/tools/<tool>.md 的配置文件(源 URL、分类、注意事项),以及一个位于 resources/outputs/<tool>.md 的输出文件(上次查看的版本和摘要历史)。请根据此 SKILL.md 确定这两个文件的路径,而不是根据用户当前的工作目录。

工具用户可能输入的别名配置文件输出文件
Claude Codeclaude-code, claudecode, ccresources/tools/claude-code.mdresources/outputs/claude-code.md
OpenCodeopencode, open-coderesources/tools/opencode.mdresources/outputs/opencode.md
llama-swapllama-swap, llamaswapresources/tools/llama-swap.mdresources/outputs/llama-swap.md
llama.cppllama-cpp, llama.cpp, llamacppresources/tools/llama-cpp.mdresources/outputs/llama-cpp.md

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

流程

  1. 加载工具配置文件。 阅读 resources/tools/<tool>.md。该文件会说明从何处获取变更日志、版本方案如何运作、按哪些分类分组、哪些内容要省略,以及需要注意什么。对于对应工具,以配置文件为准。

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

  3. 获取当前变更日志。 使用 WebFetch 或 ctx_fetch_and_index 获取配置文件中的 Primary 来源。只有在需要为某条记录补充背景信息时,才获取 Supporting 来源(例如比较配置架构、链接 API 文档、为内容补充编辑性摘要)。如果配置文件列出了 Conditional 来源,则在获取差异后逐一检查其条件,并获取符合条件的来源——这些来源各自有对应的分类。

  4. 识别差异。 保留新于已存储版本、截至最新版本的记录。按配置文件中的方案比较版本:

    • semver - 解析 major.minor.patch,并逐项进行数值比较。
    • build-number - 去掉前缀(b、v)并比较整数。
    • github-release-tag - 按 GitHub 的发布顺序(时间顺序)比较。

    绝不要按字典序比较版本标签。

  5. 编写摘要。 按配置文件中的 Buckets 对记录分组。每项内容包括:

    • 用一行说明这是什么。
    • 用一行说明它的重要性,或适用于什么场景。
    • 如果该功能并非简单内容,提供文档链接(来自配置文件的 Feature Link Table,或直接链接到发布页面)。

    按配置文件中的 Out of Scope 列表省略低信号内容。参考 Gotchas 处理解析、分组或标记。语气要信息密集、直截了当。醒目标记实验性、破坏性或会影响架构的内容。

  6. 保存状态。 使用 Edit(如果输出文件不存在,则使用 Write)更新工具的输出文件:

    • 将 frontmatter 中的 last_seen_version 设置为获取到的变更日志中的最新版本(唯一的最新版本,即使摘要涵盖多个版本)。
    • 将 last_updated 设置为今天的日期(ISO 格式)。
    • 在 # <Tool> Changelog Summaries 下方插入新的 ## <version> (<date>) 小节,其中包含刚才展示的分类摘要。如果单次运行涵盖多个版本,则使用范围标题:## <oldest> → <newest> (<date>)。
    • 只保留最新的两个 ## 小节。如果新增小节后会导致小节达到三个或更多,则删除最旧的小节,确保最终只保留两个。

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

  7. 输出文件完整路径。 成功写入后,输出:“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 仍视为首次运行。

评论

支持 Markdown