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.
npx skills add sundegan/agent-skills --skill release-versiongit clone --depth 1 https://github.com/sundegan/agent-skillsWrote 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.
[](https://agentmods.dev/skills/sundegan/agent-skills/release-version)<a href="https://agentmods.dev/skills/sundegan/agent-skills/release-version"><img src="https://agentmods.dev/badge/skills/sundegan/agent-skills/release-version.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00097 | $0.02280 |
| Opus 5 | $0.00048 | $0.01140 |
| Sonnet 5 | $0.00019 | $0.00456 |
| Haiku 4.5 | $0.00010 | $0.00228 |
Grade A, and why
release-version 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 8d 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.
How it starts
The opening of the file, as written. The whole thing — 120 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Release Version
Goal
Release the current project according to its own conventions. First infer and summarize the repository's release process, then update version metadata and release notes, create the release commit and tag, push the commit and tag, verify GitHub Actions, update the GitHub Release description with this release's changelog content, and update the repository owner's Homebrew tap when present so Homebrew installs the new version.
Safety Rules
- Treat release work as high impact. Do not publish, push, tag, or edit a GitHub Release until the intended version, branch, remote, and release flow are clear.
- Prefer the repository's documented release process over this generic workflow.
- Do not overwrite existing tags or releases unless the user explicitly asks and the risk is understood.
- Do not force-push release branches or tags.
- Stop and ask if the version number, release branch, package registry, or release target is ambiguous.
- Keep unrelated working-tree changes out of the release commit.
- Treat a Homebrew tap update as part of the release when the repository exists. Do not report the release as fully complete until the tap is updated and verified, or a concrete blocker is reported.
- Do not guess release asset URLs, Formula/Cask names, archive formats, platform mappings, or checksums. Derive them from the published release and the existing tap definition.
- Do not update a tap before the GitHub Release and required assets are available. Never commit placeholder or stale checksums.
- Keep unrelated changes in the tap worktree out of the tap update commit.
Workflow
- Determine repository and release target:
- Run
git rev-parse --show-toplevel,git status --short,git branch --show-current, andgit remote -v. - Identify the intended release version from the user's request, existing version files, tags, or project docs.
- Confirm the working tree contains only intended release changes or isolate unrelated changes.
- Run
- Discover the project release process:
- Read files such as
README*,CONTRIBUTING*,RELEASE*,CHANGELOG*, package manager manifests, CI configs,.github/workflows/*, Makefiles, scripts, and project docs. - Search for release scripts and version commands in
package.json,pyproject.toml,Cargo.toml,go.mod, Gradle/Maven files, Makefiles, shell scripts, and CI workflows. - Inspect recent release commits and tags with
git tag --sort=-creatordate,git log --decorate --oneline, andgit show <recent-release-tag>when useful. - Summarize the inferred release flow before executing irreversible operations.
- Read files such as
- Choose the version bump:
- Follow the user's requested version when provided.
- Otherwise infer the next SemVer version from changelog content, Conventional Commits, or repository policy.
- Check whether the tag format is
vX.Y.Z,X.Y.Z, package-specific, or project-specific.
- Update version metadata:
- Modify every authoritative version location required by the project, such as package manifests, lockfiles, language-specific metadata, docs, CLI constants, or generated version files.
- Use the repository's versioning command when available, such as
npm version --no-git-tag-version,poetry version,cargo set-version, Maven/Gradle release tasks, or project scripts. - Inspect resulting diffs to ensure only intended version changes were made.
- Update changelog and release notes:
- Generate or update changelog content for the release using the repository's changelog format.
- If an
update-changelogskill is available and the user request requires changelog generation, use it for the changelog step. - Ensure the GitHub Release notes include this release's changelog content, not just an empty tag or autogenerated placeholder.
- Preserve existing Chinese, English, or bilingual release-note style when present.
- Verify before publishing:
- Run the project's release-required tests, type checks, builds, changelog checks, and packaging checks discovered from docs or CI.
- If the repository has unit tests, run the relevant or full suite required for release.
- If the repository has release, packaging, or smoke-test commands, run them before tagging.
- Do not create the tag until local verification passes or the user explicitly accepts the skipped checks.
- Commit release changes:
- Stage only release-related files.
- Use a Conventional Commits message such as
chore(release): prepare vX.Y.Z. - Inspect
git diff --cachedbefore committing.
- Create the tag:
- Use the repository's existing tag style.
- Prefer an annotated tag for release tags unless the repository convention uses lightweight tags.
- Include a concise tag message such as
Release vX.Y.Z. - Verify the tag points to the intended release commit.
- Push commit and tag:
- Push the release branch to the correct remote.
- Push the new tag explicitly.
- Verify the remote branch and tag exist after push.
- Check GitHub Actions:
- Use
gh run list,gh run watch,gh run view, or the repository's GitHub Actions page to find workflows triggered by the release commit or tag. - Wait for relevant release/build workflows to finish when practical.
- If a workflow fails, inspect logs, summarize the failure, and fix it when in scope before re-running or re-pushing.
- Create or update the GitHub Release:
- Use the repository's normal release automation when available.
- Otherwise use
gh release createorgh release editfor the new tag. - Put the changelog content for this version into the release notes.
- Mark prereleases or drafts according to the version and project convention.
- Verify the final GitHub Release URL and notes.
- Discover and update the Homebrew tap:
- After the GitHub Release and its required assets are published, use
gh repo view --json owner,nameWithOwnerto determine the source repository owner. - Check for
<owner>/homebrew-tapwithgh repo view <owner>/homebrew-tap. Also inspect the source repository's release workflows, documentation, and scripts for an explicitly configured tap repository; use that repository when it differs from the owner default. - If no tap repository exists and none is configured, record that Homebrew maintenance was skipped because there is no tap. Do not create a new tap unless the user explicitly requests it.
- If the tap exists, inspect its
README*,.github/workflows/*,Formula/,Casks/, scripts, recent commits, and contribution instructions before editing. Determine whether source-repository automation is expected to update the tap. - If release automation updates the tap, wait for it to finish and verify the resulting Formula/Cask. Make a manual update only when automation is absent, failed, or did not produce the correct version.
- Clone or reuse a clean tap worktree without disturbing unrelated local changes. Locate the Formula or Cask associated with the released project from existing names, URLs, descriptions, and tap documentation; do not assume it matches the source repository name.
- Update every version-dependent field required by the existing definition, including
version, release asset or source URLs, platform/architecture mappings, and SHA-256 checksums. Preserve the tap's existing Ruby style and installation strategy. - Obtain URLs and assets from the published GitHub Release. Download each referenced artifact and compute its checksum locally with
sha256sumorshasum -a 256; do not copy an unverified checksum from logs or use a checksum for a redirect/error response. - Inspect the tap diff and ensure it changes only files required for this release. Run the tap's documented checks plus applicable Homebrew checks such as
brew style,brew audit --strict, orbrew audit --caskfor the changed definition. - Commit the tap update using its established convention, otherwise use
chore: update <formula-or-cask> to <version>. Push to the tap's normal default branch without force-pushing. - Derive the Homebrew tap name from the selected repository (
<tap-owner>/homebrew-<tap-name>becomes<tap-owner>/<tap-name>). Verify the pushed definition through GitHub, then refresh it locally withbrew updateorbrew tap --force-auto-update <tap-owner>/<tap-name>. - Prove the public installation path resolves to the new release. Run the documented
brew installorbrew upgradecommand when it is safe in the current environment, followed by the installed command's version check. At minimum, usebrew infoandbrew fetchto verify the published definition and artifacts when installation would be destructive or unsupported. - Confirm the reported or installed version equals the released version. Treat stale tap metadata, checksum mismatches, unavailable assets, failed tap CI, or an older installed version as release blockers to investigate and fix when in scope.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 8d ago First seen · 120 lines · 97 tokens per session scan A 483d6bc02f07
release-version is a skill published in the GitHub repository sundegan/agent-skills (2 stars, last pushed 1mo ago), licensed MIT. It adds 97 tokens to every session and 2,280 once invoked, about $0.0005 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-31.
Other skills, from other repositories
release-announcement
Write a release announcement — changelog, blog post, in-app note, or social post — that leads with user impact, names the audience, and includes upgrade/migration steps without filler.
multi-agent-release-manager
Cleans up the workspace, formats code, runs presubmit checks, and uploads CLs to Gerrit.
release-notes
Generate user-facing release notes from tickets, PRDs, or changelogs. Creates clear, engaging summaries organized by category (new features, improvements, fixes). Use when writing release notes, creating changelogs, announcing product updates, or summarizing what shipped.
pack-submit
Package one of this agent's own skills as a standalone community pack and submit it to the aeon registry as a PR.
changelog-composer
Generates structured changelogs and release notes from git history and PRs, classifying breaking changes, features, fixes, performance, docs. Triggers on: "generate changelog", "write release notes", "what changed since", "prepare release", "release notes for", "diff since tag".
updater_guide
Guidance for checking for and installing Row-Bot updates.