| name | release |
| description | Cut a new release of the marketing-skills plugin. Only trigger when the user explicitly invokes /release. |
Cut a Release
Trigger the Cut Release workflow to bump the version, tag, and publish a GitHub Release.
1. Pre-flight checks
-
Confirm you are on release and up to date:
git checkout release && git pull origin release
-
Check that CI is green on release:
gh run list --branch release --limit 3 --json status,conclusion,name
If the latest CI run is not successful, warn the user and ask whether to proceed.
-
Check for any existing draft releases that need to be published or deleted first:
gh release list --json isDraft,tagName --jq '.[] | select(.isDraft == true)'
If a draft exists, tell the user and ask what to do (publish it, delete it, or abort).
2. Show what's shipping
- Read the current version from
plugins/tiger-marketing-skills/.claude-plugin/plugin.json.
- Show PRs merged since the last tag:
LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
if [ -n "$LAST_TAG" ]; then
SINCE=$(git log -1 --format=%aI "$LAST_TAG")
gh pr list --state merged --search "merged:>=${SINCE}" --base release --json number,title,labels --limit 50
else
echo "No previous tags — this will be the first release"
fi
- Group the PRs by label category (skill, enhancement/feature, fix/bug, infra, docs) and present them. This previews what the release notes will look like.
3. Choose bump type
Ask the user which version bump to use:
- patch — Bug fixes, minor improvements
- minor — New skills or features
- major — Breaking changes (rare)
If the user already specified the bump type (e.g., /release patch), use it without asking.
Also ask if they want to create it as a draft first (to edit release notes before publishing). Default is no.
4. Trigger the release
gh workflow run cut-release.yml --ref release -f bump=<bump_type> -f draft=<true|false>
5. Monitor the release
Wait a few seconds, then check the workflow run status:
gh run list --workflow=cut-release.yml --limit 1 --json status,conclusion,url,databaseId
If still in progress, poll until complete. Report the workflow URL so the user can follow along.
6. Confirm
Once complete: