create-release-note

create-release-note is a skill for Claude Code, Codex from fitlab-ai/agent-infra. It costs 31 tokens per session (1,974 once invoked), scanned A, original, MIT.

A release-note workflow that compares two software version tags and summarises the merged pull requests and commits between them. Release notes explain what changed in a published version.

In plain words
What is it for?
Use it to prepare notes for a version, including features, improvements, bug fixes, documentation, contributors, and linked issues when available.
Why use it?
It avoids manually searching commit history and helps keep the format and categories consistent with earlier releases.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: installed under .agents/ (shared by several agents).

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/fitlab-ai/agent-infra/create-release-note
Any agent
npx skills add fitlab-ai/agent-infra --skill create-release-note
Clone the repo
git clone --depth 1 https://github.com/fitlab-ai/agent-infra

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for create-release-note

README.md
[![agentmods](https://agentmods.dev/badge/skills/fitlab-ai/agent-infra/create-release-note.svg)](https://agentmods.dev/skills/fitlab-ai/agent-infra/create-release-note)
Your own site
<a href="https://agentmods.dev/skills/fitlab-ai/agent-infra/create-release-note"><img src="https://agentmods.dev/badge/skills/fitlab-ai/agent-infra/create-release-note.svg" alt="Measured on agentmods" height="20"></a>
Per session 31 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,974 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00031 $0.01974
Opus 5 $0.00015 $0.00987
Sonnet 5 $0.00006 $0.00395
Haiku 4.5 $0.00003 $0.00197

Measured 6d ago against content hash cc859469c87c, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

create-release-note scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.agents/skills/create-release-note/SKILL.md · 185 lines

How it starts

The opening of the file, as written. The whole thing — 185 lines — stays where its author put it; the contents beside it link to each section on GitHub.

创建发布说明

基于已合并的 PR 和提交,为指定版本生成全面的发布说明。

执行流程

1. 解析参数

从参数中提取:

  • <version>:当前发布版本(必需),格式 X.Y.Z
  • <prev-version>:上一版本(可选),如未提供则自动检测

2. 确定版本范围

当前标签v<version>

上一标签(如未指定):

git tag --sort=-v:refname

查找 v<version> 之前最近的标签。

验证标签存在

git rev-parse v<version>
git rev-parse v<prev-version>

3. 参考历史发布说明格式与分类

读取一次 typed 发布说明上下文,并参考预定义的完整分类清单:

执行前先读取 .agents/rules/release-commands.md

agent-infra-internal platform-release-notes context \
  --from-tag "v<prev-version>" --to-tag "v<version>" \
  --branch "<base-branch>" --history-limit 3

Part B:完整分类清单

  • 🆕 Feature
  • ✨ Enhancement
  • ✅ Bugfix
  • 📚 Documentation

用途

  • Part A:分析最近 3 条历史发布说明的章节结构、标题风格、emoji 使用、条目格式
  • Part B:提供静态完整分类清单,确保后续生成时不遗漏已有分类
  • 该静态清单用于确保变更分类时不遗漏已有类别名称;若当前版本无该类变更,仍按步骤 7 的格式规则省略空分类
  • 后续步骤 7 生成发布说明时,必须同时参考步骤 3 的历史格式风格和完整分类清单,保持版本间的一致性
  • 如果没有历史发布说明,则使用步骤 7 中定义的默认格式

4. 收集已合并的 PR 与贡献者

使用步骤 3 返回的 pullRequestscommits。每个 commit 的 authors 已按平台事实规范化并包含 git author 与 co-author;技能不读取平台原始字段或邮箱规则。

5. 收集关联 Issue

使用步骤 3 中每个 PR 的 closingIssues,不在通用技能中解析平台专有引用语法。

6. 分类变更

按类型(从 PR 标题的 Conventional Commit 前缀):

  • featperfrefactor、依赖升级 -> Enhancement
  • fix -> Bugfix
  • docs -> Documentation(如少于 3 项则合并到 Enhancement)

按模块(从 PR 标题 scope、标签或文件路径):

  • 从 PR 标题中的方括号 [module] 或 Conventional scope feat(module): 推断模块
  • 兜底:分析变更的文件

7. 生成发布说明

优先使用步骤 3 中获取的历史格式风格,并确保覆盖步骤 3 列出的所有分类。 如果存在历史发布说明,严格沿用其章节结构、标题风格(含 emoji)、条目格式和双语布局。

如果没有历史发布说明,使用以下默认格式化为 Markdown:

## {模块/平台名称}

### Enhancement

- [{scope}] Description by @author in [#N](url)

### Bugfix

- [{scope}] Description by @author in [#N](url)

## Contributors

@contributor1, @contributor2, @contributor3, @reporter1 (reported #N)

格式规则

  1. 条目格式:- [scope] Description by @author in [#N](url)
  2. Issue + PR:in [#Issue](url) and [#PR](url)
  3. 描述:使用 PR 标题,移除 type(scope): 前缀,首字母大写
  4. 贡献者搜集
    • 数据源
      • PR author:来自 .agents/rules/release-commands.md 中已合并 PR 查询规则
      • Commit co-authors:来自步骤 3 typed context 的 commit authors
      • Issue reporters:来自步骤 3 typed context 的 closingIssues[].author
    • 贡献数定义该人的 PR 数 + 该人作为 co-author 的 commit 数(同一身份跨来源合并计数)
    • @login 映射:遵循 .agents/rules/release-commands.md 的身份安全边界
      • resolutionplatform-userplatform-noreplylogin 非空时,采用小写 login
      • resolutionunresolved 时从贡献者列表中排除;不得从 Name、邮箱、域名、品牌或同名平台账号推断 login
      • 同一 typed login 的所有 Name 变体必须归并后再计数与排序
      • Bot 身份保留原样(如 dependabot[bot]
      • 不得在可发布 notes 中加入未解析身份的邮箱、占位 mention 或身份确认 TODO
    • 排序:按贡献数降序;贡献数相同时按 login 字典序
    • 去重:以最终映射后的 @login 为键
    • Issue reporter 规则
      • 从步骤 5 收集到的每个关联 Issue 中提取 author.login
      • 如果该 login 已存在于 PR author 或 co-author 的最终映射列表中,跳过(代码贡献已包含该用户)
      • 仅报告贡献的用户以 @login (reported #N) 格式展示;同一 reporter 报告多个 Issue 时使用 @login (reported #N1, #N2)
      • Reporter 在 Contributors 段落中排在代码贡献者之后,以逗号分隔追加
      • Reporter 之间按报告的 Issue 数量降序排列,数量相同时按 login 字典序
  5. 空部分:省略没有条目的部分

Read the full file on GitHub · 185 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 6d ago First seen · 185 lines · 31 tokens per session scan A cc859469c87c

Subscribe to this mod's changes

create-release-note is a skill published in the GitHub repository fitlab-ai/agent-infra (83 stars, last pushed today), licensed MIT. It adds 31 tokens to every session and 1,974 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.