既存GitHubリポジトリのメンテナンス(リリース、変更履歴、Issue等)。ghコマンド使用。 トリガー例: 「リリースノート」「リリース」「issue」「repo-maintain」 ※ PR 作成・マージは repo-flow スキルを使用
既存のGitHubリポジトリのメンテナンス作業を支援します。
gh) がインストール済みgh auth login で認証済み$ARGUMENTS から操作タイプを特定:
| 操作 | 引数パターン | 説明 |
|---|---|---|
| release | release [ver], rl [ver], publish [ver] |
リリース作成 |
| changelog | changelog, changes, history |
変更履歴生成 |
| issue | issue [title] |
イシュー作成 |
| status | status, st |
状態確認 |
Git タグと GitHub リリースを作成します。
現在の状態確認
git fetch --tags
git tag -l | tail -5
git log --oneline -10
git status --short
重要: 保留中の変更がある場合は、先にコミットするか確認する
バージョン決定
変更内容収集
PREV_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
git log ${PREV_TAG}..HEAD --pretty=format:"%h %s" --reverse
git diff ${PREV_TAG}...HEAD --stat
リリースノート生成
まず references/RELEASE_NOTES.md のフォーマットを参照:
.claude/skills/repo-maintain/references/RELEASE_NOTES.md
コミットメッセージを解析して分類:
| プレフィックス/Emoji | カテゴリ |
|---|---|
feat:, ✨ |
新機能 |
fix:, 🐛 |
バグ修正 |
refactor:, 🔄 |
リファクタリング |
perf: |
パフォーマンス |
docs:, 📝 |
ドキュメント |
test: |
テスト |
chore: |
その他 |
style: |
スタイル |
| なし | 変更 |
バイリンガルリリースノートの構成:
<img src="https://raw.githubusercontent.com/[user]/[repo]/main/assets/release-header-v[X.Y.Z].svg" alt="v[X.Y.Z] Release"/>
# v[X.Y.Z] - [タイトル] / [English Title]
**リリース日 / Release Date:** YYYY-MM-DD
---
## 日本語 / Japanese
### 概要
[リリースの概要]
### 新機能
- 機能1
- 機能2
### バグ修正
- 修正1
- 修正2
### 変更
- 変更1
- 変更2
---
## English
### Overview
[Release overview]
### What's New
- Feature 1
- Feature 2
### Bug Fixes
- Fix 1
- Fix 2
### Changes
- Change 1
- Change 2
リリースヘッダー画像のカスタマイズ
references/release-header.svg をベースに、バージョン固有のテーマを適用:
カスタマイズ項目:
手順:
assets/release-header-v[X.Y.Z].svg を作成RELEASE_NOTES.md から参照リリース実行(gh コマンド)
生成した RELEASE_NOTES.md を使用して GitHub リリースを作成:
# タグ作成
git tag -a v[version] -m "v[version] - [Release Title]"
# タグプッシュ
git push origin v[version]
# リリース作成(マークダウンファイルを指定)
gh release create v[version] \
--title "v[version] - [Release Title] (YYYY-MM-DD)" \
--notes-file RELEASE_NOTES.md
ポイント:
--notes-file で生成済みのマークダウンを直接指定完了後の処理
直近の変更履歴を生成・表示します。
PREV_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
git log ${PREV_TAG}..HEAD --pretty=format:"%h %s" --reverse
git diff ${PREV_TAG}...HEAD --stat
カテゴリ別に分類して表示(Emoji コンベンション対応)
GitHub イシューを作成します。
gh issue create --title "[title]" --body "[description]" --label "bug,enhancement"
イシューテンプレート:
## 概要
[問題の概要]
## 再現手順
1. 手順1
2. 手順2
## 期待する動作
[期待]
## 実際の動作
[現状]
## 環境
- OS:
- Version:
リポジトリの状態をサマリー表示します。
echo "=== Git Status ==="
git status --short
echo ""
echo "=== Branch ==="
git branch --show-current
echo ""
echo "=== Recent Commits ==="
git log --oneline -5
echo ""
echo "=== GitHub Info ==="
gh repo view --json name,url,visibility,latestRelease 2>/dev/null
echo ""
echo "=== Open PRs ==="
gh pr list --state open --limit 5 2>/dev/null
echo ""
echo "=== Open Issues ==="
gh issue list --state open --limit 5 2>/dev/null
/repo-maintain release 1.0.0
/repo-maintain changelog
/repo-maintain issue "Bug: Login fails"
/repo-maintain status
| スキル | 用途 |
|---|---|
| repo-flow | フィーチャーブランチ作成、PR作成、マージ |
| repo-create | 新規リポジトリ作成 |
| extension-generator | Claude Code 拡張機能の自動生成 |