Skip to content
Back to skills

Release

ASecurity

Prepares a release — conventional commits since the last tag grouped into readable release notes (features, fixes, breaking changes with migration), proposed SemVer version, CHANGELOG entry, and production checklist (checks, migrations, flags, rollback, communication). Never tags or publishes without explicit approval. Use when the user says "prepare the release", "release notes", "changelog", "which version?", /kaizen:release.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 19, 2026
ai-agentsgobashnoderefactoringgitperformancedocumentation

Security analysis

A100/100

Scanned October 19, 2026

npx -y skills add Lingelo/dojo --skill release --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Release?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Release
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/lingelo-release/badge)](https://www.skillsdirectory.com/skills/lingelo-release)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: release
description: Prepares a release — conventional commits since the last tag grouped into readable release notes (features, fixes, breaking changes with migration), proposed SemVer version, CHANGELOG entry, and production checklist (checks, migrations, flags, rollback, communication). Never tags or publishes without explicit approval. Use when the user says "prepare the release", "release notes", "changelog", "which version?", /kaizen:release.
allowed-tools: Bash(node:*), Bash(git:*), Bash(gh:*), Read, Write, Edit, Glob, Grep, AskUserQuestion
argument-hint: "[--from <tag>] [forced version] [publish]"
---

# Release — notes users read, a version that tells the truth

Read `${CLAUDE_PLUGIN_ROOT}/references/conventions.md`.
`K="${CLAUDE_PLUGIN_ROOT}/scripts/kaizen.mjs"`

**Never** a tag, a tag push, a release publication or a deployment without explicit approval in the
session (the constitution's AI policy may be stricter: it wins).

## 1. Collect

`node "$K" release notes [--from <tag>]` → grouped commits (`Features`, `Fixes`, `Performance`,
`Refactoring`, `Documentation`, `Reverts`, `Other`), breaking changes, level and proposed version
(SemVer; in 0.x a breaking change bumps the minor). Non-conventional commits: report their number and
classify them yourself by reading their diff.

## 2. Check the version

- A breaking change (`!` or `BREAKING CHANGE:`) → major. Check that it really is one (public interface,
  data format, configuration) and that **no** breaking change hides in a `feat`/`fix` (read the diffs
  of public interfaces: routes, schemas, package exports).
- The project's version files (`package.json`, `pyproject.toml`, `Cargo.toml`, `version.rb`,
  `.claude-plugin/plugin.json`…): does the proposed version go beyond them?

## 3. Write

Notes for **users**, not developers: what changes for them, one sentence per point, grouped (Features,
Fixes, Performance, Breaking changes), in the configured language. Each breaking change has its
**migration** (before → after, steps). Links to PRs and plans (`docs/plans/…`) when they shed light.
Remove the noise (chore, ci, tests, invisible refactors).

Update `CHANGELOG.md` (Keep a Changelog format: `## [x.y.z] - YYYY-MM-DD`) if it exists or if the user
wants it, and the manifest's version (`package.json`…): **in the working tree, without committing**,
including on the default branch — it is reviewable and undone with a `git checkout`. The release
commit, the tag and the publication stay at step 5, with approval.

## 4. Production checklist

From `rollout` in `node "$K" release notes --json` (plans cited by the commits or changed in the range,
`kaizen:rollout` section already extracted) and the diff. A plan with a non-empty `missing` (no
rollback, no signal, no section) is a **blocking checklist item**: ask for the rollback and the signal
before publishing, never invent them.
- `node "$K" verify` green on the commit to tag; CI green (`gh run list --branch <default> --limit 5`);
- migrations to run and in which order (expand → migrate → contract);
- feature flags to toggle, and their default;
- the release's rollback and what is irreversible;
- signals to watch after the release, **with their threshold** and the action when it is breached; a
  threshold breached after the release → rollback, then `/kaizen:postmortem` (that is how production
  comes back into the loop);
- communication (users, support) for visible changes.

## 5. Publish (only with approval)

With `publish` and confirmation: version files update, commit `chore(release): vX.Y.Z`, annotated tag
`vX.Y.Z`, push of the commit and the tag, `gh release create vX.Y.Z --notes-file <notes>`. Otherwise,
deliver the notes, the version and the checklist, and give the commands.

## 6. Deploy

`release` does not deploy. If `deploy.environments` is configured, finish by proposing
`/kaizen:deploy <env> vX.Y.Z` (staging first if it exists): preconditions, approval typed by the user
for production, watch of the checklist's signals, rollback ready.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.