Go-Redis Release Preparation
redis/go-redis
Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.
Release a new version of go-masker: update CHANGELOG.md from git log, create GitHub release.
$ npx skills add ggwhite/go-masker --skill release -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ggwhite/go-masker 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/ggwhite/go-masker.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/release .claude/skills/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 "release" agent skill from https://github.com/ggwhite/go-masker/tree/master/.claude/skills/release into .claude/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/ggwhite/go-masker/tree/master/.claude/skills/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 ggwhite/go-masker --skill release -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ggwhite/go-masker release --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ggwhite/go-masker.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/release .agents/skills/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 "release" agent skill from https://github.com/ggwhite/go-masker/tree/master/.claude/skills/release into .agents/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 ggwhite/go-masker --skill release -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ggwhite/go-masker release --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ggwhite/go-masker.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/release .cursor/skills/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 "release" agent skill from https://github.com/ggwhite/go-masker/tree/master/.claude/skills/release into .cursor/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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/ggwhite/go-masker.git --path .claude/skills/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 ggwhite/go-masker --skill release -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ggwhite/go-masker release --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ggwhite/go-masker.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/release .gemini/skills/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 "release" agent skill from https://github.com/ggwhite/go-masker/tree/master/.claude/skills/release into .gemini/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 ggwhite/go-masker 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 ggwhite/go-masker --skill release -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ggwhite/go-masker.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/release .github/skills/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 "release" agent skill from https://github.com/ggwhite/go-masker/tree/master/.claude/skills/release into .github/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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 ggwhite/go-masker --skill 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 ggwhite/go-masker release --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ggwhite/go-masker.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/release .opencode/skills/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 "release" agent skill from https://github.com/ggwhite/go-masker/tree/master/.claude/skills/release into .opencode/skills/release/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "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.
releaseRelease a new version of go-masker: update CHANGELOG.md from git log, create GitHub release.
Release is an agent skill from ggwhite/go-masker. Release a new version of go-masker: update CHANGELOG.md from git log, create GitHub release. Use when the user says 「發布」「release」「發新版」「打 tag」「release new version」or similar. Also use when the user says 「更新 changelog」if they clearly intend to release afterward.
Its SKILL.md is about 940 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, covering Changelog and release notes. It works with GitHub, Git and Go. The repository describes itself as: Go library for masking sensitive data via struct tags — passwords, emails, IDs, credit cards, and more. The licence is MIT.
10 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit ff7b958. 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.
Shell commands in SKILL.md call:
gitgoghFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
keepachangelog.comFrom 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.
Release loads about 938 tokens when it runs. Until then it costs about 67 tokens; SKILL.md has 366 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 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.
The full file from ggwhite/go-masker at commit ff7b958, republished under its MIT licence (© ggwhite). 366 words, ~938 tokens.
.claude/skills/release/SKILL.md (or your agent's skills folder).Publish a new go-masker version.
master branch 是 v3,v2 維護在 release/v2 branch。
master (default)
├── go.mod ← module github.com/ggwhite/go-masker/v3
└── masker.go ← v3 code
release/v2 (maintenance)
├── go.mod ← module github.com/ggwhite/go-masker/v2
└── masker.go ← v2 code| Module | Branch | Tag 格式 | 範例 |
|---|---|---|---|
| v3 | master | vX.Y.Z | v3.0.0 |
| v2 | release/v2 | vX.Y.Z | v2.4.3 |
Ask the user if not clear: "要發 v2 還是 v3?"
git tag -l 'v${MAJOR}.*' --sort=-v:refname | head -1Bump the patch number by default. If the user specifies minor or major, bump accordingly.
Version rules (from CLAUDE.md):
x.y.Z: bug fix, docs, internal changes that don't affect APIx.Y.0: new feature, new masker type, backwards-compatible API additionX.0.0: breaking changes (removed API, changed behavior, module path change)Show the user: "上個版本是 vX.Y.Z,這次準備發 vA.B.C" and confirm before continuing.
git log <last-tag>..HEAD --oneline --no-decorateIf there are zero relevant commits since the last tag, stop and tell the user there's nothing to release.
Read the existing CHANGELOG.md to match its style. The format follows Keep a Changelog:
## [X.Y.Z] - YYYY-MM-DD
### Features
- **Short name** — description of the feature
### Fixes
- **Short name** — description of the fixCategorization rules:
fix / bugfix commits -> ### Fixesfeat / feature commits -> ### Featuresdocs commits -> ### Docs (only if user-facing; skip changelog-only docs commits)chore / refactor / perf -> ### Internal (only if noteworthy; skip trivial ones)Each item should be a concise, user-facing description — not a raw commit message. Rewrite commit messages into the bold-name-em-dash style. Group related commits into a single item when they address the same thing.
Skip commits that are only changelog/release housekeeping.
Show the drafted changelog section to the user in full. Ask: "這樣 OK 嗎?要調整什麼?"
Do NOT proceed until the user approves.
Insert the new version section below [Unreleased]. If there's an [Unreleased] section covering this module's changes, move those items into the versioned section.
git add CHANGELOG.md
git commit -m "docs: vX.Y.Z changelog"go test -race ./...If tests fail, stop and tell the user.
Ask the user before pushing: "要 push 了,確認?"
git push && git tag vX.Y.Z && git push --tagsgh release create vX.Y.Z --title "Release vX.Y.Z" --notes-file -Pipe the changelog section content (just this version's notes) as the release notes.
After release, tell the user: "Release vX.Y.Z 已發布" and provide the release URL.
docs: vX.Y.Z changelog© ggwhite, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .claude/skills/release of ggwhite/go-masker.
Open the folder on GitHubat commit ff7b958
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 |
|---|---|---|---|---|---|---|
| Release this skillggwhite/go-masker | 130 | — | ~938 | Automated safety check: Pass | MIT | |
| Go-Redis Release Preparationredis/go-redis | 22k | — | ~1.1k | Automated safety check: Pass | BSD-2-Clause | |
| 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 | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT |
redis/go-redis
Prepares a go-redis release locally: picks the next semver, gathers merged PRs, writes the RELEASE-NOTES entry and bumps versions, without publishing.
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.
verdaccio/verdaccio
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.
modem-dev/hunk
Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.
Categories
Release a new version of go-masker: update CHANGELOG.md from git log, create GitHub release. Release is an agent skill from ggwhite/go-masker.md from git log, create GitHub release.
Release fits situations like: the user says 「發布」「release」「發新版」「打 tag」「release new version」or similar; the user says 「更新 changelog」if they clearly intend to release afterward.
Run `npx skills add ggwhite/go-masker --skill release -a claude-code`. Or copy the skill folder (.claude/skills/release in ggwhite/go-masker) into .claude/skills/release in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ggwhite/go-masker --skill release -a codex`. Or copy the skill folder (.claude/skills/release in ggwhite/go-masker) into .agents/skills/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 ggwhite/go-masker --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.
Going by SKILL.md and its folder, Release needs the command-line tools its instructions call (git, go and gh).
SKILL.md names 1 domain. As links in the text: keepachangelog.com. This is read from the text; nothing was executed.
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.
Release is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 938 tokens (SKILL.md is roughly 3.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Release: Go-Redis Release Preparation (redis/go-redis, 22k stars), Draft Release Notes (jamiepine/voicebox, 57k stars), Mole Release Notes Publisher (tw93/Mole, 70k stars) and Release Bump (jamiepine/voicebox, 57k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ggwhite (a GitHub user) maintains it in ggwhite/go-masker, which has 130 GitHub stars. The repository was last updated on July 7, 2026.
Source: ggwhite/go-masker on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.