Git Release
wesammustafa/opencode-primer
Draft release notes from merged PRs, propose a semver bump, and emit a copy-pasteable gh release create command.
Write release notes for a tagged release — a business-impact summary of what changed for the user, plus a thanks section naming every contributor whose commits are in the release.
$ npx skills add no-human-ai/no_human --skill release-notes -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install no-human-ai/no_human 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/no-human-ai/no_human.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/no-human/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/no-human-ai/no_human/tree/main/plugins/no-human/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/no-human-ai/no_human/tree/main/plugins/no-human/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 no-human-ai/no_human --skill release-notes -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install no-human-ai/no_human release-notes --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/no-human-ai/no_human.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugins/no-human/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/no-human-ai/no_human/tree/main/plugins/no-human/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 no-human-ai/no_human --skill release-notes -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install no-human-ai/no_human release-notes --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/no-human-ai/no_human.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugins/no-human/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/no-human-ai/no_human/tree/main/plugins/no-human/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/no-human-ai/no_human.git --path plugins/no-human/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 no-human-ai/no_human --skill release-notes -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install no-human-ai/no_human release-notes --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/no-human-ai/no_human.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugins/no-human/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/no-human-ai/no_human/tree/main/plugins/no-human/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 no-human-ai/no_human 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 no-human-ai/no_human --skill release-notes -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/no-human-ai/no_human.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugins/no-human/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/no-human-ai/no_human/tree/main/plugins/no-human/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 no-human-ai/no_human --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 no-human-ai/no_human release-notes --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/no-human-ai/no_human.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugins/no-human/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/no-human-ai/no_human/tree/main/plugins/no-human/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-notesWrite release notes for a tagged release — a business-impact summary of what changed for the user, plus a thanks section naming every contributor whose commits are in the release.
Release Notes is an agent skill from no-human-ai/no_human. Write release notes for a tagged release — a business-impact summary of what changed for the user, plus a thanks section naming every contributor whose commits are in the release. Short by construction.
Its SKILL.md is about 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 Model Context Protocol and Git. The repository describes itself as: From ticket to reviewed pull request. Free and open-source, on your machine. The licence is MIT.
4 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit cdcbd0a. 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:
gitghFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git and gh, 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 Notes loads about 2k tokens when it runs. Until then it costs about 54 tokens; SKILL.md has 1,130 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 no-human-ai/no_human at commit cdcbd0a, republished under its MIT licence (© no-human-ai). 1,130 words, ~1,955 tokens.
.claude/skills/release-notes/SKILL.md (or your agent's skills folder).Turn one release (a tag, or a range of commits) into notes a reader skims in under a minute: what the release does for them, stated as impact, and a thank- you to everyone whose work is in it. Not a changelog, not a commit list.
Three rules, in priority order:
Never write from memory or from a PR list. Read the real commits.
git tag --sort=-creatordate | head.git log <prev-tag>..<this-tag> --format='%h %an%x09%s'.
(If there is no tag yet, use <prev-tag>..HEAD and say so.)git rev-parse <tag>), and that the range is
non-empty. An empty range means the wrong tags — stop and fix it.Read every subject line. Cluster them by what the user gets. A cluster of five commits that together fix one thing is ONE bullet about that thing.
For each cluster, write one line of impact. Constraints:
The contributors are the distinct authors of the commits in the range — the AUTHOR, never the committer (many projects normalise the committer to one maintainer identity, so the committer tells you nothing about who wrote it).
git log <prev-tag>..<this-tag> --format='%H%x09%an%x09%ae'.103962359+L4XB@users.noreply.github.com happens to embed the
login, but a personal address like rahulpamula123@gmail.com embeds nothing,
and the login is not the display name (author Rahul-pamula with that email
is handle Rahul-pamula, whose CLA ledger file is rahul-pamula.md — a dash
and a case the email never shows). Get the login from the forge instead:
gh api repos/<owner>/<repo>/commits/<sha> --jq '.author.login' per commit
(or .commit.author cross-checked against the PR that landed it). That is
the handle; the email is only a hint you must confirm.%an/%ae
and the commits API each return exactly ONE author per commit; a
Co-authored-by: trailer (used for pairing, and by some squash-merges to
credit a second person) is invisible to both. Read them explicitly:
git log <prev-tag>..<this-tag> --format='%(trailers:key=Co-authored-by,valueonly)',
which yields Name <email> lines. Resolve each to a handle the same way as a
primary author (by the ledger, or a forge lookup on the email) and add it to
the set. Do not skip this because "we don't use trailers" — verify it on the
range; a single co-authored commit crediting an external is a name you would
otherwise drop.dependabot[bot],
github-actions[bot], and the maintainer's own login) from the combined set
of primary authors and co-authors. What remains is the external contributors.Prince Panchani and
PrinceXDev are one person, handle PrinceXDev. Collapse by resolved
handle, not by email or name, so each person is thanked exactly once.contributors/<handle>.md — the filename
IS the handle, lowercased), confirm each resolved handle has a matching
ledger file and print it in the ledger's spelling. The CLA gate guarantees
every external author has a ledger entry, so a resolved author with no ledger
match means your handle resolution is wrong (you parsed the email, or missed
a dash/case), not that they are unlisted — re-resolve that author's handle
(list item 2 above), do not drop them.
Without a ledger, and when a commit's .author.login comes back null (the
commit email is tied to no GitHub account), resolve the person by the
Name <email> from git show -s --format='%an <%ae>' and, if you still
cannot get a handle, name them by that display name rather than dropping
them — a missing contributor is worse than an un-linked one.%ae set you thanked from — a
count built from the query that already dropped the co-authors and the
null-logins will "confirm" a list that is missing exactly them. Recompute
each input set independently and compare.Write the section as a plain thank-you naming each @handle, separated so it
scans (e.g. ·-joined on one line, or a short list). One sentence of context is
enough; do not explain the contribution model at length.
<product> <version> — <platforms in one clause>.
<one or two lines: the headline of the release, as impact.>
## Fixed / Added / Changed (only the sections you actually have)
**<impact, bold lead>.** <one or two sentences, plain.>
…
## <Signing / install, if the release changes it, stated plainly>
## Thanks
<one sentence>, then: @handle · @handle · @handle© no-human-ai, 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 plugins/no-human/skills/release-notes of no-human-ai/no_human.
Open the folder on GitHubat commit cdcbd0a
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 skillno-human-ai/no_human | 324 | — | ~2k | Automated safety check: Pass | MIT | |
| Git Releasewesammustafa/opencode-primer | 399 | — | ~409 | Automated safety check: Pass | MIT | |
| Changelogratel-ai/ratel | 471 | — | ~1.6k | Automated safety check: Pass | MIT | |
| Release Crater3bl-org/r3bl-open-core | 485 | — | ~2.4k | Automated safety check: Pass | Apache-2.0 | |
| Release Managementtermide/termide | 171 | — | ~6.8k | Automated safety check: Pass | MIT | |
| Release Changelog HarnessArenukvern/mcp_flutter | 387 | — | ~2.6k | Automated safety check: Pass | MIT |
wesammustafa/opencode-primer
Draft release notes from merged PRs, propose a semver bump, and emit a copy-pasteable gh release create command.
ratel-ai/ratel
Update per-package CHANGELOG.md files for a Ratel release. An agent skill from ratel-ai/ratel.
r3bl-org/r3bl-open-core
Publish a crate release to crates.io with changelog, standalone release notes, git tag, and GitHub release.
termide/termide
Prepare and publish a project release with version updates, changelog generation, tagging, and validation
Arenukvern/mcp_flutter
Chooses ecosystem-native release and changelog tooling (Changesets, Melos, release-plz) plus binary distribution (GitHub Release tarballs, install.sh) when the product is an executable.
enuno/unifi-mcp-server
Prepare a new release with version bump, changelog, and quality checks
no-human-ai/no_human
File work into nohuman (taskadd) and check on it (taskstatus) via the nohuman MCP bridge, instead of doing the work inline.
no-human-ai/no_human
Run the nohuman review gate (fresh-session adversarial reviewer + tamper guard) over the current branch or a GitHub pull request, with no server, no database, and no onboarding, and relay the…
Works with
Categories
Write release notes for a tagged release — a business-impact summary of what changed for the user, plus a thanks section naming every contributor whose commits are in the release. Release Notes is an agent skill from no-human-ai/no_human. Write release notes for a tagged release — a business-impact summary of what changed for the user, plus a thanks section naming every contributor whose commits are in the release.
Release Notes fits situations like: tasks that involve Changelog and release notes.
Run `npx skills add no-human-ai/no_human --skill release-notes -a claude-code`. Or copy the skill folder (plugins/no-human/skills/release-notes in no-human-ai/no_human) into .claude/skills/release-notes in your project. Claude Code loads it when a task matches its description.
Run `npx skills add no-human-ai/no_human --skill release-notes -a codex`. Or copy the skill folder (plugins/no-human/skills/release-notes in no-human-ai/no_human) 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 no-human-ai/no_human --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).
SKILL.md contains no URLs. Its commands use git and gh, 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 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 2k tokens (SKILL.md is roughly 7.8k 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: Git Release (wesammustafa/opencode-primer, 399 stars), Changelog (ratel-ai/ratel, 471 stars), Release Crate (r3bl-org/r3bl-open-core, 485 stars) and Release Management (termide/termide, 171 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
no-human-ai (a GitHub organization) maintains it in no-human-ai/no_human, which has 324 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 9, 2026.
Source: no-human-ai/no_human on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.