← スキル一覧に戻る

release
by lynnswap
⭐ 0🍴 0📅 2026年1月22日
SKILL.md
name: release description: Create a GitHub release with auto-generated release notes. Analyzes commits since the last release, categorizes changes, drafts release notes, and creates the release after user confirmation.
Release
Overview
Automate the creation of GitHub releases with well-structured release notes. This skill:
- Detects the latest release tag
- Determines the next version (user-specified or auto-suggested)
- Analyzes commits since the last release
- Categorizes changes (features, fixes, improvements, etc.)
- Generates a release notes draft
- Creates the release after user confirmation
Workflow
-
Check prerequisites
- Verify
ghCLI is installed and authenticated. - Ensure the working directory is a git repository.
- Check that
originremote exists.
- Verify
-
Get existing releases
- List existing tags:
git tag -l --sort=-v:refname | head -10 - Get latest release:
gh release list --limit 1 - If no releases exist, use the first commit as the base.
- List existing tags:
-
Determine the next version
- If the user specifies a version (e.g.,
v0.2.0), use it. - Otherwise, suggest the next version based on semantic versioning:
- Analyze commit messages for breaking changes, features, or fixes.
BREAKING CHANGEor!:→ major bumpfeat:→ minor bumpfix:,chore:,docs:, etc. → patch bump
- Ask the user to confirm or specify a different version.
- If the user specifies a version (e.g.,
-
Fetch commits since last release
- Get commit log:
git log <last_tag>..HEAD --oneline --no-merges - Get detailed commit information:
git log <last_tag>..HEAD --pretty=format:"%h %s" --no-merges - Get file change statistics:
git diff <last_tag>..HEAD --stat
- Get commit log:
-
Categorize changes
- Parse commit messages and group by type:
- New Features:
feat:prefix or new functionality - Bug Fixes:
fix:prefix - Improvements:
refactor:,perf:prefixes - Documentation:
docs:prefix - Other Changes:
chore:,test:,ci:,build:, etc.
- New Features:
- For non-conventional commits, infer category from content.
- Parse commit messages and group by type:
-
Generate release notes draft
- Use this template:
## <Project Name> <version> ### New Features **<Feature title>** - <Bullet point description> - <Additional details if needed> ### Bug Fixes - <Fix description> ### Improvements - <Improvement description> ### Other Changes - <Other change description> **Full Changelog**: https://github.com/<owner>/<repo>/compare/<last_tag>...<new_tag> - Omit empty sections.
- For significant changes, expand with context from:
- Reading modified files
- Examining PR descriptions (if available)
- Analyzing the diff
- Use this template:
-
Present draft to user
- Display the generated release notes.
- Ask for confirmation or edits:
- Confirm and create
- Edit the notes (user provides corrections)
- Cancel
-
Create the release
- Use
gh release create:gh release create <version> --title "<version>" --notes "$(cat <<'EOF' <release notes content> EOF )" - Report the release URL on success.
- Use
Version Format
- Default format:
v<major>.<minor>.<patch>(e.g.,v1.2.3) - Support alternative formats if the project uses them:
- Without
vprefix:1.2.3 - With pre-release:
v1.2.3-beta.1
- Without
- Match the existing tag format in the repository.
Release Notes Guidelines
- Be concise: 1-2 sentences per item.
- Focus on user impact: What changed for users, not implementation details.
- Group related changes: Multiple commits for one feature become one entry.
- Use active voice: "Add dark mode" not "Dark mode was added".
- Include context: Brief explanation of why the change matters.
Edge Cases
- No commits since last release: Report that there are no changes to release.
- First release: Use all commits from the beginning, or ask for a base commit.
- Merge commits: Skip merge commits (use
--no-merges). - Squash-merged PRs: Treat as single feature commits.
- Pre-release versions: Support
-alpha,-beta,-rcsuffixes.
Options
Specify version
/release v1.0.0
Draft only (don't create)
/release --draft
Include pre-release tag
/release v1.0.0-beta.1 --prerelease
Examples
Basic usage (auto-detect version)
/release
Specify version explicitly
/release v2.0.0
Create a pre-release
/release v1.0.0-rc.1 --prerelease
Error Handling
- If
ghCLI is not installed, show installation instructions. - If not authenticated, prompt
gh auth login. - If no commits since last release, report and exit.
- If release creation fails, show the error and suggest manual creation.
スコア
総合スコア
60/100
リポジトリの品質指標に基づく評価
✓SKILL.md
SKILL.mdファイルが含まれている
+20
✓LICENSE
ライセンスが設定されている
+10
○説明文
100文字以上の説明がある
0/10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
レビュー
💬
レビュー機能は近日公開予定です