From principled-release
Draft a human-reviewable release plan summarizing all changes since the last tag, grouped by module and category. Includes outstanding items and suggested release steps.
How this skill is triggered — by the user, by Claude, or both
Slash command
/principled-release:release-planThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Draft a release plan document summarizing all changes since the last tag, grouped by module and category. The plan is written to a local file for team review before proceeding with the release.
Draft a release plan document summarizing all changes since the last tag, grouped by module and category. The plan is written to a local file for team review before proceeding with the release.
/release-plan [--since <tag>] [--version <version>]
| Argument | Required | Description |
|---|---|---|
--since <tag> | No | Git tag to use as starting point. Auto-detects latest if absent |
--version <version> | No | The target version for the release plan header |
gh CLI recommended for enriched PR context (optional)Verify prerequisites. Check that gh is available:
bash scripts/check-gh-cli.sh
Determine the starting tag. If --since is provided, use it. Otherwise, find the most recent tag:
git describe --tags --abbrev=0
Collect changes. Use the changelog skill's collector to map commits to pipeline documents:
bash ../changelog/scripts/collect-changes.sh --since <tag>
Detect modules. Run the module detector to identify modules and versions:
bash ../version-bump/scripts/detect-modules.sh
Check readiness. Run the readiness checker to identify outstanding items:
bash ../release-ready/scripts/check-readiness.sh --since <tag>
Documents not in terminal status become "Outstanding Items" in the plan.
Generate the release plan. Read the template from templates/release-plan.md and fill in:
{{VERSION}} --- target version (or "Next" if not specified){{DATE}} --- current date{{SINCE_TAG}} --- the starting tag{{COMMIT_COUNT}} --- total commits since the tag{{MODULES_SECTION}} --- modules affected with current and proposed versions{{FEATURES_SECTION}} --- features from accepted proposals{{IMPROVEMENTS_SECTION}} --- improvements from plan tasks{{DECISIONS_SECTION}} --- ADRs recorded during this period{{OUTSTANDING_SECTION}} --- non-terminal documents that need attentionWrite the plan. Save to a local file:
.release/release-plan-<version>.md
Create the .release/ directory if it does not exist.
Report results.
Release plan drafted:
File: .release/release-plan-0.4.0.md
Modules: 3 affected
Features: 2 (from RFC-004, RFC-005)
Outstanding: 1 item (Plan-006 still active)
Review the plan and resolve outstanding items before proceeding.
scripts/check-gh-cli.sh --- Verify gh CLI availability and auth status (copy from principled-github canonical)templates/release-plan.md --- Release plan document template with placeholder variablesnpx claudepluginhub alexnodeland/principled --plugin principled-releasePrepares release artifacts (PUBLIC-NOTES.md, CHANGELOG.md, summaries, migration guides) and audits readiness (blockers, docs alignment, versions, CVEs) from git ranges. Full prepare pipeline available.
Plans and executes software releases: inventories git changes, applies semantic versioning, generates changelog and release notes, updates files, creates tags, and publishes to GitHub. Use before new versions.
Generates Keep a Changelog release notes from git changes since a tag. Categorizes commits/PRs by semver impact, suggests version bump, includes PR links.