一键导入
github-release-creator
Automates the creation of GitHub releases using the GitHub CLI (gh)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Automates the creation of GitHub releases using the GitHub CLI (gh)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Write the end-of-session deliverables for QuickMUD ROM-parity work — generate docs/sessions/SESSION_SUMMARY_<date>_<topic>.md and refresh docs/sessions/SESSION_STATUS.md from the session's git diff and trackers touched. Use when the user says "wrap up", "write the session summary", "session handoff", at end of a parity audit, or after rom-gap-closer batches. Follows the AGENTS.md "Session Notes" conventions exactly.
Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.
Run a completeness sweep on ONE ROM↔Python divergence class (async-delivery, RNG, equipment-key, pointer-identity, signed-math, ordering, …) and route it to its correct verification layer. Use when measuring "how close to done" on a known class, validating that a class is clean, or converting a hand-verified contract into a self-maintaining guard. Encodes the convergence-probe + recall-oracle + layer-routing method. Status lives in docs/parity/DIVERGENCE_CLASS_ROSTER.md; this skill produces a guard test (Layer A), a domain-read note (Layer B), or a diff_harness scenario (Layer C) — never a bare ✅ in an instruction file. NOT a replacement for cross-INV probe-then-scope, rom-gap-closer, or rom-parity-audit — it points work INTO them.
Close a single ROM parity gap by ID (e.g. DROP-001, ENTER-002, GET-013, HANDLER-014, QUAFF-001). Use when the user names a specific gap to fix, or when working through gaps from a docs/parity/<FILE>_C_AUDIT.md audit. Runs the standard TDD close flow: locate ROM C lines, locate Python entry point, gitnexus_impact upstream, write a failing integration test in tests/integration/, implement the fix in mud/, update the audit doc row to FIXED, add a CHANGELOG entry, and produce a single feat(parity) or fix(parity) commit. Not for bulk audits — use rom-parity-audit for those.
Run a full ROM 2.4b6 → Python parity audit on a single ROM C source file (e.g. act_obj.c, scan.c, special.c). Use when starting a new file-level audit, when the user says "audit X.c", or when ROM_C_SUBSYSTEM_AUDIT_TRACKER.md shows a P0/P1 file as Partial/Not Audited. Encodes the 5-phase methodology: (1) read ROM C and Python entry point, (2) write per-file audit doc with gap table, (3) ID gaps with stable IDs (FILE-001 etc.), (4) close gaps via integration tests + implementation (defer to rom-gap-closer per gap), (5) flip tracker rows and write a session summary. Not for single-gap closures — use rom-gap-closer for those.
| name | github-release-creator |
| description | Automates the creation of GitHub releases using the GitHub CLI (gh) |
| license | Apache-2.0 |
| metadata | {"version":"1.0.0","author":"QuickMUD Project","tags":["github","releases","automation","ci-cd"],"requirements":["GitHub CLI (gh) installed and authenticated","Git repository with remote origin","CHANGELOG.md file (optional but recommended)"]} |
A comprehensive Claude Desktop skill for creating, managing, and publishing GitHub releases with proper versioning, release notes, and asset management.
This skill enables AI assistants to efficiently create professional GitHub releases using the GitHub CLI (gh), including generating release notes, managing tags, and attaching release assets.
GitHub CLI (gh): https://cli.github.com/
# macOS
brew install gh
# Linux
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update
sudo apt install gh
Git: Version control (usually pre-installed)
# Login to GitHub
gh auth login
# Verify authentication
gh auth status
# List existing tags
git tag -l
# Create release from tag
gh release create v1.0.0 \
--title "Release v1.0.0: Feature Name" \
--notes-file RELEASE_NOTES.md
# Create tag and release together
gh release create v1.0.0 \
--title "Release v1.0.0: Feature Name" \
--notes "Release description here" \
--target main
# Generate release notes automatically
gh release create v1.0.0 \
--title "Release v1.0.0" \
--generate-notes
gh release create v1.0.0-beta.1 \
--title "Beta Release v1.0.0-beta.1" \
--notes "Beta testing release" \
--prerelease
# Create draft for review before publishing
gh release create v1.0.0 \
--title "Release v1.0.0" \
--notes-file CHANGELOG.md \
--draft
# Upload binary files, packages, etc.
gh release create v1.0.0 \
--title "Release v1.0.0" \
--notes "Release with assets" \
dist/*.tar.gz dist/*.zip
# Extract specific version section
sed -n '/^## \[1.0.0\]/,/^## \[/p' CHANGELOG.md | sed '$d' > RELEASE_NOTES.md
# Create release with extracted notes
gh release create v1.0.0 \
--title "Release v1.0.0" \
--notes-file RELEASE_NOTES.md
Release notes generated from conventional commits:
feat: - New featuresfix: - Bug fixesdocs: - Documentation changeschore: - Maintenance tasksrefactor: - Code refactoringtest: - Test additions/changesperf: - Performance improvementsExample:
# Commits like:
# feat: Add user authentication
# fix: Resolve memory leak in parser
# docs: Update API documentation
# Generate notes:
gh release create v1.0.0 --generate-notes
## What's Changed
### 🚀 New Features
- Feature 1 description
- Feature 2 description
### 🐛 Bug Fixes
- Fix 1 description
- Fix 2 description
### 📚 Documentation
- Doc update 1
- Doc update 2
### 🔧 Maintenance
- Chore 1
- Chore 2
**Full Changelog**: https://github.com/owner/repo/compare/v0.9.0...v1.0.0
Update Version Numbers
# Update pyproject.toml, package.json, etc.
# Update README.md badges
Update CHANGELOG.md
# Add new version section
# Document all changes
Commit Changes
git add -A
git commit -m "Release v1.0.0: Description"
Create and Push Tag
git tag -a v1.0.0 -m "Release v1.0.0: Description"
git push origin main --tags
Extract Release Notes
# From CHANGELOG.md
sed -n '/^## \[1.0.0\]/,/^## \[/p' CHANGELOG.md | sed '$d' > /tmp/release_notes.md
Create GitHub Release
gh release create v1.0.0 \
--title "v1.0.0 - Feature Name" \
--notes-file /tmp/release_notes.md
Verify Release
# View release
gh release view v1.0.0
# List all releases
gh release list
# Edit release notes
gh release edit v1.0.0 --notes "Updated release notes"
# Change title
gh release edit v1.0.0 --title "New Title"
# Convert draft to published
gh release edit v1.0.0 --draft=false
# Mark as latest
gh release edit v1.0.0 --latest
# Delete release but keep git tag
gh release delete v1.0.0 --yes
# Delete release
gh release delete v1.0.0 --yes
# Delete tag
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0
# Upload to existing release
gh release upload v1.0.0 path/to/asset.zip
# Download all assets
gh release download v1.0.0
# Download specific asset
gh release download v1.0.0 --pattern "*.tar.gz"
Format: MAJOR.MINOR.PATCH
1.0.0-alpha.11.0.0-beta.11.0.0-rc.1Breaking changes? → MAJOR version
└─ No → New features? → MINOR version
└─ No → Bug fixes only? → PATCH version
#!/bin/bash
# scripts/extract_changelog.sh
VERSION=$1
sed -n "/^## \[$VERSION\]/,/^## \[/p" CHANGELOG.md | sed '$d' > /tmp/release_notes_$VERSION.md
echo "Release notes extracted to /tmp/release_notes_$VERSION.md"
#!/bin/bash
# scripts/create_release.sh
VERSION=$1
TITLE=$2
# Extract notes
./scripts/extract_changelog.sh $VERSION
# Create release
gh release create v$VERSION \
--title "$TITLE" \
--notes-file /tmp/release_notes_$VERSION.md
echo "Release v$VERSION created!"
#!/bin/bash
# scripts/validate_release.sh
VERSION=$1
echo "Validating release prerequisites for v$VERSION..."
# Check if tag exists
if git tag -l | grep -q "^v$VERSION$"; then
echo "✓ Tag v$VERSION exists"
else
echo "✗ Tag v$VERSION does not exist"
exit 1
fi
# Check if CHANGELOG has version
if grep -q "## \[$VERSION\]" CHANGELOG.md; then
echo "✓ CHANGELOG.md has entry for $VERSION"
else
echo "✗ CHANGELOG.md missing entry for $VERSION"
exit 1
fi
# Check if committed
if git diff-index --quiet HEAD --; then
echo "✓ No uncommitted changes"
else
echo "✗ Uncommitted changes exist"
exit 1
fi
echo "All checks passed! Ready to create release."
# Solution: Delete and recreate tag
git tag -d v1.0.0
git push origin :refs/tags/v1.0.0
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
# Solution: Delete and recreate release
gh release delete v1.0.0 --yes
gh release create v1.0.0 --title "..." --notes "..."
# Solution: Install GitHub CLI
brew install gh # macOS
# or follow installation instructions above
# Solution: Re-authenticate
gh auth login
gh auth status
# GitHub token (if not using gh auth)
export GITHUB_TOKEN="ghp_xxxxxxxxxxxx"
# Default repository (optional)
export GH_REPO="owner/repo"
# 1. Update version in pyproject.toml
sed -i '' 's/version = ".*"/version = "1.0.0"/' pyproject.toml
# 2. Update CHANGELOG.md
# (manual or automated)
# 3. Commit and tag
git add pyproject.toml CHANGELOG.md
git commit -m "Release v1.0.0"
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin main --tags
# 4. Create release
./scripts/create_release.sh 1.0.0 "v1.0.0 - Feature Name"
# Use npm version to bump
npm version minor # Creates tag automatically
# Push tag
git push origin main --tags
# Create release
gh release create $(git describe --tags --abbrev=0) \
--title "Release $(git describe --tags --abbrev=0)" \
--generate-notes
# List releases
gh release list
# View specific release
gh release view v1.0.0
# Create release
gh release create v1.0.0 --title "Title" --notes "Notes"
# Create with assets
gh release create v1.0.0 --notes "Notes" dist/*
# Create draft
gh release create v1.0.0 --notes "Notes" --draft
# Create pre-release
gh release create v1.0.0-beta --notes "Notes" --prerelease
# Generate notes automatically
gh release create v1.0.0 --generate-notes
# Edit release
gh release edit v1.0.0 --notes "Updated notes"
# Delete release
gh release delete v1.0.0 --yes
# Upload asset
gh release upload v1.0.0 file.zip
# Download release
gh release download v1.0.0
Skill Version: 1.0.0
Last Updated: 2025-12-27
Maintainer: GitHub Release Automation