Agent skill

Helmor Release

by dohooo in dohooo/helmor

Prepare Helmor releases by inspecting the current branch, drafting a concise user-facing Changesets entry first (bump + body — keep it as short as possible), creating any needed pending in-app…

Apache-2.0Auto-check: warningsDevelopment

Install Helmor Release

The automated check flagged lines worth reading first. See the safety section below.

skills CLI
$ npx skills add dohooo/helmor --skill helmor-release -a claude-code

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

GitHub CLI
$ gh skill install dohooo/helmor helmor-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/dohooo/helmor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/helmor-release .claude/skills/helmor-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
helmor-release
GitHub stars
1.3k
Token cost
~2.6k tokens
SKILL.md length
1,010 words
Files
3 (incl. scripts, references)
Skills in repo
5
Repo updated
First seen
Licence
Apache-2.0

At a glance

Prepare Helmor releases by inspecting the current branch, drafting a concise user-facing Changesets entry first (bump + body — keep it as short as possible), creating any needed pending in-app…

  • Works in 6 steps: Inspect the branch before asking the… → Run scripts/collect_release_context.py… → Draft the full changeset yourself,… → …
  • The user wants to cut a release
  • SKILL.md covers Workflow, Confirmation Style, Changeset Rules and Default Changeset Format, plus 4 more sections
  • Runs Python scripts from its folder; calls bun

What it does

Helmor Release is an agent skill from dohooo/helmor. Prepare Helmor releases by inspecting the current branch, drafting a concise user-facing Changesets entry first (bump + body — keep it as short as possible), creating any needed pending in-app release announcement under .announcements/, and then showing the user the result with a short menu of adjustments they can pick from. Use when the user wants to cut a release, write a changeset, decide patch/minor/major, draft GitHub release notes, create a release announcement, or summarize branch changes into…

Its SKILL.md is about 2.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files, including scripts and reference files (for example `references/release-format.md` and `scripts/collect_release_context.py`).

It sits in Development, covering Changelog and release notes. It works with GitHub. The repository describes itself as: Open-source local workbench for multi-agent software development. The licence is Apache-2.0.

When your agent uses it

  • The user wants to cut a release
  • Write a changeset
  • Decide patch/minor/major
  • Draft GitHub release notes

Example prompts

  • “/helmor-release”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Inspect the branch before asking the user anything.
  2. Run scripts/collect_release_context.py to gather
  3. Draft the full changeset yourself, without asking the user upfront. Decide
  4. Write the changeset to a single file under .changeset/ right away. Do not wait for approval before creating the file — the user will…
  5. Decide whether an in-app release announcement is warranted.
  6. Then, and only then, show the user what you created and offer the adjustment menu described in "Confirmation Style".

What it can do on your machine

Read from SKILL.md and the folder at commit a76cda1. 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

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • bun

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

  • Network

    No URLs in SKILL.md.

    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

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

Always · name and description, kept in context so the agent knows when to use it
~137
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
~3.5k

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: warnings

The automated check found patterns that need a careful read before installing.

  • WarningTells the agent its actions are pre-authorized / not to stop for confirmationSKILL.md:20
    3. Draft the full changeset yourself, without asking the user upfront. Decide:

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); the scripts in this folder are not scanned.

SKILL.md

The full file from dohooo/helmor at commit a76cda1, republished under its Apache-2.0 licence (© dohooo). 1,010 words, ~2,611 tokens.

Download SKILL.mdSave it as .claude/skills/helmor-release/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
helmor-release
description
Prepare Helmor releases by inspecting the current branch, drafting a concise user-facing Changesets entry first (bump + body — keep it as short as possible), creating any needed pending in-app release announcement under `.announcements/`, and then showing the user the result with a short menu of adjustments they can pick from. Use when the user wants to cut a release, write a changeset, decide patch/minor/major, draft GitHub release notes, create a release announcement, or summarize branch changes into release-ready language.

Helmor Release

Use this skill to turn a branch's real changes into release metadata for Helmor:

  • a clean .changeset/*.md entry
  • a pending .announcements/*.json fragment when the change deserves an in-app "New in vX" toast

Workflow

  1. Inspect the branch before asking the user anything.

  2. Run scripts/collect_release_context.py to gather:

    • commits since the base branch
    • changed files grouped by area
    • a short suggested summary
  3. Draft the full changeset yourself, without asking the user upfront. Decide:

    • the bump (patch / minor / major) using the Versioning Guidance below
    • the body shape — one prose sentence when one sentence is genuinely enough, or summary line + bullets when there are multiple distinct user-visible changes (see Default Changeset Format)
    • the actual prose / bullets

    Prefer a conservative bump (patch unless there is a clear new user-visible capability). If you genuinely cannot decide the bump from the diff alone, default to patch and flag it in the confirmation step.

    Brevity bias. Aim for the shortest sentence that names the user-visible change — if a clause can be dropped without losing meaning, drop it. Reserve summary+bullets for releases with ≥2 distinct user-visible items.

  4. Write the changeset to a single file under .changeset/ right away. Do not wait for approval before creating the file — the user will adjust from a real draft, not a hypothetical one.

  5. Decide whether an in-app release announcement is warranted.

    • Create one pending file under .announcements/ only for new user-visible features or workflow changes.
    • Skip bug fixes, internal refactors, routine performance work, and release plumbing unless users need to learn a new behavior.
    • Do not write an id or version. bun run release:version consumes all pending announcement files and merges them into one catalog entry for the final version.
  6. Then, and only then, show the user what you created and offer the adjustment menu described in "Confirmation Style".

Confirmation Style

Do not ask the user anything before the draft is written. Once the changeset file exists, report what you created and offer a short menu of adjustments.

Preferred pattern:

  1. State the file path you created.
  2. If you created a release announcement fragment, state that file path too.
  3. Echo back the chosen bump, the changeset body, and the announcement text if present.
  4. Present a numbered menu of the things the user might want to change. The user picks any subset (e.g. "1 and 3") or says nothing / "looks good" to accept. Never phrase this as an open question like "do you approve?".

Example (Shape A — single sentence):

text
I've written .changeset/brave-otters-smile.md:

  bump: patch
  body: Fix the context-usage ring resetting to zero when switching the active model.

If you want to adjust anything, tell me which:
  1. Version bump (currently: patch — say "make it minor" / "make it major")
  2. Rewrite the body
  3. Add or revise an in-app release announcement
  4. Expand into summary + bullets
  5. Add a thanks/credits line

Otherwise we're done — no reply needed.

Example (Shape B — multi-change):

text
I've written .changeset/brave-otters-smile.md:
I've also written .announcements/release-and-updates.json:

  bump:    minor
  summary: Ship a round of release and auto-update improvements:
  bullets:
    - Add in-app update checks that download updates in the background ...
    - Add a signed and notarized macOS release pipeline ...
    - Add release planning automation ...

If you want to adjust anything, tell me which:
  1. Version bump (currently: minor — say "make it patch" / "make it major")
  2. Summary line
  3. The bullet list (add / remove / rewrite specific items)
  4. In-app announcement text
  5. Collapse to a single sentence
  6. Add a thanks/credits line

Otherwise we're done — no reply needed.

If structured choice tools are unavailable, present the menu in plain text and let the user reply naturally.

Changeset Rules

Write changesets for users, not for maintainers.

Do:

  • explain what changed from the user's point of view, as briefly as possible
  • use one sentence when one sentence cleanly conveys the change
  • use summary line + bullets only when there are multiple distinct user-visible changes
  • keep prose / bullets concrete and outcome-focused
  • mention new workflows or capabilities
  • include a short thanks line only if the user explicitly wants credits

Do not:

  • dump commit messages verbatim
  • list internal refactors unless they changed release behavior
  • mention implementation-only details like exact file names
  • create multiple changesets for one coordinated release task unless the user asks
  • pad a single-change PR with bullets just to fit the summary+bullets template
  • start the changeset body with a - bullet (see format rule below)
Show full SKILL.md (449 more words)Show less

Default Changeset Format

The body has two allowed shapes. Pick the smallest one that fits.

Shape A — single sentence. Use this when one self-contained sentence captures the entire user-visible change. This is the default for most patch-level fixes and small polish PRs. Keep it as short as possible.

Shape B — summary line + bullets. Use this only when there are ≥2 distinct user-visible changes worth enumerating. The first line is a prose summary (usually ending with :); each concrete change is a - sub-item underneath.

@changesets/changelog-github inlines the first line of the body after Thanks @user! - when rendering CHANGELOG.md / GitHub Release. A single prose sentence renders cleanly. A leading - would produce ! - - Fix X with the first item glued to the attribution. Never start the body with - .

Decision rule: if you find yourself writing a summary that just restates the one bullet underneath it, collapse to Shape A. If a single sentence would force you to cram multiple ideas with "and"/";", expand to Shape B.

Shape A example (single sentence)
md
---
"helmor": patch
---

Fix a Chinese IME regression in the composer so pressing Enter to confirm an IME candidate no longer accidentally sends the message.
Shape B example (multi-change)

First line is a prose summary ending with :. Bullets start from the next line:

md
---
"helmor": minor
---

Ship a round of release and auto-update improvements:
- Add in-app update checks that download updates in the background and prompt once the update is ready to install.
- Add a signed and notarized macOS release pipeline for GitHub Releases.
- Add release planning automation so Helmor can publish user-facing release notes through Changesets.

This renders cleanly as:

md
- [#NN] [`hash`] Thanks @user! - Ship a round of release and auto-update improvements:
  - Add in-app update checks ...
  - Add a signed and notarized macOS release pipeline ...
  - Add release planning automation ...

If the user wants credits, append a final bullet such as:

md
- Thanks @username for helping validate the release flow.

GitHub Release Notes

Helmor already uses @changesets/changelog-github in .changeset/config.json.

That means:

  • merged PRs and GitHub context are handled by Changesets
  • GitHub Release body is derived from CHANGELOG.md
  • this skill should focus on writing a strong user-facing changeset body

Do not invent a separate release-note format unless the user asks for one.

In-App Release Announcements

Create a pending announcement fragment when the PR adds a user-visible feature or workflow change that users should learn about in the app.

Do:

  • write one short, concrete toast item per user-visible capability
  • add an action only when there is a useful direct destination
  • use a short kebab-case filename under .announcements/
  • keep the JSON shape exactly within the schema below

Do not:

  • include id or releaseVersion
  • announce ordinary bug fixes, internal refactors, or routine performance work
  • edit src/features/announcements/release-announcement-catalog.json by hand during feature work

Schema:

ts
type PendingReleaseAnnouncement = {
	items: Array<{
		text: string;
		action?: {
			label: string;
			value:
				| { type: "openSettings"; section?: SettingsSection }
				| { type: "setRightSidebarMode"; mode: WorkspaceRightSidebarMode };
		};
	}>;
};

Allowed openSettings.section values come from src/features/settings. Allowed setRightSidebarMode.mode values come from WorkspaceRightSidebarMode in src/lib/settings.ts.

Plain text example:

json
{
	"items": [
		{
			"text": "You can now drag workspaces in the sidebar to keep each section in your preferred order."
		}
	]
}

Action example:

json
{
	"items": [
		{
			"text": "You can now group workspaces in the sidebar by repository.",
			"action": {
				"label": "Open General",
				"value": { "type": "openSettings", "section": "general" }
			}
		},
		{
			"text": "Add Context now supports GitLab too.",
			"action": {
				"label": "Open Context",
				"value": { "type": "setRightSidebarMode", "mode": "context" }
			}
		}
	]
}

At release-plan time, bun run release:version consumes every pending fragment, merges all items into one entry for the final package version, and deletes the pending files.

Versioning Guidance

Recommend:

  • patch for fixes, polish, and invisible release improvements
  • minor for new user-visible features or workflows
  • major only when behavior changes incompatibly

For Helmor's current early lifecycle, prefer patch or minor. Escalate to major only with a concrete breaking change.

Resources

  • Use scripts/collect_release_context.py to inspect the current branch before drafting the changeset.
  • Use references/release-format.md if you need the exact Helmor release flow or writing guidance.

© dohooo, 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

SKILL.md and 2 other files (scripts, references) in .agents/skills/helmor-release of dohooo/helmor.

  • SKILL.md
  • references/release-format.md
  • scripts/collect_release_context.py

Open the folder on GitHubat commit a76cda1

Compare with similar skills

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

Helmor Release compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Helmor Release this skilldohooo/helmor1.3k—~2.6kAutomated safety check: WarnApache-2.0
Cutting A ReleaseTriliumNext/Trilium38k—~3.2kAutomated safety check: PassAGPL-3.0
Mole CLI Release Flowtw93/Mole70k—~2.6kAutomated safety check: PassGPL-3.0
Draft Release Notesjamiepine/voicebox57k—~941Automated safety check: PassMIT
Mole Release Notes Publishertw93/Mole70k—~1.9kAutomated safety check: PassGPL-3.0
Release Bumpjamiepine/voicebox57k—~1.1kAutomated safety check: PassMIT

Similar skills

  • Cutting A Release

    TriliumNext/Trilium

    A skill your agent uses when cutting, preparing, or debugging a Trilium release — bumping the monorepo version, tagging, or diagnosing a failed "Release" workflow run.

    38k GitHub stars~3.2k tokensUpdated today
    DevelopmentAuto-check passed
  • Runbook for assessing and executing a Mole CLI release: distribution channels, pre-flight checks, capital-V tags, build artifacts and the handoff to curated release notes.

    70k GitHub stars~2.6k tokensUpdated today
    DevelopmentAuto-check passed
  • 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.

    57k GitHub stars~941 tokensUpdated 2 days ago
    DevelopmentAuto-check passed
  • 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.

    70k GitHub stars~1.9k tokensUpdated today
    DevelopmentAuto-check passed
  • Release Bump

    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.

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

    jfernandez/bpftop

    Cut a new versioned release of bpftop — pick the version, open a version-bump PR, sign-tag the merge commit on main, and draft GitHub release notes in the project's established format.

    2.7k GitHub stars~2k tokensUpdated 1 mo ago
    DevelopmentAuto-check passed

More from dohooo/helmor

  • Helmor Bump Vendors

    dohooo/helmor

    Bump or upgrade the pinned versions of Helmor's bundled agent CLIs, SDKs, and supporting binaries — Claude Code + claude-agent-sdk (lockstep), Codex, Cursor SDK, OpenCode, Kimi, Pi, and gh / glab /…

    1.3k GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Helmor CLI

    dohooo/helmor

    Use the Helmor CLI to remote-control Helmor from the terminal.

    1.3k GitHub stars~1.3k tokensUpdated 1 mo ago
    Auto-check passed
  • Helmor Debug Loop

    dohooo/helmor

    Autonomous local-development debugging loop for Helmor bugs.

    1.3k GitHub stars~917 tokensUpdated 1 mo ago
    Auto-check passed
  • Operate, reproduce, and debug a running local Helmor desktop development build through the Tauri MCP bridge.

    1.3k GitHub stars~6.6k tokensUpdated 1 mo ago
    Auto-check passed

Works with

Categories

Questions about Helmor Release

What does Helmor Release do?

Prepare Helmor releases by inspecting the current branch, drafting a concise user-facing Changesets entry first (bump + body — keep it as short as possible), creating any needed pending in-app…. Helmor Release is an agent skill from dohooo/helmor.announcements/, and then showing the user the result with a short menu of adjustments they can pick from.

When should I use Helmor Release?

Helmor Release fits situations like: the user wants to cut a release; write a changeset; decide patch/minor/major; draft GitHub release notes.

How do I install Helmor Release in Claude Code?

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

How do I install Helmor Release in Codex?

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

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

What does Helmor Release need to run?

Going by SKILL.md and its folder, Helmor Release needs Python for the scripts in its folder and the command-line tools its instructions call (bun). Our summary lists: Python 3.

Does Helmor Release access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Helmor Release safe to install?

Our automated static check of SKILL.md flagged 1 warning(s): tells the agent its actions are pre-authorized / not to stop for confirmation. Read the flagged lines before installing; the check is not a guarantee either way. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Helmor Release use?

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

About 2.6k tokens (SKILL.md is roughly 10k 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 894 tokens, read only when the agent opens those files.

What are the alternatives to Helmor Release?

Skills that share tags, products or a category with Helmor Release: Cutting A Release (TriliumNext/Trilium, 38k stars), Mole CLI Release Flow (tw93/Mole, 70k stars), Draft Release Notes (jamiepine/voicebox, 57k stars) and Mole Release Notes Publisher (tw93/Mole, 70k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Helmor Release?

dohooo (a GitHub user) maintains it in dohooo/helmor, which has 1,309 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on August 22, 2026.

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