install
source · Clone the upstream repo
git clone https://github.com/corv89/shannot
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/corv89/shannot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/release" ~/.claude/skills/corv89-shannot-release && rm -rf "$T"
manifest:
.claude/skills/release/SKILL.mdsource content
/release - Tag and Publish Release
Purpose
Merge PR, tag release, and create GitHub release with changelog notes.
Prerequisites
- PR exists and all CI checks pass
- You're ready to release (this is not reversible)
Process
-
Verify PR status
gh pr status gh pr checksStop if checks are failing.
-
Merge PR
gh pr merge --squash --delete-branch -
Pull main and verify version
git checkout main git pullConfirm version in pyproject.toml matches intended release.
-
Create and push tag
git tag vX.Y.Z git push origin vX.Y.Z -
Create GitHub release
gh release create vX.Y.Z --title "vX.Y.Z" --notes-file <changelog-section>Extract the relevant section from CHANGELOG.md for release notes. Mark as prerelease if appropriate (
).--prerelease
Notes
- CI typically handles PyPI publishing on tag push
- If release fails, delete the tag before retrying:
git tag -d vX.Y.Z git push origin :refs/tags/vX.Y.Z