Draft Release Notes
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.
Write grouped, user-friendly release notes from git history, changelogithub output, GitHub releases, PR lists, or raw commit logs.
$ npx skills add moeru-ai/airi --skill release-note-writer -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install moeru-ai/airi release-note-writer --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/moeru-ai/airi.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release-note-writer .claude/skills/release-note-writer && 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-note-writer" agent skill from https://github.com/moeru-ai/airi/tree/main/.agents/skills/release-note-writer into .claude/skills/release-note-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-note-writer", 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/moeru-ai/airi/tree/main/.agents/skills/release-note-writerType 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 moeru-ai/airi --skill release-note-writer -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install moeru-ai/airi release-note-writer --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/moeru-ai/airi.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/release-note-writer .agents/skills/release-note-writer && 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-note-writer" agent skill from https://github.com/moeru-ai/airi/tree/main/.agents/skills/release-note-writer into .agents/skills/release-note-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-note-writer", 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 moeru-ai/airi --skill release-note-writer -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install moeru-ai/airi release-note-writer --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/moeru-ai/airi.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/release-note-writer .cursor/skills/release-note-writer && 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-note-writer" agent skill from https://github.com/moeru-ai/airi/tree/main/.agents/skills/release-note-writer into .cursor/skills/release-note-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-note-writer", 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/moeru-ai/airi.git --path .agents/skills/release-note-writer--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 moeru-ai/airi --skill release-note-writer -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install moeru-ai/airi release-note-writer --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/moeru-ai/airi.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/release-note-writer .gemini/skills/release-note-writer && 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-note-writer" agent skill from https://github.com/moeru-ai/airi/tree/main/.agents/skills/release-note-writer into .gemini/skills/release-note-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-note-writer", 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 moeru-ai/airi release-note-writerInstalls 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 moeru-ai/airi --skill release-note-writer -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/moeru-ai/airi.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/release-note-writer .github/skills/release-note-writer && 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-note-writer" agent skill from https://github.com/moeru-ai/airi/tree/main/.agents/skills/release-note-writer into .github/skills/release-note-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-note-writer", 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 moeru-ai/airi --skill release-note-writer -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install moeru-ai/airi release-note-writer --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/moeru-ai/airi.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/release-note-writer .opencode/skills/release-note-writer && 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-note-writer" agent skill from https://github.com/moeru-ai/airi/tree/main/.agents/skills/release-note-writer into .opencode/skills/release-note-writer/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "release-note-writer", 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-note-writerWrite grouped, user-friendly release notes from git history, changelogithub output, GitHub releases, PR lists, or raw commit logs.
Release Note Writer is an agent skill from moeru-ai/airi. Write grouped, user-friendly release notes from git history, changelogithub output, GitHub releases, PR lists, or raw commit logs. Use when Codex needs to turn technical changelogs into English-only release notes for AIRI or similar products, including end-user highlights, developer/API notes, contributor-facing internal tooling notes, upgrade notes, or follow-up style-rule updates after wording feedback.
Its SKILL.md is about 2.3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files (for example `agents/openai.yaml`).
It sits in Development, covering Changelog and release notes. It works with GitHub and Git. The repository describes itself as: 💖🧸 Self hosted, you-owned Grok Companion, a container of souls of waifu, cyber livings to bring them into our worlds, wishing to achieve Neuro-sama's altitude. Capable of… The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 0327dc8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
gitpnpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and pnpm, which can reach the network depending on how they are called.
From 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 Note Writer loads about 2.3k tokens when it runs. Until then it costs about 107 tokens; SKILL.md has 1,144 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 found no risky patterns in SKILL.md.
Automated 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 moeru-ai/airi at commit 0327dc8, republished under its MIT licence (© moeru-ai). 1,144 words, ~2,286 tokens.
.claude/skills/release-note-writer/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.Write release notes in English only. Convert technical history into reader-facing changes grouped by audience and outcome. Do not mirror commit scopes directly.
Before drafting, gather the release context:
git tag --sort=-v:refname.pnpm dlx changelogithub --dry --from <previous-version>git show --stat --oneline <sha> or equivalent targeted commands.Use a compact, aggregated structure. Prefer fewer major sections with useful subheadings over many small scope-based sections. Use multiple heading levels when that makes the audience or product surface clearer.
Recommended order:
### To developers near the end.### To contributors last.### Upgrade notes only when action is required.Product-facing sections can be nested by surface:
### Product updates#### Local#### Cloud#### New providers#### Chat and settingsDo not force every release into these exact headings. Pick headings that make the release easy to scan.
Use a dedicated bug-fix section when fixes include critical regressions, blocked primary workflows, or issues users may scan the notes to confirm. Critical bugs deserve plain, concrete language because users may be checking whether their blocker was fixed. Minor visual, wording, and low-impact cleanup can stay grouped as polish, but do not bury important fixes inside broad product updates.
Use To developers for external developer impact:
server/apps/api business logic unless users of AIRI Cloud or external operators need to act on it.Use To contributors for internal project work:
vishot, cap-vite, CI, dev scripts, repo build/test/lint workflow, docs generation, internal-only packages, release automation, test harnesses, screenshots, evaluation tools.chore commits even when changelogithub does not surface them prominently.For UI, apps/stage-*, packages/stage-*, and packages/ui changes, emphasize what the user can now do and what annoyance was removed.
Use patterns like:
Avoid exposing implementation names unless they are user-visible product names or provider names. Keep technical terms out of end-user sections when a plain description works.
Release notes should speak from the user's experience, not from the implementation. For fixes, write what the user saw, what workflow was blocked or degraded, and what now works. Do not describe internal causes such as lifecycle order, handler registration, IPC timing, stale stores, or runtime plumbing unless the term is part of the user-facing product. Critical fixes should be plain and concrete, not softened into vague polish.
If commit titles, diffs, tests, and surrounding files do not make the user-facing effect clear, do not invent one. Ask the user one concise question about what happened and how it affected users before drafting that bullet.
Good:
Avoid:
stage-ui chat action menu state."stage-pages."Create a provider section when provider changes exist. Keep it concise and grouped by capability. Prefer placing it under a product-facing parent when the release has multiple product surfaces, for example ### Product updates -> #### Local -> ##### New providers.
Example:
### Product updates
#### Local
##### New providers
- You can now use Amazon Bedrock as a chat provider.
- You can now use MiniMax Speech as a TTS provider.
- Artistry now supports image providers such as ComfyUI, Replicate, and Nano Banana.Put account, billing, credits, Flux, Stripe, paid TTS, and commercial usage changes together when they affect users. Use a cloud-related heading only when the release note itself makes the Cloud context understandable.
Prefer:
Avoid assuming AIRI Cloud is self-explanatory as a top-level section for every reader. When needed, split it into clearer subtopics such as Account, Billing, or Cloud TTS.
Do not create a broad self-hoster section for internal server details. Mention self-hosting only when there is a required action or externally visible deployment change.
Be clear, warm, and lightly playful. The notes may have personality, but the information must stay precise.
Do:
Do not:
When the user gives wording, grammar, structure, or tone feedback after a draft, ask whether to update this skill with the underlying rule.
Do not add narrow rules like "never write this exact sentence." Instead infer the durable reason:
Then propose a concise abstract rule and ask before editing the skill.
When the user asks for commit traceability, prefer Markdown footnotes over inline commit links. Put footnote markers next to the release-note bullet they support, then list the commit link and author attribution below the notes.
Use footnotes to preserve readable release prose while still declaring where each claim came from and who contributed it. Multiple commits may support one bullet; attach multiple footnotes to that bullet only when each commit adds distinct context.
Format:
- User-facing release note sentence.[^1]
[^1]: Commit [`abcdef123`](https://github.com/moeru-ai/airi/commit/abcdef123) by @contributor.Use GitHub handles from changelogithub, PR metadata, or commit metadata when available. If the commit author name differs from the GitHub handle and the handle is not known, use the available author name without inventing a handle.
Return Markdown unless the user asks for another format.
Example shape:
## vX.Y.Z Highlights
### Product updates
#### Account
- ...
#### Local
##### New providers
- ...
##### Experience improvements
- ...
#### Cloud
##### Billing
### To developers
- ...
### To contributors
- ...
### Upgrade notes
- ...This is an example, not a required template. Adjust section names and heading depth to match the actual release. Do not emit empty sections.
© moeru-ai, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 1 other file in .agents/skills/release-note-writer of moeru-ai/airi.
Open the folder on GitHubat commit 0327dc8
Release Note Writer 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 Note Writer this skillmoeru-ai/airi | 50k | — | ~2.3k | 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 | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Go-Redis Release Preparationredis/go-redis | 22k | — | ~1.1k | Automated safety check: Pass | BSD-2-Clause |
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.
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.
redis/go-redis
Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.
modem-dev/hunk
Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.
moeru-ai/airi
Write or rewrite technical text with the rules of ASD-STE100 Simplified Technical English so it is clear, unambiguous, and free of AI slop.
moeru-ai/airi
Review pending AIRI translations on Crowdin in a batch, then sync them into the repository.
moeru-ai/airi
Upload a local image or file to GitHub's user-attachments storage and return a URL suitable for issue, pull request, discussion, or comment Markdown.
moeru-ai/airi
Prepare and create an AIRI pull request with verifiable change context, architecture evidence, and required visual evidence.
moeru-ai/airi
Test AIRI display-model imports with agent-browser across stage-tamagotchi Electron, stage-web, and stage-pocket mobile web layouts.
moeru-ai/airi
A skill your agent uses when Codex needs to inspect, debug, or automate an Electron app through agent-browser and Chrome DevTools Protocol, especially when the app has multiple BrowserWindow…
Categories
Write grouped, user-friendly release notes from git history, changelogithub output, GitHub releases, PR lists, or raw commit logs. Release Note Writer is an agent skill from moeru-ai/airi. Write grouped, user-friendly release notes from git history, changelogithub output, GitHub releases, PR lists, or raw commit logs.
Release Note Writer fits situations like: Codex needs to turn technical changelogs into English-only release notes for AIRI; similar products; including end-user highlights; developer/API notes.
Run `npx skills add moeru-ai/airi --skill release-note-writer -a claude-code`. Or copy the skill folder (.agents/skills/release-note-writer in moeru-ai/airi) into .claude/skills/release-note-writer in your project. Claude Code loads it when a task matches its description.
Run `npx skills add moeru-ai/airi --skill release-note-writer -a codex`. Or copy the skill folder (.agents/skills/release-note-writer in moeru-ai/airi) into .agents/skills/release-note-writer 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 moeru-ai/airi --skill release-note-writer -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-note-writer, .gemini/skills/release-note-writer, .github/skills/release-note-writer and .opencode/skills/release-note-writer in your project.
Going by SKILL.md and its folder, Release Note Writer needs the command-line tools its instructions call (git and pnpm). Our summary lists: Docker.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Release Note Writer is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.3k tokens (SKILL.md is roughly 9.1k 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 Note Writer: Draft Release Notes (jamiepine/voicebox, 57k stars), Mole Release Notes Publisher (tw93/Mole, 70k stars), Release Bump (jamiepine/voicebox, 57k stars) and Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
moeru-ai (a GitHub organization) maintains it in moeru-ai/airi, which has 50,204 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 9, 2026.
Source: moeru-ai/airi on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.