Agent skill

Release Manager

by luongnv89 in luongnv89/skills

Manage software releases end-to-end: bump version, generate changelog, tag, push, GitHub release, publish to PyPI/npm.

MITAuto-check passedDevelopment

Install Release Manager

skills CLI
$ npx skills add luongnv89/skills --skill release-manager -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install luongnv89/skills release-manager --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/luongnv89/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/release-manager .claude/skills/release-manager && rm -rf skills-src

Use ~/.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/

Facts

Skill name
release-manager
GitHub stars
131
Token cost
~2.6k tokens
SKILL.md length
1,158 words
Files
11 (incl. references)
Skills in repo
37
Repo updated
First seen
Licence
MIT

At a glance

Manage software releases end-to-end: bump version, generate changelog, tag, push, GitHub release, publish to PyPI/npm.

  • Works in 6 steps: Pre-flight Checks (inline) → Determine Version (inline) → Build (inline) → …
  • Routine commits
  • SKILL.md covers Architecture (summary), Overview, Prerequisites and Repo Sync Before Edits…, plus 14 more sections
  • Calls git, gh and pip; reaches github.com and pypi.org

What it does

Release Manager is an agent skill from luongnv89/skills. Manage software releases end-to-end: bump version, generate changelog, tag, push, GitHub release, publish to PyPI/npm. Use when asked to ship, cut a release, or tag a version. Don't use for routine commits or marketplace publishing.

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files (for example `agents/changelog-generator.md`, `agents/docs-updater.md` and `agents/landing-page-updater.md`).

It sits in Development, covering Changelog and release notes. It works with GitHub, npm and Git. The repository describes itself as: Supercharge your AI agents/bots with reusable skills. The licence is MIT.

When your agent uses it

  • Routine commits
  • Marketplace publishing

Example prompts

  • “/release-manager”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Pre-flight Checks (inline)
  2. Determine Version (inline)
  3. Build (inline)
  4. Commit, Tag, Push (inline)
  5. GitHub Release (inline)
  6. Publish to Package Registries (inline)

What it can do on your machine

Read from SKILL.md and the folder at commit 891c720. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Shell commands in SKILL.md call:

    • git
    • gh
    • pip
    • npm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com
    • pypi.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Release Manager loads about 2.6k tokens when it runs, and up to ~6.7k if it reads all its reference files. Until then it costs about 62 tokens; SKILL.md has 1,158 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~62
When it runs · the whole SKILL.md, loaded when a task matches
~2.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.7k

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.

Safety

Auto-check passed

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.

SKILL.md

The full file from luongnv89/skills at commit 891c720, republished under its MIT licence (© luongnv89). 1,158 words, ~2,635 tokens.

Download SKILL.mdSave it as .claude/skills/release-manager/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
release-manager
description
Manage software releases end-to-end: bump version, generate changelog, tag, push, GitHub release, publish to PyPI/npm. Use when asked to ship, cut a release, or tag a version. Don't use for routine commits or marketplace publishing.
license
MIT
effort
max
metadata.version
2.7.1
metadata.author
Luong NGUYEN <luongnv89@gmail.com>

Release Manager

Automate the entire release lifecycle: version bump, changelog, README update, documentation sync, build, git tag, GitHub release, and publishing to PyPI/npm.

Architecture (summary)

The main agent orchestrates; Steps 3-6 run as parallel subagents to keep context clean (diagram and spawn details: references/orchestration.md). Without the Agent tool, run the same logic inline.

Overview

Run these steps in order, confirming with the user before changes. Step 1 can short-circuit the rest: if the project ships a release tool (.changeset, .releaserc, semantic-release, lerna.json), defer to it.

  1. Pre-flight checks — clean working tree, synced with remote
  2. Determine version — analyze changes, suggest semver bump
  3. Bump version numbers — (subagent) scan and propose version changes
  4. Generate changelog / release notes — (subagent) from git history and PRs
  5. Update README — (subagent, combined with docs) version badges, changelog entries
  6. Update documentation — (subagent) sync all project docs 6b. Update landing page — (subagent, parallel with 3-6) refresh version, install CTA, and "What's New" when a landing page exists; otherwise a no-op
  7. Build — run the project's build step if one exists
  8. Commit, tag, push — create the release commit and tag
  9. GitHub Release — publish on GitHub with release notes
  10. Publish to registries — publish to PyPI and/or npm

Prerequisites

  • Clean working tree (or user-approved stash)
  • Local branch synced with origin (Repo Sync below)
  • For publishing: PyPI/npm credentials configured; for GitHub release: gh CLI authenticated

Repo Sync Before Edits (mandatory)

Before creating, updating, or deleting files, sync the current branch with the remote. If the working tree is not clean, run git stash push -u -m "pre-sync" first and git stash pop after:

bash
branch="$(git rev-parse --abbrev-ref HEAD)"
git fetch origin && git pull --rebase origin "$branch"

If origin is missing, pull is unavailable, or rebase/stash conflicts occur, stop and ask the user before continuing.


Step 1: Pre-flight Checks (inline)

Verify the repo is in a clean state:

bash
git status --porcelain
git rev-parse --abbrev-ref HEAD
git fetch origin
git status -sb
  1. If git status --porcelain prints anything, ask the user whether to stash, commit, or abort. Never silently discard work.
  2. If git status -sb shows the branch behind or diverged from origin, run the Repo Sync above before Step 2.
Check for existing release tools
bash
ls -d .releaserc* .changeset .versionrc* lerna.json release.config.* 2>/dev/null
grep -E '"(release|semantic-release|release-it|@changesets/cli|standard-version)"[[:space:]]*:' package.json 2>/dev/null

The grep matches a scripts.release entry or a release-tool dependency, never the "version" field.

  • If either command prints a match, tell the user: "This project uses <tool>. I'll run its release command instead of manual steps." Ask for confirmation, then defer to that tool and skip Steps 2-10.
  • If neither prints a match, or the user declines, continue to Step 2.

Step 2: Determine Version (inline)

Analyze changes since the last tag:

bash
git tag --sort=-creatordate | head -10
last_tag="$(git describe --tags --abbrev=0 2>/dev/null)"
if [ -n "$last_tag" ]; then git log "$last_tag"..HEAD --oneline --no-merges; else git log --oneline --no-merges -n 100; fi

Recommend a bump using conventional commits:

  • MAJOR — any BREAKING: or !: commits
  • MINOR — any feat: (no breaking)
  • PATCH — only fix:, docs:, chore:, refactor:, etc.

Present: "Based on N features, M fixes, K breaking changes since vX.Y.Z, I recommend vA.B.C. Confirm or override?" When in doubt, lean MINOR over PATCH. Do not start Step 3 until the user confirms a version.


Steps 3-6: Parallel Subagent Execution

Once the user confirms the version, spawn version-bumper, changelog-generator, docs-updater, and landing-page-updater in the same turn. landing-page-updater leaves raw version strings to version-bumper, so those two never edit the same line. Then optionally spawn release-reviewer, which also flags cross-agent collisions. Apply changes only after the user confirms the consolidated summary. Workspace setup, spawn parameters, and apply order: references/orchestration.md.


Step 7: Build (inline)

Detect the build command:

bash
[ -f package.json ] && grep -q '"build"' package.json && echo "npm run build"
[ -f Makefile ] && grep -q '^build:' Makefile && echo "make build"
[ -f Cargo.toml ] && echo "cargo build --release"
[ -f pyproject.toml ] && echo "python -m build"

Ask the user before running. If the build fails, stop and help debug — never continue with a broken build. If no build step exists, skip and tell the user.


Step 8: Commit, Tag, Push (inline)

Stage changed files (version bumps, changelog, README, docs) and commit:

bash
git add <specific files that were changed>
git commit -m "chore(release): vX.Y.Z"
git tag -a vX.Y.Z -m "Release vX.Y.Z"

Ask: "Push <branch> and tag vX.Y.Z to origin?" If the user declines, stop and report PARTIAL — tag vX.Y.Z created locally, not pushed. If the user confirms, push and verify:

bash
git push origin <branch>
git push origin vX.Y.Z
git ls-remote --tags origin "refs/tags/vX.Y.Z"

If git ls-remote prints nothing, stop, skip Steps 9-10, report BLOCKED — tag vX.Y.Z not on origin (recovery: references/final-report.md).


Step 9: GitHub Release (inline)

If gh auth status fails or the remote is not on GitHub, skip this step and give the user the command below.

Ask: "Create GitHub release vX.Y.Z with the generated notes?" If the user declines, list it under Decision in the final report. If the user confirms, run:

bash
gh release create vX.Y.Z \
  --title "vX.Y.Z" \
  --notes-file "$WORKSPACE/changelog-generator/release-notes.md" \
  --latest

For a pre-release version (one containing -, such as 2.0.0-rc.1), replace --latest with --prerelease. Append artifact paths (.tar.gz, .zip, binaries, .skill files) at the end of the command if any exist. Share the release URL with the user.


Show full SKILL.md (430 more words)Show less

Step 10: Publish to Package Registries (inline)

If the project publishes to PyPI and/or npm, read references/publishing.md for the full workflow (pre-requisites, build, verify, upload, post-publish verification).


Expected Output

Every run, including one that stops early, ends with the final report: Result: with COMPLETE, PARTIAL — <reason>, or BLOCKED — <reason>, then Evidence: (checks that ran), Uncertainty: (not verified), and Decision: (pending user action, or "No approval needed"). Status rules and a PARTIAL example: references/final-report.md.

Result: COMPLETE — v2.4.0 released

Evidence:
- Version bumped: pyproject.toml, package.json (1.3.1 → 2.4.0)
- Git tag: v2.4.0 (annotated) pushed to origin (confirmed by git ls-remote)
- GitHub release: https://github.com/owner/repo/releases/tag/v2.4.0
- Published: PyPI — https://pypi.org/project/mypackage/2.4.0/ (PyPI JSON API returned the version)

Uncertainty:
- A clean install was not tested (pip install mypackage==2.4.0)

Decision: No approval needed.

Edge Cases

  • No conventional commits — show the raw commit list and ask the user to choose the semver bump.
  • No previous tag — git describe --tags fails. Treat this as the first release: show the recent commits, propose the version from the project's version file, and ask the user to confirm it.
  • No remote configured — git remote returns nothing. Skip push and GitHub release; offer a local tag only, and report PARTIAL — no remote.
  • Already published version — target version exists on PyPI/npm (detected via pip index versions or npm view). Abort the publish step and ask whether to bump again or skip publishing.
  • Build artifacts missing — for projects requiring built artifacts, refuse to publish until Step 7 succeeds.

Acceptance Criteria

  • Version string is bumped consistently in all detected files (e.g., pyproject.toml, package.json, __version__)
  • CHANGELOG.md has a new entry for the release version
  • Annotated git tag created and pushed to origin
  • GitHub release created with notes when gh is available
  • User is asked to confirm before each destructive or visible action (push, publish, GitHub release)
  • Post-release checklist is presented after completion
  • The final report passes the reader checks in references/final-report.md: result findable first, facts separated from assumptions, claims traceable to evidence, next decision named. Without reviewer feedback, human understanding stays unconfirmed

Step Completion Reports

After each major step, output a status report (√ pass, × fail, a Criteria line, and Result: PASS | FAIL | PARTIAL). The template and per-step variants live in references/step-reports.md.

Post-Release Checklist

Present the checklist in references/final-report.md after the final report.

Tips

  • For monorepos, handle each package's version independently
  • Respect the existing CHANGELOG format — only add the new entry, don't reformat
  • If a release goes wrong mid-way, help the user roll back (delete the tag locally and remotely, revert the commit). Ask before each rollback command: both change shared history. A version already published to PyPI or npm cannot be reused; the fix is a new version

Reference files

  • references/orchestration.md — Architecture, repo-sync rules, parallel subagent workflow
  • references/step-reports.md — Full step-completion report templates
  • references/publishing.md — PyPI / npm publishing workflow
  • references/final-report.md — Final report status rules, examples, reader checks, post-release checklist
  • agents/ — Subagent prompts: version-bumper, changelog-generator, docs-updater, landing-page-updater (skips if no landing page), release-reviewer

© luongnv89, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (references) in skills/release-manager of luongnv89/skills.

  • SKILL.md
  • agents/changelog-generator.md
  • agents/docs-updater.md
  • agents/landing-page-updater.md
  • agents/release-reviewer.md
  • agents/version-bumper.md
  • docs/README.md
  • references/final-report.md
  • references/orchestration.md
  • references/publishing.md
  • references/step-reports.md

Open the folder on GitHubat commit 891c720

Compare with similar skills

Release Manager 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.

Release Manager compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release Manager this skillluongnv89/skills131—~2.6kAutomated safety check: PassMIT
Verdaccio Pull Request Workflowverdaccio/verdaccio18k—~1.9kAutomated safety check: PassMIT
Hunk Release Workflowmodem-dev/hunk9.6k—~3.8kAutomated safety check: PassMIT
ZCF Release AutomationUfoMiao/zcf6.1k—~3.4kAutomated safety check: PassMIT
ClawRouter Release ChecklistBlockRunAI/ClawRouter6.6k—~1.4kAutomated safety check: PassMIT
Release Clawpatchopenclaw/clawpatch813—~1.1kAutomated safety check: PassMIT

Similar skills

  • 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.

    18k GitHub stars~1.9k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Hunk Release Workflow

    modem-dev/hunk

    Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.

    9.6k GitHub stars~3.8k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.

    6.1k GitHub stars~3.4k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed
  • ClawRouter Release Checklist

    BlockRunAI/ClawRouter

    Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.

    6.6k GitHub stars~1.4k tokensUpdated 4 days ago
    DevelopmentAuto-check passed
  • Release Clawpatch

    openclaw/clawpatch

    clawpatch release: version/changelog, CI, npm publish, GitHub release, verify.

    813 GitHub stars~1.1k tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • Release

    OvenMediaLabs/OvenPlayer

    Release ovenplayer to npm — confirm the version, verify the committed dist/ bundle is current, write the release notes, and open a draft GitHub Release for the user to publish.

    592 GitHub stars~1.3k tokensUpdated 26 days ago
    DevelopmentAuto-check passed

More from luongnv89/skills

All 37 skills in this repo
  • Dont Make Me Think

    luongnv89/skills

    Review UI usability using Steve Krug's principles and produce a scannable report.

    131 GitHub stars~2.5k tokensUpdated today
    Auto-check passed
  • Herdr Agent

    luongnv89/skills

    Manage AI agent fleets in Herdr: tile root + sub-agents in one tab, start/prompt/wait/read/monitor via the herdr agent CLI, steer any pane; help lists every operation.

    131 GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Ollama Optimizer

    luongnv89/skills

    Optimize Ollama configuration for the current machine's hardware.

    131 GitHub stars~4.1k tokensUpdated today
    Auto-check: notes
  • Security Setup

    luongnv89/skills

    Install local-first security hardening: pre-commit secret detection, offline dependency scans, static analysis, reports, and gated free CI.

    131 GitHub stars~4.5k tokensUpdated today
    Auto-check passed
  • SEO AI Optimizer

    luongnv89/skills

    Audit and optimize websites for technical SEO, content SEO, and AI bot accessibility.

    131 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Tasks Generator

    luongnv89/skills

    Generate sprint-based development tasks from a PRD. An agent skill from luongnv89/skills.

    131 GitHub stars~3.8k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Release Manager

What does Release Manager do?

Manage software releases end-to-end: bump version, generate changelog, tag, push, GitHub release, publish to PyPI/npm. Release Manager is an agent skill from luongnv89/skills. Manage software releases end-to-end: bump version, generate changelog, tag, push, GitHub release, publish to PyPI/npm.

When should I use Release Manager?

Release Manager fits situations like: routine commits; marketplace publishing.

How do I install Release Manager in Claude Code?

Run `npx skills add luongnv89/skills --skill release-manager -a claude-code`. Or copy the skill folder (skills/release-manager in luongnv89/skills) into .claude/skills/release-manager in your project. Claude Code loads it when a task matches its description.

How do I install Release Manager in Codex?

Run `npx skills add luongnv89/skills --skill release-manager -a codex`. Or copy the skill folder (skills/release-manager in luongnv89/skills) into .agents/skills/release-manager in your project. Codex loads it when a task matches its description.

Can I use Release Manager in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add luongnv89/skills --skill release-manager -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-manager, .gemini/skills/release-manager, .github/skills/release-manager and .opencode/skills/release-manager in your project.

What does Release Manager need to run?

Going by SKILL.md and its folder, Release Manager needs the command-line tools its instructions call (git, gh, pip and npm). Our summary lists: Python 3.

Does Release Manager access the network?

SKILL.md names 2 domains. In commands or code: github.com and pypi.org; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Release Manager safe to install?

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.

What licence does Release Manager use?

Release Manager is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release Manager use?

About 2.6k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4k tokens, read only when the agent opens those files.

What are the alternatives to Release Manager?

Skills that share tags, products or a category with Release Manager: Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars), Hunk Release Workflow (modem-dev/hunk, 9.6k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars) and ClawRouter Release Checklist (BlockRunAI/ClawRouter, 6.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release Manager?

luongnv89 (a GitHub user) maintains it in luongnv89/skills, which has 131 GitHub stars. The repository holds 37 skills in this directory. The repository was last updated on October 9, 2026.

Source: luongnv89/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.