Back to Skills

create-github-release

pjt222
Updated Yesterday
3 views
17
2
17
View on GitHub
Metageneral

About

This Claude Skill creates GitHub releases with proper version tagging, release notes, and optional build artifacts. It handles semantic versioning and changelog generation using GitHub CLI, ideal for marking stable versions or distributing new library/application releases. Developers can use it to publish versions with attached binaries and generate stakeholder-ready release notes.

Quick Install

Claude Code

Recommended
Primary
npx skills add pjt222/agent-almanac -a claude-code
Plugin CommandAlternative
/plugin add https://github.com/pjt222/agent-almanac
Git CloneAlternative
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/create-github-release

Copy and paste this command in Claude Code to install this skill

Documentation


name: create-github-release description: > 適切なタグ付け、リリースノート、オプションのビルド成果物を含む GitHubリリースを作成します。セマンティックバージョニング、 チェンジログ生成、GitHub CLIの使用方法を網羅。安定バージョンを 配布用にマーク、ライブラリやアプリケーションの新バージョン公開、 ステークホルダー向けリリースノート作成、ビルド成果物の配布時に使用。 locale: ja source_locale: en source_commit: 6f65f316 translator: claude-opus-4-6 translation_date: 2026-03-16 license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: git complexity: basic language: multi tags: github, release, git-tags, changelog, versioning

GitHubリリースの作成

タグ付きGitHubリリースをリリースノートとオプションの成果物とともに作成する。

使用タイミング

  • ソフトウェアの安定バージョンを配布用にマークするとき
  • ライブラリやアプリケーションの新バージョンを公開するとき
  • ステークホルダー向けのリリースノートを作成するとき
  • ビルド成果物(バイナリ、tarball)を配布するとき

入力

  • 必須: バージョン番号(セマンティックバージョニング)
  • 必須: 前回リリースからの変更点の概要
  • 任意: 添付するビルド成果物
  • 任意: プレリリースかどうか

手順

ステップ1: バージョン番号の決定

セマンティックバージョニング(MAJOR.MINOR.PATCH)に従う:

変更の種類タイミング
MAJOR1.0.0 -> 2.0.0破壊的変更
MINOR1.0.0 -> 1.1.0後方互換性のある新機能
PATCH1.0.0 -> 1.0.1バグ修正のみ

期待結果: 前回リリースからの変更の範囲を正確に反映するバージョン番号が選択される。

失敗時: 変更が破壊的かどうか不明な場合、公開APIの差分をレビューする。エクスポートされた関数の削除またはシグネチャ変更はすべて、MAJORのバンプが必要な破壊的変更である。

ステップ2: プロジェクトファイルのバージョン更新

  • DESCRIPTION(Rパッケージ)
  • package.json(Node.js)
  • Cargo.toml(Rust)
  • pyproject.toml(Python)

期待結果: バージョン番号が適切なプロジェクトファイルで更新され、バージョン管理にコミットされる。

失敗時: 前の手順(例: Rの usethis::use_version())でバージョンがすでに更新されている場合、意図したリリースバージョンと一致しているか確認する。

ステップ3: リリースノートの作成

チェンジログを作成または更新する。カテゴリ別に整理する:

## What's Changed

### New Features
- Added user authentication (#42)
- Support for custom themes (#45)

### Bug Fixes
- Fixed crash on empty input (#38)
- Corrected date parsing in UTC (#41)

### Improvements
- Improved error messages
- Updated dependencies

### Breaking Changes
- `old_function()` renamed to `new_function()` (#50)

**Full Changelog**: https://github.com/user/repo/compare/v1.0.0...v1.1.0

期待結果: リリースノートがカテゴリ別(機能、修正、破壊的変更)に整理され、トレーサビリティのためにIssue/PRの参照が含まれている。

失敗時: 変更の分類が難しい場合、git log v1.0.0..HEAD --oneline で前回リリース以降の変更リストを再構成する。

ステップ4: Gitタグの作成

git tag -a v1.1.0 -m "Release v1.1.0"
git push origin v1.1.0

期待結果: アノテーション付きタグ v1.1.0 がローカルとリモートに存在する。git tag -l にタグが表示される。

失敗時: タグがすでに存在する場合、git tag -d v1.1.0 && git push origin :refs/tags/v1.1.0 で削除してから再作成する。プッシュが拒否される場合、リモートへの書き込みアクセス権があるか確認する。

ステップ5: GitHubリリースの作成

GitHub CLI使用(推奨):

gh release create v1.1.0 \
  --title "v1.1.0" \
  --notes-file CHANGELOG.md

成果物を添付する場合:

gh release create v1.1.0 \
  --title "v1.1.0" \
  --notes "Release notes here" \
  build/app-v1.1.0.tar.gz \
  build/app-v1.1.0.zip

プレリリースの場合:

gh release create v2.0.0-beta.1 \
  --title "v2.0.0 Beta 1" \
  --prerelease \
  --notes "Beta release for testing"

期待結果: GitHubにリリースがタグ、ノート、添付成果物(ある場合)とともに表示される。

失敗時: gh が認証されていない場合、gh auth login を実行する。タグがリモートに存在しない場合、先に git push origin v1.1.0 でプッシュする。

ステップ6: リリースノートの自動生成

GitHubはマージされたPRからノートを自動生成できる:

gh release create v1.1.0 \
  --title "v1.1.0" \
  --generate-notes

.github/release.yml でカテゴリを設定する:

changelog:
  categories:
    - title: New Features
      labels:
        - enhancement
    - title: Bug Fixes
      labels:
        - bug
    - title: Documentation
      labels:
        - documentation
    - title: Other Changes
      labels:
        - "*"

期待結果: リリースノートがマージされたPRのタイトルからラベル別にカテゴリ化されて自動生成される。.github/release.yml でカテゴリが制御される。

失敗時: 自動生成ノートが空の場合、PRがクローズではなくマージされていること、ラベルが割り当てられていることを確認する。代替手段としてノートを手動で記述する。

ステップ7: リリースの確認

# List releases
gh release list

# View specific release
gh release view v1.1.0

期待結果: gh release list に新しいリリースが表示される。gh release view に正しいタイトル、タグ、ノート、アセットが表示される。

失敗時: リリースが見つからない場合、Actionsタブで失敗したリリースワークフローを確認する。git tag -l でタグが存在するか確認する。

バリデーション

  • バージョンタグがセマンティックバージョニングに従っている
  • Gitタグが正しいコミットを指している
  • リリースノートが変更を正確に説明している
  • 成果物(ある場合)が添付されダウンロード可能である
  • GitHubリポジトリページにリリースが表示されている
  • プレリリースフラグが正しく設定されている

よくある落とし穴

  • 誤ったコミットへのタグ付け: タグ付け前に必ず git log を確認する。バージョンバンプのコミット後にタグ付けする。
  • タグのプッシュ忘れ: git push はタグをプッシュしない。git push --tags または git push origin v1.1.0 を使用する。
  • バージョン形式の不統一: v1.0.01.0.0 のどちらかに決めて統一する。
  • 空のリリースノート: 常に意味のあるノートを提供する。ユーザーは何が変わったかを知る必要がある。
  • タグの削除と再作成: プッシュ後のタグ変更は避ける。必要であれば新しいバージョンを作成する。

関連スキル

  • commit-changes - ステージングとコミットのワークフロー
  • manage-git-branches - リリース準備のためのブランチ管理
  • release-package-version - R固有のリリースワークフロー
  • configure-git-repository - Gitセットアップの前提条件
  • setup-github-actions-ci - CIを通じたリリースの自動化

GitHub Repository

pjt222/agent-almanac
Path: i18n/ja/skills/create-github-release
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Related Skills

content-collections

Meta

This skill provides a production-tested setup for Content Collections, a TypeScript-first tool that transforms Markdown/MDX files into type-safe data collections with Zod validation. Use it when building blogs, documentation sites, or content-heavy Vite + React applications to ensure type safety and automatic content validation. It covers everything from Vite plugin configuration and MDX compilation to deployment optimization and schema validation.

View skill

polymarket

Meta

This skill enables developers to build applications with the Polymarket prediction markets platform, including API integration for trading and market data. It also provides real-time data streaming via WebSocket to monitor live trades and market activity. Use it for implementing trading strategies or creating tools that process live market updates.

View skill

creating-opencode-plugins

Meta

This skill helps developers create OpenCode plugins that hook into 25+ event types like commands, files, and LSP operations. It provides the plugin structure, event API specifications, and implementation patterns for JavaScript/TypeScript modules. Use it when you need to intercept, monitor, or extend the OpenCode AI assistant's lifecycle with custom event-driven logic.

View skill

sglang

Meta

SGLang is a high-performance LLM serving framework that specializes in fast, structured generation for JSON, regex, and agentic workflows using its RadixAttention prefix caching. It delivers significantly faster inference, especially for tasks with repeated prefixes, making it ideal for complex, structured outputs and multi-turn conversations. Choose SGLang over alternatives like vLLM when you need constrained decoding or are building applications with extensive prefix sharing.

View skill