From cms-cultivator
Generates changelog entries, deployment checklists, and updates release PR descriptions from conventional commits. Supports version bump suggestions and focus areas.
How this skill is triggered — by the user, by Claude, or both
Slash command
/cms-cultivator:pr-releaseThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Generate changelog entries, deployment checklists, and update the release PR description. The main session runs this skill directly — no orchestrator agent is involved.
Generate changelog entries, deployment checklists, and update the release PR description. The main session runs this skill directly — no orchestrator agent is involved.
This skill updates a GitHub PR description — an action that modifies publicly visible content:
gh pr editConfirmation required before updating the PR. Present all artifacts for review and wait for explicit approval before running gh pr edit.
This skill does not create git tags, merge the PR, or deploy. Those remain manual.
/pr-release [version-or-focus]Focus options: changelog, deploy, update, or a version number like 1.2.0.
release/<version> or similar)feat, fix, breaking, chore, etc.)gh) installed and authenticated for the Tier 2 path1.2.0, v2.3.4, 1.0.0-rc1) — use it as the target version.changelog / deploy / update — focus the output on that section only..claude-plugin/plugin.json for this repo, composer.json, style.css for WP themes, *.info.yml for Drupal modules).CHANGELOG.md to find the previous released version.feat: → minor bump (1.X.0)BREAKING CHANGE: or !: → major bump (X.0.0)fix/chore/docs → patch bump (1.0.X)Run in parallel:
git describe --tags --abbrev=0 (or read CHANGELOG.md)git log --oneline <prev-tag>..HEADgit log <prev-tag>..HEAD --pretty=format:"%s%n%b"git diff --stat <prev-tag>..HEADGroup by conventional commit type for the changelog:
| Commit type | Changelog section |
|---|---|
feat: | Added |
fix: | Fixed |
refactor: | Changed |
perf: | Changed |
docs: | Changed (or Documentation) |
BREAKING CHANGE: / !: | Breaking Changes |
security: (or fix related to vulns) | Security |
Within each section, write one human-readable line per commit. Don't just copy the commit subject — translate to user-facing language where appropriate.
Scan the diff for:
Drupal:
config/sync/ changes → drush config:importhook_update_N → drush updatedbcomposer install --no-dev + drush en <module>drush cache:rebuild*.routing.yml entries → rebuild routesWordPress:
acf-json/ → re-sync via ACF UI or WP-CLIregister_post_type, register_taxonomy, rewrite changes → flush permalinksblock.json / src/blocks/ changes → run build, clear editor cache## [<version>] - <YYYY-MM-DD>
### Added
- <user-facing description of feature>
### Changed
- <user-facing description of change>
### Fixed
- <user-facing description of fix>
### Security
- <vulnerability fix>
### Breaking Changes
- <breaking change with migration note>
### Drupal-Specific Upgrade Notes
- Run: `drush updatedb`
- Run: `drush config:import`
- Clear cache: `drush cache:rebuild`
### WordPress-Specific Upgrade Notes
- Flush permalinks: Settings → Permalinks → Save
- Re-sync ACF fields from `acf-json/`
Omit any section that has no entries.
## Pre-Deployment
- [ ] Code review complete
- [ ] Tests passing in CI
- [ ] Database backup taken
- [ ] Multidev/staging validated
- [ ] Client UAT complete (if applicable)
## Deployment Steps
1. [ ] Merge release PR to main
2. [ ] Pull on production: `git pull origin main`
3. [ ] Run: `composer install --no-dev` (if dependencies changed)
4. [ ] <CMS-specific step from step 5>
5. [ ] <CMS-specific step from step 5>
## Post-Deployment
- [ ] Smoke test critical user flows: <list>
- [ ] Monitor error logs for 15 minutes
- [ ] Notify stakeholders of completion
## Rollback Plan
- [ ] Database restore command ready
- [ ] Revert git ref: `<previous-tag>`
- [ ] Cache flush after rollback
Suggest specific edits to the existing PR description — usually:
Release: v<version> or chore(release): v<version>Your response must start immediately with the approval header. No preamble.
=== RELEASE ARTIFACTS READY FOR APPROVAL ===
## Changelog Entry
<changelog>
## Deployment Checklist
<checklist>
## Proposed PR Description Update
**New title:** <title>
**Body:**
<body>
===================================
Reply "approve" to update the PR and save these artifacts, or provide your edits.
⛔ Do not run gh pr edit or write to CHANGELOG.md until the user replies "approve" or provides edits.
On approval:
CHANGELOG.md — insert the new entry under ## [Unreleased] (move existing Unreleased content into the new version block if appropriate).plugin.json, composer.json, style.css).gh pr edit <pr-number> --title "<title>" --body "$(cat <<'EOF'\n<body>\nEOF\n)".git tag v<version> && git push --tags when ready."gh CLI)CHANGELOG.md and version files locally; the user pushes.npx claudepluginhub kanopi/claude-toolbox --plugin cms-cultivatorAutomates changelog generation from commits, PRs, and releases following Keep a Changelog format. Use for release workflows, generating release notes, or standardizing commit conventions.
Generates and manages changelogs/release notes from git history and Conventional Commits. Supports Keep a Changelog format, breaking change docs, migration guides, audience-specific notes.
Automates changelog generation from commits, PRs, and releases following Keep a Changelog format. Use when setting up release workflows, generating release notes, or standardizing commit conventions.