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.
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…
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add dohooo/helmor --skill helmor-release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install dohooo/helmor helmor-release --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/dohooo/helmor.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/helmor-release .claude/skills/helmor-release && 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 "helmor-release" agent skill from https://github.com/dohooo/helmor/tree/main/.agents/skills/helmor-release into .claude/skills/helmor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helmor-release", 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/dohooo/helmor/tree/main/.agents/skills/helmor-releaseType 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 dohooo/helmor --skill helmor-release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install dohooo/helmor helmor-release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dohooo/helmor.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/helmor-release .agents/skills/helmor-release && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "helmor-release" agent skill from https://github.com/dohooo/helmor/tree/main/.agents/skills/helmor-release into .agents/skills/helmor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helmor-release", 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 dohooo/helmor --skill helmor-release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install dohooo/helmor helmor-release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dohooo/helmor.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/helmor-release .cursor/skills/helmor-release && 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 "helmor-release" agent skill from https://github.com/dohooo/helmor/tree/main/.agents/skills/helmor-release into .cursor/skills/helmor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helmor-release", 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/dohooo/helmor.git --path .agents/skills/helmor-release--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 dohooo/helmor --skill helmor-release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install dohooo/helmor helmor-release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dohooo/helmor.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/helmor-release .gemini/skills/helmor-release && 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 "helmor-release" agent skill from https://github.com/dohooo/helmor/tree/main/.agents/skills/helmor-release into .gemini/skills/helmor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helmor-release", 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 dohooo/helmor helmor-releaseInstalls 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 dohooo/helmor --skill helmor-release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/dohooo/helmor.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/helmor-release .github/skills/helmor-release && 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 "helmor-release" agent skill from https://github.com/dohooo/helmor/tree/main/.agents/skills/helmor-release into .github/skills/helmor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helmor-release", 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 dohooo/helmor --skill helmor-release -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install dohooo/helmor helmor-release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/dohooo/helmor.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/helmor-release .opencode/skills/helmor-release && 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 "helmor-release" agent skill from https://github.com/dohooo/helmor/tree/main/.agents/skills/helmor-release into .opencode/skills/helmor-release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "helmor-release", 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.
helmor-releasePrepare 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. 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.
6 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit a76cda1. 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.
Ships 1 file in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
bunFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
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.
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.
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 patterns that need a careful read before installing.
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.
The full file from dohooo/helmor at commit a76cda1, republished under its Apache-2.0 licence (© dohooo). 1,010 words, ~2,611 tokens.
.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.Use this skill to turn a branch's real changes into release metadata for Helmor:
.changeset/*.md entry.announcements/*.json fragment when the change deserves an in-app "New in vX" toastInspect the branch before asking the user anything.
Run scripts/collect_release_context.py to gather:
Draft the full changeset yourself, without asking the user upfront. Decide:
patch / minor / major) using the Versioning Guidance belowPrefer 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.
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.
Decide whether an in-app release announcement is warranted.
.announcements/ only for new user-visible features or workflow changes.bun run release:version consumes all pending announcement files and merges them into one catalog entry for the final version.Then, and only then, show the user what you created and offer the adjustment menu described in "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:
Example (Shape A — single sentence):
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):
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.
Write changesets for users, not for maintainers.
Do:
Do not:
- bullet (see format rule below)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.
---
"helmor": patch
---
Fix a Chinese IME regression in the composer so pressing Enter to confirm an IME candidate no longer accidentally sends the message.First line is a prose summary ending with :. Bullets start from the next line:
---
"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:
- [#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:
- Thanks @username for helping validate the release flow.Helmor already uses @changesets/changelog-github in .changeset/config.json.
That means:
CHANGELOG.mdDo not invent a separate release-note format unless the user asks for one.
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:
.announcements/Do not:
id or releaseVersionsrc/features/announcements/release-announcement-catalog.json by hand during feature workSchema:
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:
{
"items": [
{
"text": "You can now drag workspaces in the sidebar to keep each section in your preferred order."
}
]
}Action example:
{
"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.
Recommend:
patch for fixes, polish, and invisible release improvementsminor for new user-visible features or workflowsmajor only when behavior changes incompatiblyFor Helmor's current early lifecycle, prefer patch or minor. Escalate to major only with a concrete breaking change.
scripts/collect_release_context.py to inspect the current branch before drafting the changeset.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
SKILL.md and 2 other files (scripts, references) in .agents/skills/helmor-release of dohooo/helmor.
Open the folder on GitHubat commit a76cda1
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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Helmor Release this skilldohooo/helmor | 1.3k | — | ~2.6k | Automated safety check: Warn | Apache-2.0 | |
| Cutting A ReleaseTriliumNext/Trilium | 38k | — | ~3.2k | Automated safety check: Pass | AGPL-3.0 | |
| Mole CLI Release Flowtw93/Mole | 70k | — | ~2.6k | Automated safety check: Pass | GPL-3.0 | |
| Draft Release Notesjamiepine/voicebox | 57k | — | ~941 | Automated safety check: Pass | MIT | |
| Mole Release Notes Publishertw93/Mole | 70k | — | ~1.9k | Automated safety check: Pass | GPL-3.0 | |
| Release Bumpjamiepine/voicebox | 57k | — | ~1.1k | Automated safety check: Pass | MIT |
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.
tw93/Mole
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.
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.
tw93/Mole
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.
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.
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.
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 /…
dohooo/helmor
Use the Helmor CLI to remote-control Helmor from the terminal.
dohooo/helmor
Autonomous local-development debugging loop for Helmor bugs.
dohooo/helmor
Operate, reproduce, and debug a running local Helmor desktop development build through the Tauri MCP bridge.
Works with
Categories
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.
Helmor Release fits situations like: the user wants to cut a release; write a changeset; decide patch/minor/major; draft GitHub release notes.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.