Skip to content
Documentation
Skill

/release

Ship releases with rich, auto-written notes instead of hand-typed bullet points. Use when cutting a release — promote the changelog, synthesize notes from your CHANGELOG, ADRs and commits, tag the release, and optionally publish via the gh CLI. Degrades gracefully to a notes

From plugin
chronicle
46 skills4 commands
Install
$ npx -y skills add sp-daewoon/chronicle --skill release --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/release

Context preview

The summary Claude sees to decide when to auto-load this skill.

Ship releases with rich, auto-written notes instead of hand-typed bullet points. Use when cutting a release — promote the changelog, synthesize notes from your CHANGELOG, ADRs and commits, tag the release, and optionally publish via the gh CLI. Degrades gracefully to a notes

SKILL.md

release.SKILL.md
name: release
description: Ship releases with rich, auto-written notes instead of hand-typed bullet points. Use when cutting a release — promote the changelog, synthesize notes from your CHANGELOG, ADRs and commits, tag the release, and optionally publish via the gh CLI. Degrades gracefully to a notes file when gh is absent, and adapts to any repo via config.
license: MIT

Release Workflow

Cut a release end to end.

1. Promote the changelog

node "${CLAUDE_PLUGIN_ROOT}/scripts/changelog-parse.mjs" release --version <X.Y.Z> --date <today>

2. Gather context for notes

Find the previous tag and the commits/ADRs since then:

PREV=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
COMMITS=$( [ -n "$PREV" ] && git log "$PREV"..HEAD --pretty=format:'%s' || git log --pretty=format:'%s' )

Collect new ADRs by diffing the ADR directory since `$PREV` (use `git diff --name-only --diff-filter=A "$PREV"..HEAD -- <adr.dir>`). Build a JSON object `{ "adrs": [{number,title,file}], "commits": ["..."] }`.

3. Synthesize notes

Pipe the JSON into the helper:

echo "$JSON" | node "${CLAUDE_PLUGIN_ROOT}/scripts/release-notes.mjs" --version <X.Y.Z>

This writes `RELEASE_NOTES.md` and prints the notes. The notes combine the changelog section for this version, new ADRs, and a collapsed commit list.

4. Tag and publish

git tag <tagPrefix><X.Y.Z>     # tagPrefix from config, default "v"

If `gh` is installed and a remote exists, publish:

gh release create <tagPrefix><X.Y.Z> --notes-file RELEASE_NOTES.md

If `gh` is unavailable, stop here and tell the user the notes are in `RELEASE_NOTES.md` for manual upload.

Rules

  • Never tag before the changelog is promoted (step 1 must precede step 4).
  • `gh` is optional — degrade gracefully to the notes file.
  • Use the real version and date; confirm the version bump with the user if ambiguous.
Read more
Ships withchronicle

A SKILL.md-based Agent Skills / Claude Code plugin that automates your project's documentation lifecycle — ADR automation, changelog automation, release notes, devlogs, and a project index — as six focused skills.

Get the whole plugin
Stats
4
Stars
2
Forks
Maintained
Maintenance
JavaScript
Language
MIT
License
3mo ago
Last commit
3mo ago
Created

Repo: sp-daewoon/chronicle

Other skills on chronicle.