Create Release
Description
Create a tagged GitHub release with structured release notes. Audits commits since last release, updates CHANGELOG.md, builds release notes, asks for confirmation, then publishes.
Installation
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open the source below and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
Repository README
This is the README for levnikolaevich/claude-code-skills, shared by 22 entries
in this directory. It describes the repository, not this entry specifically.
description: Create a GitHub release — audits commits, updates CHANGELOG, builds release notes allowed-tools: Read, Bash, Grep, AskUserQuestion
Create Release
Create a tagged GitHub release with structured release notes. Audits commits since last release, updates CHANGELOG.md, builds release notes, asks for confirmation, then publishes.
Prerequisites
| Requirement | Check Command | Install |
|---|---|---|
| GitHub CLI | gh --version |
cli.github.com |
| Authenticated | gh auth status |
gh auth login |
Workflow
1. Determine Version (CalVer)
Default version is today's date in CalVer format: `YYYY.MM.DD`.
date +%Y.%m.%d
Store as `VERSION`. If `$ARGUMENTS` is provided, use it as version override instead.
Also update the version in README.md badge and marketplace.json to match the new release version.
2. Check for Existing Release
gh release view "v${VERSION}" 2>&1
If release already exists, stop and inform the user. Do NOT overwrite.
3. Audit Commits Since Last Release
CHANGELOG is a summary, **commits are the source of truth**. Always verify.
gh release list --limit 1 # find last release tag
git log {LAST_TAG}..HEAD --oneline # overview
git log {LAST_TAG}..HEAD --format="%h %s%n%b" --no-merges # full bodies
Collect all changes from commits — not just what CHANGELOG says.
4. Update CHANGELOG.md
Compare commits vs existing CHANGELOG entries:
- If CHANGELOG is missing items or inaccurate — update it with bullet points derived from commits
- Max 5 bullets per entry (per CHANGELOG scope comment)
- Use
## YYYY-MM-DDheading format
5. Build Release Notes
Assemble release notes from the **updated** CHANGELOG:
## What's New in v{VERSION}
{bullets from updated CHANGELOG}
### Install
/plugin add levnikolaevich/claude-code-skills
**All plugins & docs:** [README.md](README.md)
6. Confirm with User
Present the assembled release notes and version tag to the user via AskUserQuestion:
- Show:
Release: v{VERSION} - Show: full release notes markdown
- Ask: "Publish this release? (yes/no)"
Do NOT proceed without explicit confirmation.
7. Create Release
gh release create "v${VERSION}" --title "v${VERSION}" --notes "${RELEASE_NOTES}"
**Verify:**
gh release view "v${VERSION}" --json tagName,url --jq '"\(.tagName) -> \(.url)"'
Report the release URL to the user.
Troubleshooting
| Issue | Solution |
|---|---|
| Version not found in README | Check badge format: version-X.Y.Z-blue |
| Release already exists | Use a new version or delete the existing release first |
| CHANGELOG empty or no recent entry | Add a ## YYYY-MM-DD section with bullets before creating release |
gh not authenticated |
Run gh auth login |
Related Documentation
- README.md -- versio
Related Skills
Doc Co-authoring
Guide users through structured workflow for co-authoring documentation
Documentation Docx
Create, edit, and analyze Word documents with tracked changes, comments, and formatting
Documentation Extract text, create PDFs, merge/split documents, and handle forms
Documentation Pptx
Create, edit, and analyze PowerPoint presentations with layouts and templates
Documentation Xlsx
Create, edit, and analyze Excel spreadsheets with formulas, formatting, and visualization
Documentation mcp-server-fetch
Fetch and convert web pages to markdown.
Documentation