Release
Skill TarasTsavolyk/claude-code-frontend/.claude/skills/release
Cut a release — match the project's mechanism (CHANGELOG-driven or Changesets), derive notes, pick the SemVer bump, run the gate. Use when shipping a new version.From its SKILL.md
npx -y skills add TarasTsavolyk/claude-code-frontend --skill releaseAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
2.8 KB, as published. Nobody here has run it
Cut a release
Detect the mechanism first, then follow that track. Always run the quality gate before shipping and use the CLAUDE.md → Git approval flow for the commit/PR.
Detect
- Changesets —
.changeset/config.jsonexists or@changesets/cliis a devDependency → Track B. - CHANGELOG-driven (this kit's default) — a hand-curated
CHANGELOG.md+.github/workflows/release.yml→ Track A.
Track A — CHANGELOG-driven
- Gather —
git log <last-tag>..HEAD --oneline(or PRs merged since the last tag); skip noise (merges, pure formatting). - Classify into Keep a Changelog groups (Added / Changed / Deprecated / Removed / Fixed / Security); write user-facing lines, not raw commit subjects.
- Pick the bump (SemVer): breaking → major, new capability → minor, fixes only → patch.
- Write the section — turn
## [Unreleased]into## [x.y.z] - YYYY-MM-DD, leave a fresh empty## [Unreleased]above it, and refresh the version-compare links at the bottom. - Bump any tracked version (
package.json, etc.) to match the tag. A distribute-by-copy kit may have nothing to bump — a plugin manifest deliberately omitsversionso installs track the default branch rather than a cached release; don't "fix" that by adding one. - Gate —
<pm> run lint && <pm> run test(+<pm> run typecheckin TS projects). - Ship — commit + PR via the approval flow. On merge to
main,release.ymltags and publishes every CHANGELOG version that has no release yet, each pointed at the commit that introduced its section (seedocs/release-automation.md).
Track B — Changesets
- Intent lands with each change — contributors run
npx changeset(pick the bump level + summary); the resulting.changeset/*.mdfiles are committed in the feature PR, not at release time. - Version — run
npx changeset version(or thechangeset:versionscript). It consumes the changesets, bumps every affectedpackage.json, and rewritesCHANGELOG.md. Do not hand-edit versions or the changelog here. - Review the generated bump + changelog diff.
- Gate —
<pm> run lint && <pm> run test(+<pm> run typecheckin TS projects). - Ship — commit + PR (often the bot-opened "Version Packages" PR). On merge,
changeset publishtags and publishes (npm and/or GitHub Release).
Don't mix tracks: in a Changesets repo, let
changeset versionown the changelog — never hand-write## [x.y.z]sections.