JB Local Release
Author: bjesuiter
Purpose
Use this as the local release workflow skill when preparing a release from the current checkout: update version/changelog files, run local verification, commit, tag, and only publish when explicitly requested or documented.
Precedence
Repo-specific instructions win. Before acting, check for release guidance in:
AGENTS.md, CLAUDE.md, README.md, CONTRIBUTING.md, CHANGELOG.md
- package manager scripts in
package.json
- project-specific skills or docs, such as
docs/release*, .github/*, or maintainer notes
If specific instructions exist, follow them instead of this generic workflow. Use this skill only to fill gaps for local release preparation.
Local release workflow
Identify release type and target
- Confirm the package/app to release if the repo has multiple packages.
- Determine version bump:
patch, minor, major, prerelease, or exact version.
- If the user did not specify the bump/version, ask before changing files.
Inspect current release state
- Check clean/dirty git state with
git status --short.
- Find latest tag:
git tag --sort=-version:refname | head.
- Review commits since the last release tag:
git log <last-tag>..HEAD --oneline.
- Check package metadata and publish scripts.
Update release files
- Update the version in
package.json and lockfiles using the repo's package manager when possible.
- Add a concise
CHANGELOG.md entry based on commits since the last release tag.
- Keep changelog entries user-facing and grouped when useful: Added, Changed, Fixed, Removed.
Verify
- Run the repo's normal checks before tagging:
- lint
- tests
- build/typecheck
- Prefer existing package scripts over inventing new commands.
- If a check cannot be run, record why.
Commit, tag, and push
- Commit release changes with a clear message, e.g.
chore: release v1.2.3.
- Tag the release commit with the version prefixed by
v, e.g. v1.2.3.
- Push code and tags.
Publish only when requested or documented
- Do not publish to npm, app stores, or other registries unless the user explicitly asks or repo instructions require it.
- If publishing, use the documented release script/CLI and verify the published version afterward.
Guardrails
- Never create a branch unless the user asks.
- Do not overwrite project-specific release automation.
- Do not skip failing checks silently; stop and report the failure.
- Do not tag before release files are committed and checks have passed, unless repo-specific instructions say otherwise.
- Avoid changing unrelated files during a release.
Deliverable
End with a short summary containing:
- released version
- changelog entry added/updated
- checks run and results
- commit hash and tag
- whether anything was published
1---2name: jb-local-release3description: Use when the user asks to run a local release flow: prepare version/changelog changes, run local checks, commit, tag, and optionally publish only when explicitly requested.4---56# JB Local Release78Author: bjesuiter910## Purpose1112Use this as the **local release workflow skill** when preparing a release from the current checkout: update version/changelog files, run local verification, commit, tag, and only publish when explicitly requested or documented.1314## Precedence1516Repo-specific instructions win. Before acting, check for release guidance in:1718- `AGENTS.md`, `CLAUDE.md`, `README.md`, `CONTRIBUTING.md`, `CHANGELOG.md`19- package manager scripts in `package.json`20- project-specific skills or docs, such as `docs/release*`, `.github/*`, or maintainer notes2122If specific instructions exist, follow them instead of this generic workflow. Use this skill only to fill gaps for local release preparation.2324## Local release workflow25261. **Identify release type and target**27 - Confirm the package/app to release if the repo has multiple packages.28 - Determine version bump: `patch`, `minor`, `major`, prerelease, or exact version.29 - If the user did not specify the bump/version, ask before changing files.30312. **Inspect current release state**32 - Check clean/dirty git state with `git status --short`.33 - Find latest tag: `git tag --sort=-version:refname | head`.34 - Review commits since the last release tag: `git log <last-tag>..HEAD --oneline`.35 - Check package metadata and publish scripts.36373. **Update release files**38 - Update the version in `package.json` and lockfiles using the repo's package manager when possible.39 - Add a concise `CHANGELOG.md` entry based on commits since the last release tag.40 - Keep changelog entries user-facing and grouped when useful: Added, Changed, Fixed, Removed.41424. **Verify**43 - Run the repo's normal checks before tagging:44 - lint45 - tests46 - build/typecheck47 - Prefer existing package scripts over inventing new commands.48 - If a check cannot be run, record why.49505. **Commit, tag, and push**51 - Commit release changes with a clear message, e.g. `chore: release v1.2.3`.52 - Tag the release commit with the version prefixed by `v`, e.g. `v1.2.3`.53 - Push code and tags.54556. **Publish only when requested or documented**56 - Do not publish to npm, app stores, or other registries unless the user explicitly asks or repo instructions require it.57 - If publishing, use the documented release script/CLI and verify the published version afterward.5859## Guardrails6061- Never create a branch unless the user asks.62- Do not overwrite project-specific release automation.63- Do not skip failing checks silently; stop and report the failure.64- Do not tag before release files are committed and checks have passed, unless repo-specific instructions say otherwise.65- Avoid changing unrelated files during a release.6667## Deliverable6869End with a short summary containing:7071- released version72- changelog entry added/updated73- checks run and results74- commit hash and tag75- whether anything was published