React Router Release Notes Prep
remix-run/react-router
Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.
基于 git 历史 + issue 引用生成符合 Keep-a-Changelog 规范的发版说明. An agent skill from ChanningLua/prax-agent.
$ npx skills add ChanningLua/prax-agent --skill release-notes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ChanningLua/prax-agent release-notes --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ChanningLua/prax-agent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/src/prax/skills/release-notes .claude/skills/release-notes && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "release-notes" agent skill from https://github.com/ChanningLua/prax-agent/tree/main/src/prax/skills/release-notes into .claude/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ChanningLua/prax-agent/tree/main/src/prax/skills/release-notesType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ChanningLua/prax-agent --skill release-notes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ChanningLua/prax-agent release-notes --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ChanningLua/prax-agent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/src/prax/skills/release-notes .agents/skills/release-notes && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "release-notes" agent skill from https://github.com/ChanningLua/prax-agent/tree/main/src/prax/skills/release-notes into .agents/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ChanningLua/prax-agent --skill release-notes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ChanningLua/prax-agent release-notes --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ChanningLua/prax-agent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/src/prax/skills/release-notes .cursor/skills/release-notes && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "release-notes" agent skill from https://github.com/ChanningLua/prax-agent/tree/main/src/prax/skills/release-notes into .cursor/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ChanningLua/prax-agent.git --path src/prax/skills/release-notes--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ChanningLua/prax-agent --skill release-notes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ChanningLua/prax-agent release-notes --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ChanningLua/prax-agent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/src/prax/skills/release-notes .gemini/skills/release-notes && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "release-notes" agent skill from https://github.com/ChanningLua/prax-agent/tree/main/src/prax/skills/release-notes into .gemini/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ChanningLua/prax-agent release-notesInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ChanningLua/prax-agent --skill release-notes -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ChanningLua/prax-agent.git skills-src && mkdir -p .github/skills && cp -r skills-src/src/prax/skills/release-notes .github/skills/release-notes && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "release-notes" agent skill from https://github.com/ChanningLua/prax-agent/tree/main/src/prax/skills/release-notes into .github/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ChanningLua/prax-agent --skill release-notes -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ChanningLua/prax-agent release-notes --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ChanningLua/prax-agent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/src/prax/skills/release-notes .opencode/skills/release-notes && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "release-notes" agent skill from https://github.com/ChanningLua/prax-agent/tree/main/src/prax/skills/release-notes into .opencode/skills/release-notes/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-notes", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
release-notes基于 git 历史 + issue 引用生成符合 Keep-a-Changelog 规范的发版说明. An agent skill from ChanningLua/prax-agent.
Release Notes is an agent skill from ChanningLua/prax-agent. 基于 git 历史 + issue 引用生成符合 Keep-a-Changelog 规范的发版说明
Its SKILL.md is about 1.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Development, covering Changelog and release notes. It works with Git. The repository describes itself as: Self-improving agent runtime that learns from experience — test-verify-fix loops, correction detection, cross-project memory, multi-model orchestration. The licence is MIT.
8 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 19d016b. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
BashReadWriteGrepGlobNotifyFrom allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
keepachangelog.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Release Notes loads about 1.2k tokens when it runs. Until then it costs about 16 tokens; SKILL.md has 286 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: Bash, Read, Write, Grep, Glob, NotifyAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ChanningLua/prax-agent at commit 19d016b, republished under its MIT licence (© ChanningLua). 286 words, ~1,248 tokens.
.claude/skills/release-notes/SKILL.md (or your agent's skills folder).把从上一个 tag 到当前 HEAD(或指定 tag)之间的 git 历史整理成符合 Keep a Changelog 的发版说明。
v0.4.0)后要求写说明v*.*.* tag 推送后触发v0.4.0 或 0.4.0,自动带/去 v 前缀兼容)git describe --tags --abbrev=0 <target>^)两个文件都要写:
CHANGELOG.md:在 ## [Unreleased] 下方插入新条目(不覆盖旧版本)docs/releases/<version>.md:独立的发版公告(便于网站、邮件、微信直接引用)# 1.1 必须在 git 仓库里
git rev-parse --show-toplevel
# 1.2 工作区必须干净(有未提交改动时警告,不强制)
git status --porcelain
# 1.3 确认目标版本格式
# 接受 v0.4.0 / 0.4.0;内部统一成 v0.4.0失败就停下来告诉用户,不要继续生成"碰运气"内容。
# 上一个 tag
PREV=$(git describe --tags --abbrev=0 <target>^ 2>/dev/null || echo "")
# 范围内的 commit 清单(排除 merge commits)
git log ${PREV:+$PREV..}<target> --oneline --no-merges
# 每个 commit 的完整 message(分类需要 body)
git log ${PREV:+$PREV..}<target> --format='%H%n%s%n%b%n---' --no-merges没有 PREV(第一次发版)时,列全部历史,但限 50 条以内(多了就说"initial release")。
正则匹配 commit message 首行的前缀:
| 前缀 | CHANGELOG 段 | 优先级 |
|---|---|---|
feat(<scope>): 或 feat: | ### Added | 1 |
fix(...) | ### Fixed | 2 |
refactor(...) | ### Changed | 3 |
perf(...) | ### Changed | 3 |
docs(...) | ### Documentation | 4 |
chore(...) / test(...) / ci(...) | 跳过,除非是 breaking 或 chore: bump version | - |
BREAKING CHANGE: 出现在 body | ### Breaking(置顶) | 0 |
| 其他 | ### Other | 5 |
每条在段内按时间倒序排列。
对每条 commit 扫 body 里的 #(\d+)、(#\d+)、GH-\d+:
# 如果有 gh CLI 且 issue 开着,拿 title 补充上下文
gh issue view <N> --json title,labels -q '.title + " [" + (.labels | map(.name) | join(",")) + "]"'没 gh CLI 或 issue 404 → 保留 #N 原样引用,不崩。
硬约束:每一个在 commit body 里出现的 #N 引用都必须保留在对应 bullet 末尾,格式 . Refs #N。不能偷懒抽象掉——审查人要靠它回追 issue。如果一条 commit 有多个 #N,全部列出:. Refs #12, #17。
模板(严格遵守):
## [0.4.0] - 2026-04-22
### Breaking
- **\<scope>**: description(参考 #123 [breaking-change])
### Added
- \<scope>: description. Refs #42.
- \<scope>: description.
### Changed
- \<scope>: description.
### Fixed
- \<scope>: description. Refs #17.
### Documentation
- \<scope>: description.
### Other
- Miscellaneous changes that don't fit elsewhere.约束:
tools/ → "tools";core/middleware.py → "middleware")docs/releases/<version>.md工具选择(很关键):
docs/releases/<version>.md 通常不存在。新建文件必须用 Write 工具,不能用 HashlineEdit / Edit(后者只能改已存在文件,对新路径会报 File not found)。Write 工具会自动 mkdir -p 父目录,不需要先跑 shell 命令建目录。CHANGELOG.md 是已存在文件,用 Edit / HashlineEdit 改。模板:
# Prax \<version>
_Released 2026-04-22_
<1-2 句话总览:这次主要做了什么>
## Highlights
- \<1-3 条顶级亮点,每条一行>
## What's Changed
<把 CHANGELOG 的 Breaking/Added/Changed/Fixed 段照抄>
## Upgrading
<如果有 breaking,这里写迁移;没有就 "Drop-in replacement, no migration needed.">
## Credits
<用 git log --format='%aN' --no-merges <range> | sort -u 列贡献者>
---
Full diff: https://github.com/ChanningLua/prax-agent/compare/\<prev>...\<version>关键:同一版本号重跑必须覆盖,不能追加。
执行前:
CHANGELOG.md,用 ## [<version>] - 正则找到该条目的起止行## [Unreleased] 下方插入docs/releases/<version>.md 直接 overwrite。
若 .prax/notify.yaml 有 release-announce channel,调 Notify:
Notify(
channel = "release-announce",
title = "Prax " + version + " released",
body = <docs/releases/<version>.md 的 Highlights 段>,
level = "info"
)gh CLI 不可达时降级到"只用 git log + commit body",不报错。BREAKING CHANGE: 才放 Breaking 段。别自作聪明把 refactor(api) 当 breaking。docs-audit 发现"有代码改动但 docs 没跟上"时,生成的 issue 可以成为下一次 release notes 的候选输入ai-news-daily 负责抓外部内容,本 skill 专职 on-repo 产出,边界清晰用户:生成 v0.4.0 的 release notes
→ skill 跑 git describe 找到 PREV=v0.3.2
→ git log v0.3.2..HEAD 拿到 8 条 commit
→ 按 feat/fix/chore 分成四段
→ 识别 chore(polish) 不属于任何用户可见改动,放 Other
→ 抽取 #123 引用(如果有),gh issue view 补标题
→ 读 CHANGELOG.md 找 [0.4.0](本次第一次跑,没有)
→ 插入新条目到 [Unreleased] 下方
→ 写 docs/releases/v0.4.0.md
→ 报告用户:CHANGELOG 加了 X 行、docs/releases/v0.4.0.md 写好了用户读完满意就打 tag + 发版,不满意就让 skill 改。
© ChanningLua, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in src/prax/skills/release-notes of ChanningLua/prax-agent.
Open the folder on GitHubat commit 19d016b
Release Notes next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Release Notes this skillChanningLua/prax-agent | 273 | — | ~1.2k | Automated safety check: Notes | MIT | |
| React Router Release Notes Prepremix-run/react-router | 57k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Draft Release Notesjamiepine/voicebox | 57k | — | ~941 | Automated safety check: Pass | MIT | |
| Mole Release Notes Publishertw93/Mole | 70k | — | ~1.9k | Automated safety check: Pass | GPL-3.0 | |
| Release Bumpjamiepine/voicebox | 57k | — | ~1.1k | Automated safety check: Pass | MIT | |
| Git Workflow and Versioningaddyosmani/agent-skills | 103k | 2 repos | ~3.5k | Automated safety check: Notes | MIT |
remix-run/react-router
Polishes pending React Router change files before the versioning scripts run, and decides whether a long-form What's Changed section is warranted.
jamiepine/voicebox
Writes or refreshes the Unreleased section of CHANGELOG.md as a themed narrative built from the commits, PRs and diff since the last version tag.
tw93/Mole
Publishes curated, bilingual release notes for an existing Mole version tag with gh release edit, including contributor thanks and reactions, after the release workflow finishes.
jamiepine/voicebox
Ends a release cycle by moving the Unreleased changelog notes under a dated version heading, bumping version files with bumpversion and tagging the commit.
addyosmani/agent-skills
Sets git habits for every change: short-lived branches, atomic commits with descriptive messages, clean pull requests, plus versioning, tagging and changelogs for releases.
verdaccio/verdaccio
Takes a change through a verdaccio pull request: branch, local checks, changeset, title and body, labels, CI and review rounds, and ports to other release lines.
ChanningLua/prax-agent
Hand coding work or explicitly authorized one-shot verification to Prax Shift, inspect a shift, or schedule supported coding work with Claude as the worker.
ChanningLua/prax-agent
Hand coding work or explicitly authorized one-shot verification to Prax Shift, inspect a shift, or schedule supported coding work with Codex as the worker.
ChanningLua/prax-agent
端到端 pipeline —— 抓 X/知乎/Bilibili AI 相关热门 → 整理成 wiki → 推送飞书日报. An agent skill from ChanningLua/prax-agent.
ChanningLua/prax-agent
用 AutoCLI 二进制驱动用户已登录的 Chrome 抓取 Twitter/X、知乎、Bilibili、Reddit 等 55+ 站点
ChanningLua/prax-agent
从近期大事件、真实需求和常青决策中选题,完成多源研究、业务落地、实测、事实核验和精选文章. An agent skill from ChanningLua/prax-agent.
ChanningLua/prax-agent
把一堆 raw markdown(抓取/笔记/文章)压成 Obsidian 风格 wiki —— 有 TOC、有按主题聚合、有日简报
Works with
Categories
基于 git 历史 + issue 引用生成符合 Keep-a-Changelog 规范的发版说明. An agent skill from ChanningLua/prax-agent. Release Notes is an agent skill from ChanningLua/prax-agent.
Release Notes fits situations like: tasks that involve Changelog and release notes.
Run `npx skills add ChanningLua/prax-agent --skill release-notes -a claude-code`. Or copy the skill folder (src/prax/skills/release-notes in ChanningLua/prax-agent) into .claude/skills/release-notes in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ChanningLua/prax-agent --skill release-notes -a codex`. Or copy the skill folder (src/prax/skills/release-notes in ChanningLua/prax-agent) into .agents/skills/release-notes in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ChanningLua/prax-agent --skill release-notes -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/release-notes, .gemini/skills/release-notes, .github/skills/release-notes and .opencode/skills/release-notes in your project.
Going by SKILL.md and its folder, Release Notes needs the command-line tools its instructions call (git and gh). Its frontmatter pre-approves these tools: Bash, Read, Write, Grep, Glob, Notify.
SKILL.md names 1 domain. As links in the text: keepachangelog.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Release Notes is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.2k tokens (SKILL.md is roughly 5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Release Notes: React Router Release Notes Prep (remix-run/react-router, 57k stars), Draft Release Notes (jamiepine/voicebox, 57k stars), Mole Release Notes Publisher (tw93/Mole, 70k stars) and Release Bump (jamiepine/voicebox, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ChanningLua (a GitHub user) maintains it in ChanningLua/prax-agent, which has 273 GitHub stars. The repository holds 12 skills in this directory. The repository was last updated on September 11, 2026.
Source: ChanningLua/prax-agent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.