skills/github-workflow/skills/gh-release/SKILL.md
Use when creating a GitHub release with generated changelog notes and version tagging.
npx skillsauth add dtsong/my-claude-setup gh-releaseInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
v1.2.3, v1.0.0-rc.1) with alphanumeric characters, dots, and hyphens only.../).Create a GitHub release with auto-generated or custom release notes.
/gh-release # Interactive release creation
/gh-release v1.2.0 # Create release for existing tag
/gh-release v1.2.0 --draft # Create as draft
/gh-release v1.2.0 --prerelease # Mark as pre-release
/gh-release --latest # Mark as latest release
/gh-release --generate-notes # Auto-generate from PRs
# Get latest tag
LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
echo "Latest release: $LATEST_TAG"
# Suggest next version based on changes
# Analyze commits since last tag for conventional commit types
COMMITS=$(git log $LATEST_TAG..HEAD --format="%s")
# Suggest version bump
# feat: -> minor, fix: -> patch, BREAKING: -> major
Option A: Auto-generate from PRs
gh release create $VERSION --generate-notes
Option B: Use /gh-changelog output
/gh-changelog --since $LATEST_TAG
# Use output as release notes
Option C: Custom release notes
Use template and fill in details.
# Create release with notes
gh release create v1.2.0 \
--title "v1.2.0 - Feature Name" \
--notes-file release-notes.md
# As draft (for review first)
gh release create v1.2.0 --draft
# As pre-release (alpha/beta/rc)
gh release create v1.2.0-beta.1 --prerelease
# Upload build artifacts
gh release upload v1.2.0 dist/app.zip dist/app.tar.gz
Create New Release
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Version Selection:
Current latest: v1.1.0
Commits since: 23
Suggested versions:
[1] v1.2.0 (minor) - New features added
[2] v1.1.1 (patch) - Bug fixes only
[3] v2.0.0 (major) - Breaking changes
Select version or enter custom:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Release Title:
Default: v1.2.0
Custom: v1.2.0 - Dark Mode & Performance
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Release Notes:
[1] Auto-generate from merged PRs (Recommended)
[2] Use /gh-changelog output
[3] Write custom notes
[4] Use template
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Release Type:
[x] Latest release
[ ] Pre-release
[ ] Draft (review before publishing)
Created release v1.2.0!
URL: https://github.com/owner/repo/releases/tag/v1.2.0
Details:
Tag: v1.2.0
Title: v1.2.0 - Dark Mode & Performance
Type: Latest release
Created: Just now
Release Notes:
## What's Changed
### New Features
* Add dark mode support by @user1 in #123
* Improve theme system by @user2 in #124
### Bug Fixes
* Fix login validation by @user3 in #125
### Performance
* Optimize bundle size by @user4 in #126
**Full Changelog**: v1.1.0...v1.2.0
Assets: None attached
Post-release:
- Announce in #releases channel
- Update documentation
- Monitor for issues
Created draft release v1.2.0
URL: https://github.com/owner/repo/releases/tag/v1.2.0
Status: DRAFT (not published)
The release is saved but not visible to users.
To publish:
gh release edit v1.2.0 --draft=false
Or edit on GitHub:
https://github.com/owner/repo/releases/edit/v1.2.0
~/.claude/skills/github-workflow/templates/release-notes.md:
## What's New in v{{version}}
### Highlights
- [Major feature or change]
### New Features
{{#each features}}
- {{this.title}} (#{{this.pr}})
{{/each}}
### Bug Fixes
{{#each fixes}}
- {{this.title}} (#{{this.pr}})
{{/each}}
### Breaking Changes
{{#if breaking}}
{{#each breaking}}
- {{this.description}}
{{/each}}
{{else}}
None
{{/if}}
### Contributors
{{#each contributors}}
- @{{this}}
{{/each}}
**Full Changelog**: {{previous_tag}}...{{version}}
| Change Type | Version Bump | Example | |-------------|--------------|---------| | Breaking changes | Major | v1.0.0 → v2.0.0 | | New features | Minor | v1.0.0 → v1.1.0 | | Bug fixes | Patch | v1.0.0 → v1.0.1 | | Pre-release | Suffix | v1.0.0-beta.1 |
# Alpha releases (early testing)
/gh-release v1.2.0-alpha.1 --prerelease
# Beta releases (feature complete)
/gh-release v1.2.0-beta.1 --prerelease
# Release candidates (final testing)
/gh-release v1.2.0-rc.1 --prerelease
# Final release
/gh-release v1.2.0
/gh-tag to create tag first (if not using release to create)/gh-changelog to generate release notes/gh-pr-merge to release merged changestesting
Use to convert a Word .docx file to PDF and/or verify its page count. Triggers on: converting docx to pdf, rendering a document, checking how many pages a docx produces, or asserting a page-count constraint (e.g. a resume must stay 2 pages). Wraps LibreOffice headless conversion.
development
Security audit checklist for web applications. Use when reviewing, auditing, or hardening a web app's security posture. Covers rate limiting, auth headers, IP blocking, CORS, security middleware, input validation, file upload limits, ORM usage, and password hashing. Triggers on requests like "review security", "harden this app", "security audit", "check for vulnerabilities", or when building/reviewing API endpoints.
development
Interactive wizard to craft effective prompts using Claude Code best practices
tools
Use when batch labeling, prioritizing, and assigning GitHub issues during triage sessions.