Agent skill

Release

by ziggy42 in ziggy42/epsilon

A skill your agent uses when the user wants to cut a new release.

Apache-2.0Auto-check passedDevelopment

Install Release

skills CLI
$ npx skills add ziggy42/epsilon --skill release -a claude-code

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

GitHub CLI
$ gh skill install ziggy42/epsilon release --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/ziggy42/epsilon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/release .claude/skills/release && 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
GitHub stars
439
Token cost
~1.1k tokens
SKILL.md length
594 words
Files
1
Skills in repo
3
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when the user wants to cut a new release.

  • Works in 4 steps: Preparation & Version Determination → Verification → Changelog Generation → …
  • The user wants to cut a new release
  • SKILL.md covers Overview and Procedure
  • Calls git and make

What it does

Release is an agent skill from ziggy42/epsilon. Use this skill when the user wants to cut a new release.

Its SKILL.md is about 1.1k 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. It works with WebAssembly, Go and Git. The repository describes itself as: A WASM virtual machine written in Go with 0 dependencies. The licence is Apache-2.0.

When your agent uses it

  • The user wants to cut a new release

Example prompts

  • “/release”

Workflow steps

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

  1. Preparation & Version Determination
  2. Verification
  3. Changelog Generation
  4. Execution

What it can do on your machine

Read from SKILL.md and the folder at commit 64a2225. 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
    • make

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

  • Network

    No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.

    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 loads about 1.1k tokens when it runs. Until then it costs about 16 tokens; SKILL.md has 594 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~16
When it runs · the whole SKILL.md, loaded when a task matches
~1.1k

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 ziggy42/epsilon at commit 64a2225, republished under its Apache-2.0 licence (© ziggy42). 594 words, ~1,125 tokens.

Download SKILL.mdSave it as .claude/skills/release/SKILL.md (or your agent's skills folder).
name
release
description
Use this skill when the user wants to cut a new release.

Release

Overview

This skill guides the agent through the process of cutting a new release for this project. It handles version determination, changelog generation, file updates, and git tagging.

Procedure

1. Preparation & Version Determination
  1. Check Branch: Run git branch --show-current. If the output is not main, stop and inform the user that releases must be cut from the main branch.
  2. Sync with Remote: Run git fetch origin main. Then verify local is up-to-date by running git rev-list HEAD..origin/main --count. If the count is non-zero, stop and inform the user that their local main is behind origin/main and they need to pull first.
  3. Check Working Tree: Run git status --porcelain.
    • CRITICAL: If the command produces ANY output (even for untracked files or documentation changes), you MUST ABORT IMMEDIATELY.
    • DO NOT attempt to analyze the changes.
    • DO NOT ask the user if they want to proceed.
    • STOP and inform the user: "Working tree is not clean. Please commit or stash changes before releasing."
  4. Check Current Version: Read epsilon/version.go to find the current version (e.g., "0.0.3").
  5. Determine Target Version:
    • User Provided: If the user specified a version, validate it. It must be semantically greater than the current version. If invalid, reject it and explain why.
    • Auto-Increment: If no version was provided, increment the patch level of the current version (e.g., 0.0.3 -> 0.0.4).
  6. Confirm: Briefly mention the plan to the user (e.g., "Preparing release for v0.0.4...").
2. Verification
  1. Build: Run make build-all (native + Darwin + Windows cross-compile). If any build fails, stop and report the error.
  2. Run Tests: Run make test. If tests fail, stop and report the errors.
  3. Compare Benchmarks: Find the previous release tag using git describe --tags --abbrev=0. Then run make bench-compare TARGET=. BASE=<last_tag> to compare performance against the last release. Present the results to the user and flag any significant regressions. NOTE: This process can take several minutes as it runs the full benchmark suite twice; ensure a reasonable timeout (e.g., 10m) is applied.
Show full SKILL.md (262 more words)Show less
3. Changelog Generation

Only proceed if verification passes.

  1. Identify Range: Find the previous release tag using git describe --tags --abbrev=0.

  2. Fetch Commits: Run git log --no-merges --pretty=format:"%h %s%n%b" <last_tag>..HEAD.

  3. Draft Content: Analyze the commit messages (subject and body) to create a new CHANGELOG entry.

    • Deep Inspection: Look at the commit body for additional context. Squashed PRs often include a detailed list of changes, bullet points, or rationale in the description. Use this to create a more informative summary.

    • Audience: The changelog is for end users. Focus on changes that affect how users interact with the project.

    • Style: Mimic the existing style in CHANGELOG.md.

    • Filtering: Include only changes that matter to users: new features, bug fixes, API changes. Exclude chores, typos, refactoring, CI tweaks, and internal tooling changes.

    • Grouping: Group by category if appropriate (e.g., API Changes, Performance, Fixes).

    • Breaking Changes: Explicitly highlight any breaking changes.

    • Format:

      markdown
      ## [Version] - YYYY-MM-DD
      
      - Description of change (#PR or commit hash if available).
      - ...
  4. Review: Present the drafted CHANGELOG entry to the user and ask for confirmation. Do not proceed without user approval.

4. Execution

Only proceed after User Confirmation of the changelog.

  1. Update CHANGELOG.md:
    • Read CHANGELOG.md.
    • Insert the new entry at the top of the changelog (after the header section).
    • Write the file.
  2. Update Version:
    • Update epsilon/version.go with the new version string.
  3. Commit & Tag:
    • Run git add CHANGELOG.md epsilon/version.go.
    • Run git commit -m "Release version <Version>".
    • Run git tag v<Version>.
  4. Push:
    • Run git push origin main --tags.
  5. Finalize:
    • Inform the user the release is committed, tagged, and pushed.

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

Files

Just SKILL.md in .agents/skills/release of ziggy42/epsilon.

Open the folder on GitHubat commit 64a2225

Compare with similar skills

Release 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 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Release this skillziggy42/epsilon439—~1.1kAutomated safety check: PassApache-2.0
Go-Redis Release Preparationredis/go-redis22k—~1.1kAutomated safety check: PassBSD-2-Clause
Code Reviewyaklang/yakit7.8k—~1.4kAutomated safety check: NotesAGPL-3.0
Create PRyaklang/yakit7.8k—~1.6kAutomated safety check: PassAGPL-3.0
Changesetwhitphx/stlite1.7k—~1.9kAutomated safety check: PassApache-2.0
Commit Msgyaklang/yakit7.8k—~559Automated safety check: PassAGPL-3.0

Similar skills

  • Official

    Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.

    22k GitHub stars~1.1k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Code Review

    yaklang/yakit

    对 Yakit 仓库的代码改动做规范化 code review:按代码逻辑、TS 定义、UI 引用与 Props、CSS 样式、依赖版本、配置项六个维度审查,检查测试用例缺失,强制执行 tsc 类型检查与 vitest 测试验证,输出「结果汇总 / 明细解释 / 合并结论」三块报告,经用户确认后写入文件。当用户要求 review、审查、评审代码改动,或在提交、合并、提 PR…

    7.8k GitHub stars~1.4k tokensUpdated 7 days ago
    DevelopmentAuto-check: notes
  • Create PR

    yaklang/yakit

    为 Yakit 仓库一站式完成提 PR 流程:提交工作区改动、调用 code-review skill 评审、推送远端后在 yaklang/yakit 创建或更新 PR。当用户要求提 PR、提交 PR、创建 PR、发 PR、raise/submit/open PR、"create PR"、更新已有 PR,或使用 /create-pr 时触发。

    7.8k GitHub stars~1.6k tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Changeset

    whitphx/stlite

    Create or update a changeset fragment (.changeset/.md) reflecting the changes made in the current session or branch.

    1.7k GitHub stars~1.9k tokensUpdated 12 days ago
    DevelopmentAuto-check passed
  • Commit Msg

    yaklang/yakit

    为 Yakit 仓库完成一次本地提交:确定提交范围(暂存区优先,空则弹框确认)、基于 diff 归纳一行符合仓库风格的 message、commit 前弹窗确认、执行 git commit(不推送)。只要 message 时仅输出文本。用户说「提交」「commit 代码」或输入 /commit-msg,或被 create-pr 等 skill 调用时使用。

    7.8k GitHub stars~559 tokensUpdated 7 days ago
    DevelopmentAuto-check passed
  • Release

    jrswab/axe

    Prepare code for release (version bumps, changelog, README updates) and create an annotated tag to trigger the GoReleaser workflow.

    895 GitHub stars~1.4k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from ziggy42/epsilon

  • Code Review

    ziggy42/epsilon

    A skill your agent uses when the user asks for a code review.

    439 GitHub stars~1.7k tokensUpdated 3 days ago
    Auto-check passed
  • Security Audit

    ziggy42/epsilon

    A skill your agent uses to perform a security-focused audit of the codebase to identify vulnerabilities, sandbox escapes, and logic flaws.

    439 GitHub stars~924 tokensUpdated 3 days ago
    Auto-check passed

Categories

Questions about Release

What does Release do?

A skill your agent uses when the user wants to cut a new release. Release is an agent skill from ziggy42/epsilon. Use this skill when the user wants to cut a new release.

When should I use Release?

Release fits situations like: the user wants to cut a new release.

How do I install Release in Claude Code?

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

How do I install Release in Codex?

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

Can I use Release 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 ziggy42/epsilon --skill release -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, .gemini/skills/release, .github/skills/release and .opencode/skills/release in your project.

What does Release need to run?

Going by SKILL.md and its folder, Release needs the command-line tools its instructions call (git and make).

Does Release access the network?

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.

Is Release 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 use?

Release is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Release use?

About 1.1k tokens (SKILL.md is roughly 4.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Release?

Skills that share tags, products or a category with Release: Go-Redis Release Preparation (redis/go-redis, 22k stars), Code Review (yaklang/yakit, 7.8k stars), Create PR (yaklang/yakit, 7.8k stars) and Changeset (whitphx/stlite, 1.7k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Release?

ziggy42 (a GitHub user) maintains it in ziggy42/epsilon, which has 439 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 4, 2026.

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