Hunk Release Workflow
modem-dev/hunk
Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.
Runs a semantic-versioning release workflow for a Claude Code plugin: bumps every manifest, builds, tags, creates a GitHub release, generates a changelog and publishes to npm.
The automated check flagged lines worth reading first. See the safety section below.
$ npx skills add thedotmack/claude-mem --skill version-bump -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install thedotmack/claude-mem version-bump --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/thedotmack/claude-mem.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugin/skills/version-bump .claude/skills/version-bump && 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 "version-bump" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/version-bump into .claude/skills/version-bump/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "version-bump", 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/thedotmack/claude-mem/tree/main/plugin/skills/version-bumpType 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 thedotmack/claude-mem --skill version-bump -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install thedotmack/claude-mem version-bump --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .agents/skills && cp -r skills-src/plugin/skills/version-bump .agents/skills/version-bump && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "version-bump" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/version-bump into .agents/skills/version-bump/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "version-bump", 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 thedotmack/claude-mem --skill version-bump -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install thedotmack/claude-mem version-bump --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/plugin/skills/version-bump .cursor/skills/version-bump && 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 "version-bump" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/version-bump into .cursor/skills/version-bump/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "version-bump", 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/thedotmack/claude-mem.git --path plugin/skills/version-bump--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 thedotmack/claude-mem --skill version-bump -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install thedotmack/claude-mem version-bump --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/plugin/skills/version-bump .gemini/skills/version-bump && 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 "version-bump" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/version-bump into .gemini/skills/version-bump/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "version-bump", 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 thedotmack/claude-mem version-bumpInstalls 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 thedotmack/claude-mem --skill version-bump -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .github/skills && cp -r skills-src/plugin/skills/version-bump .github/skills/version-bump && 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 "version-bump" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/version-bump into .github/skills/version-bump/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "version-bump", 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 thedotmack/claude-mem --skill version-bump -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install thedotmack/claude-mem version-bump --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/thedotmack/claude-mem.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/plugin/skills/version-bump .opencode/skills/version-bump && 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 "version-bump" agent skill from https://github.com/thedotmack/claude-mem/tree/main/plugin/skills/version-bump into .opencode/skills/version-bump/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "version-bump", 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.
version-bumpRuns a semantic-versioning release workflow for a Claude Code plugin: bumps every manifest, builds, tags, creates a GitHub release, generates a changelog and publishes to npm.
The skill starts by classifying the change as patch, minor or major and reading the repository owner from the git remote. It then lists every file that carries the version string: the root and plugin package.json files, manifests for Claude, Codex, OpenClaw, Grok and Cursor plugins, another bundled package, and the README version badge. A git grep check before and after editing confirms that all twelve JSON files and the badge match, and CHANGELOG.md is left alone because it is regenerated. The file list is written for the claude-mem repository.
The workflow then runs npm run build-and-sync, commits everything including build artifacts, and tags the release, while scripts/generate_changelog.js produces the changelog. The skill insists that nothing stays uncommitted or unpushed and that git status is checked at the end. It finishes with the agent running npm publish itself using the maintainer's npm token, so it needs publish credentials and affects a public package.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 71ddd11. 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/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
gitnpmnpxghnodeFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
registry.npmjs.orgAlso links to:
npmjs.comFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
NPM_TOKENFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Plugin Version Bump and Release loads about 1.7k tokens when it runs. Until then it costs about 84 tokens; SKILL.md has 766 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.
in the maintainer's Mac `~/.npmrc`; he issues a new one every month. It is<url>`), replace the token value in `~/.npmrc` with`PASTE_NEW_TOKEN_HERE`, and `open -e ~/.npmrc` so he can paste the new tokenfrom `~/Scripts/claude-mem/`, where the `.env` withnot have a local `.env`.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 thedotmack/claude-mem at commit 71ddd11, republished under its Apache-2.0 licence (© thedotmack). 766 words, ~1,664 tokens.
.claude/skills/version-bump/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.IMPORTANT: Plan and write detailed release notes before starting.
CRITICAL: Commit EVERYTHING (including build artifacts). At the end of this workflow, NOTHING should be left uncommitted or unpushed. Run git status at the end to verify.
Analyze: Determine if the change is PATCH (bug fixes), MINOR (features), or MAJOR (breaking).
Environment: Identify repository owner/name from git remote -v.
Paths — every file that carries the version string:
package.json — the npm/npx-published version (npx claude-mem@X.Y.Z resolves from this)plugin/package.json — bundled plugin runtime deps.claude-plugin/marketplace.json — version inside plugins[0].version.claude-plugin/plugin.json — top-level Claude-plugin manifestplugin/.claude-plugin/plugin.json — bundled Claude-plugin manifest.codex-plugin/plugin.json — Codex-plugin manifestplugin/.codex-plugin/plugin.json — bundled Codex-plugin manifestopenclaw/openclaw.plugin.json — OpenClaw plugin manifest.grok-plugin/plugin.json — Grok plugin manifestclaude-mem-cursor/.cursor-plugin/plugin.json — Cursor plugin manifestclaude-mem-grok-bot/.cursor-plugin/plugin.json — Grok Bot Cursor plugin manifestdsh/package.json — bundled DSH plugin packageREADME.md — the version badge (version-X.Y.Z-green), not a "version" keyVerify coverage before editing: git grep -l "\"version\": \"<OLD>\"" should list the twelve JSON files above, and git grep -n "version-<OLD>-green" the README badge. If a new manifest has been added since this doc was last updated, update this list.
CHANGELOG.md — it's regenerated.git grep -n "\"version\": \"<NEW>\"" — confirm all twelve JSON files match, and the README badge reads version-<NEW>-green. git grep -n "\"version\": \"<OLD>\"" — should return zero hits.npm run build-and-sync to regenerate artifacts, sync the local marketplace copy, restart the worker, and clear the queue. Do not use plain npm run build for release validation because it can leave the local marketplace/worker out of sync.git add -A && git commit -m "chore: bump version to X.Y.Z".git tag -a vX.Y.Z -m "Version X.Y.Z".git push origin main && git push origin vX.Y.Z.gh release create vX.Y.Z --title "vX.Y.Z" --notes "RELEASE_NOTES".npm run changelog:generatenode scripts/generate-changelog.js, which pulls releases from the GitHub API and rewrites CHANGELOG.md.)CHANGELOG.md.prepublishOnly rebuilds the package. If npm view claude-mem@X.Y.Z version
already resolves, skip the publish and continue with post-publish checks.claude-mem only, bypass 2FA)
in the maintainer's Mac ~/.npmrc; he issues a new one every month. It is
deliberately NOT in any backup (grok-bot-backups excludes secrets), so do
not go looking for it elsewhere. Publish from a clean worktree of the tag
(inside the project's .scratch/) so uncommitted edits never ship:git worktree add --detach .scratch/release-X.Y.Z vX.Y.Z
cd .scratch/release-X.Y.Z && npm install --ignore-scripts
npm whoami # must print thedotmack; 401 = token expired
npm publish --access public # prepublishOnly rebuilds the packagenpm whoami fails, the monthly token has expired. Finish every other
step, then: open https://www.npmjs.com/settings/thedotmack/tokens/granular-access-tokens/new
for the maintainer (open <url>), replace the token value in ~/.npmrc with
PASTE_NEW_TOKEN_HERE, and open -e ~/.npmrc so he can paste the new token
there. Never ask for the token in chat. Re-run npm whoami, then publish.
Do not wait on .github/workflows/npm-publish.yml — its NPM_TOKEN secret
has failed every tag since v13.26.1 (E404 ... PUT https://registry.npmjs.org/claude-mem).
The publish rebuild rewrites plugin/scripts/*.cjs with minifier-name churn
only; discard it with the worktree (git worktree remove --force).npm view claude-mem@X.Y.Z version
npm view claude-mem versionnpm run build-and-sync,
review the result, and commit/push any legitimate changes. Then run the
Discord notification from ~/Scripts/claude-mem/, where the .env with
webhook details lives:cd ~/Scripts/claude-mem/ && npm run discord:notify vX.Y.Z.env.git status — working tree must be clean and everything must
be pushed.git grep for old version returns zero hitsnpm run build-and-sync succeededCHANGELOG.md updated and pushednpm whoami succeeded and the agent ran npm publish --access publiclatest both verified after publishing~/Scripts/claude-mem/ only after npm verificationgit status shows clean tree© thedotmack, 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 1 other file (scripts) in plugin/skills/version-bump of thedotmack/claude-mem.
Open the folder on GitHubat commit 71ddd11
Plugin Version Bump and 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 |
|---|---|---|---|---|---|---|
| Plugin Version Bump and Release this skillthedotmack/claude-mem | 98k | — | ~1.7k | Automated safety check: Warn | Apache-2.0 | |
| Hunk Release Workflowmodem-dev/hunk | 9.5k | — | ~3.8k | Automated safety check: Pass | MIT | |
| ZCF Release AutomationUfoMiao/zcf | 6.1k | — | ~3.4k | Automated safety check: Pass | MIT | |
| ClawRouter Release ChecklistBlockRunAI/ClawRouter | 6.6k | — | ~1.4k | Automated safety check: Pass | MIT | |
| Verdaccio Pull Request Workflowverdaccio/verdaccio | 18k | — | ~1.9k | Automated safety check: Pass | MIT | |
| Release Clawpatchopenclaw/clawpatch | 813 | — | ~1.1k | Automated safety check: Pass | MIT |
modem-dev/hunk
Maintainer workflow for preparing, publishing, verifying and curating Hunk releases, with confirmation gates before tags, publishes and public edits.
UfoMiao/zcf
Automates a version release with changesets: analyzes code changes, writes a bilingual CHANGELOG, bumps the version and commits through a release branch and pull request.
BlockRunAI/ClawRouter
Walks the agent through every ClawRouter release step in order, from the version bump and changelog entry to build, tests, npm publish, git tag and GitHub release.
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.
openclaw/clawpatch
clawpatch release: version/changelog, CI, npm publish, GitHub release, verify.
OvenMediaLabs/OvenPlayer
Release ovenplayer to npm — confirm the version, verify the committed dist/ bundle is current, write the release notes, and open a draft GitHub Release for the user to publish.
thedotmack/claude-mem
Walks you through creating, installing and verifying a custom claude-mem mode, including note types, tags and optional Telegram alerts for chosen memories.
thedotmack/claude-mem
Checks claude-mem cloud sync status and guides you through connecting a cmem.ai Pro account without the sync token ever passing through the chat.
thedotmack/claude-mem
Searches the user's persistent cross-session memory for timestamped observations synthesized from past agent sessions on cmem.ai.
thedotmack/claude-mem
Pairs the claude-mem Cowork plugin with a cmem.ai account by writing the sync token, user id and SyncHub URL into the plugin config without exposing the secret.
thedotmack/claude-mem
Writes a narrative Journey Into report on a project's whole development history, built from the timeline that claude-mem has recorded.
thedotmack/claude-mem
Keeps watching a pull request, fixing real review and CI problems and resolving stale threads, until it is clean and ready to merge.
Categories
Runs a semantic-versioning release workflow for a Claude Code plugin: bumps every manifest, builds, tags, creates a GitHub release, generates a changelog and publishes to npm. The skill starts by classifying the change as patch, minor or major and reading the repository owner from the git remote.json files, manifests for Claude, Codex, OpenClaw, Grok and Cursor plugins, another bundled package, and the README version badge.
Plugin Version Bump and Release fits situations like: releasing a new version of a Claude Code plugin; bumping the version across every plugin manifest and the README badge; generating a changelog and GitHub release for a tagged version.
Run `npx skills add thedotmack/claude-mem --skill version-bump -a claude-code`. Or copy the skill folder (plugin/skills/version-bump in thedotmack/claude-mem) into .claude/skills/version-bump in your project. Claude Code loads it when a task matches its description.
Run `npx skills add thedotmack/claude-mem --skill version-bump -a codex`. Or copy the skill folder (plugin/skills/version-bump in thedotmack/claude-mem) into .agents/skills/version-bump 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 thedotmack/claude-mem --skill version-bump -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/version-bump, .gemini/skills/version-bump, .github/skills/version-bump and .opencode/skills/version-bump in your project.
Going by SKILL.md and its folder, Plugin Version Bump and Release needs JavaScript for the scripts in its folder, the command-line tools its instructions call (git, npm, npx, gh and node) and credentials named NPM_TOKEN. Our summary lists: Git with a GitHub remote; Node.js and npm, plus the maintainer's npm token for publishing.
SKILL.md names 2 domains. In commands or code: registry.npmjs.org; the agent is likely to contact it when it follows the instructions. As links in the text: npmjs.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md flagged 3 warning(s): mentions a credentials file (ssh keys, cloud or package-manager tokens). 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.
Plugin Version Bump and 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 1.7k tokens (SKILL.md is roughly 6.7k 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 Plugin Version Bump and Release: Hunk Release Workflow (modem-dev/hunk, 9.5k stars), ZCF Release Automation (UfoMiao/zcf, 6.1k stars), ClawRouter Release Checklist (BlockRunAI/ClawRouter, 6.6k stars) and Verdaccio Pull Request Workflow (verdaccio/verdaccio, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
thedotmack (a GitHub user) maintains it in thedotmack/claude-mem, which has 97,851 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on October 7, 2026.
Source: thedotmack/claude-mem on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.