Claude CodeでGitHubのIssueからPRまで自動化 — 一晩放っておける設定

深夜に Issue を立てて寝たら、朝には PR が来ていた。ただし、最初の 2 週間は「朝には PR」ではなく「朝には失敗通知」だった。
Issue → PR の自動化フロー自体は設定 30 分で動く。問題は「放置できる水準」にするまでの過程だ。失敗を検知せずに止まれないと、トークンを溶かしながら壊れたブランチが積み上がっていく。Hooks で失敗検知を入れたのが転換点で、ようやく「一晩放置して朝に PR を確認する」運用が成立した。
この記事では、自分が実際に組んで 2 週間運用した実装(失敗と修正込み)を、設定ファイルごと公開する。
結論:GitHub Actions + claude-code-action で Issue 駆動開発を実現
結論から書きます。実現の核は次の3要素です。
- GitHub Actions ワークフロー:Issue にラベルが付いたら起動
- claude-code-action:Issue 内容を Claude に渡して実装させる
- PR 自動作成:Claude が完了したら PR を自動で立てる
設定ファイル1つで、Issue から PR までの全フローが自動化できます。
全体フロー
実装するフローは次のとおりです。
ユーザー: Issue 作成
↓
ユーザー: ラベル "claude-implement" を付与
↓
GitHub Actions: ワークフロー起動
↓
Claude Code: Issue 本文を読む
↓
Claude Code: ブランチ作成 → 実装 → コミット
↓
GitHub Actions: PR 作成
↓
人間: PR レビュー → マージ
人間がやることは「Issue 作成」と「PR レビュー」の2つだけです。実装と PR 作成は完全自動化されます。
ステップ1:GitHub Secrets の設定
GitHub Actions から Claude Code を呼び出すために、認証情報を Secrets に登録します。
Settings → Secrets and variables → Actions → New repository secret
設定する Secret は次のとおりです。
| Secret 名 | 内容 |
|---|---|
ANTHROPIC_API_KEY | Anthropic API キー |
GITHUB_TOKEN | デフォルトで利用可(明示登録不要) |
API キーは https://console.anthropic.com から取得します。Max プランの認証情報とは別なので注意してください。
ステップ2:ワークフローファイルの作成
.github/workflows/claude-implement.yml を作成します。
name: Claude Implement Issue
on:
issues:
types: [labeled]
jobs:
implement:
if: github.event.label.name == 'claude-implement'
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Create branch
run: |
BRANCH="claude/issue-${{ github.event.issue.number }}"
git checkout -b $BRANCH
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
- name: Run Claude Code
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
PROMPT=$(cat <<EOF
以下の GitHub Issue を実装してください。
# Issue タイトル
${{ github.event.issue.title }}
# Issue 本文
${{ github.event.issue.body }}
手順:
1. プロジェクト構造を確認
2. 必要なファイルを実装または編集
3. 既存テストが通ることを確認
4. 新規テストを追加(必要な場合)
5. git add && git commit
EOF
)
claude --print "$PROMPT"
- name: Push branch
run: git push origin $BRANCH
- name: Create Pull Request
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh pr create \
--title "Claude: ${{ github.event.issue.title }}" \
--body "Closes #${{ github.event.issue.number }}\n\nClaude Code が自動実装した PR です。レビューしてください。" \
--base main \
--head $BRANCH
ステップ3:使ってみる
リポジトリで新しい Issue を作成します。例:
タイトル: ヘッダーにダークモード切り替えボタンを追加したい
本文:
src/components/Header.tsx にダークモード切り替えボタンを追加してほしいです。
- 右上に配置
- アイコンは月/太陽
- 状態は localStorage に保存
- Tailwind の dark: クラスを使う
Issue を作成したら、ラベル claude-implement を付けます。GitHub Actions が起動し、数分後には PR が作成されているはずです。
安全装置:Issue → PR 駆動の罠を防ぐ
この仕組みは強力ですが、無防備に運用すると事故ります。以下の3つの安全装置を必ず入れてください。
安全装置1:自分の Issue だけ反応するように制限
外部の人が Issue を立ててラベルを付けられる状態だと、API 代を消費される攻撃が可能です。
if: github.event.label.name == 'claude-implement' && github.event.issue.author_association == 'OWNER'
OWNER(リポジトリオーナー)または MEMBER(コラボレーター)に限定するのが安全です。
安全装置2:実装範囲を制限する Skill
GitHub Actions 環境用の SKILL.md を .claude/skills/github-action-impl/SKILL.md に置いておきます。
---
name: github-action-impl
description: TRIGGER when running inside GitHub Actions for issue-to-PR automation. Restricts changes to feature implementation, never modifies CI/CD configs or secrets.
---
GitHub Actions 環境での実装ルール:
1. .github/ ディレクトリは変更しない
2. .env や secrets 関連ファイルは編集しない
3. package.json の依存関係追加は最小限に
4. 既存テストを壊さない
5. 1 PR は 1 機能に限定
これで Claude が暴走して CI 設定を書き換える事故を防げます。
安全装置3:トークン消費上限
長時間ループを防ぐため、ワークフローにタイムアウトを設定します。
jobs:
implement:
timeout-minutes: 30
30分以内に終わらない場合は強制停止です。これでトークン代の無限消費を防げます。
Anthropic は anthropics/claude-code-action を GitHub Marketplace で「Claude Code Action Official」として公式提供しています。
このアクションは「@claude メンション、Issue assignment、明示的な自動化プロンプト」のいずれでもトリガーでき、Anthropic API、Amazon Bedrock、Google Vertex AI、Microsoft Foundry の4つの認証方式に対応しています。
公式の Solutions Guide には、自動 PR コードレビュー、パス指定レビュー、外部コントリビューターレビュー、カスタムレビューチェックリスト、スケジュールメンテナンス、Issue トリアージ&ラベリングなど、すぐに動く完全な実装例が掲載されています。Anthropic 社内の Product Design チームも、GitHub Actions 経由で Claude が PR コメントの自動化、フォーマット問題の修正、テストケースのリファクタリングを行っていると公表しています。
出典: anthropics/claude-code-action GitHub / Claude Code GitHub Actions Docs / Solutions Guide
応用:Issue タイプ別の Skill 切り替え
ラベルを claude-implement-feature, claude-implement-bugfix, claude-implement-test のように分けて、Skill を切り替えると更に効果的です。
- name: Determine skill
run: |
case "${{ github.event.label.name }}" in
claude-implement-feature) echo "SKILL=feature-impl" >> $GITHUB_ENV ;;
claude-implement-bugfix) echo "SKILL=bugfix-impl" >> $GITHUB_ENV ;;
claude-implement-test) echo "SKILL=test-impl" >> $GITHUB_ENV ;;
esac
それぞれの Skill に「機能追加用ルール」「バグ修正用ルール」「テスト追加用ルール」を書いておけば、同じワークフローで複数のタスクを使い分けられます。
で、どう稼ぐ? — Issue 駆動開発が個人開発者を変える
Issue → PR 自動化の経済的価値は 「思いつきと実装の距離をゼロに近づける」 ことです。
1. 改善アイデアが「捨てられない」状態になる
「これ直したいけど後でいいや」と放置していた小さな改善が、Issue に書くだけで自動実装されます。プロダクトの細かい改善が積み重なり、ユーザー体験が継続的に向上します。
2. 並列作業時間の大幅な拡張
GitHub Actions は無料枠が月2,000分あります。これを使えば、本業中に Issue を書いておき、夜にはすべて PR が来ている状態が作れます。
3. クライアント案件への適用
クライアントが Issue を書き、Claude が PR を作り、人間がレビューして承認、というフローは 受託開発の納期短縮の決定打 になります。「Issue を書くだけで進む開発」を売り物にできます。
まとめ
GitHub Issue → PR 自動化の重要ポイントは次のとおり。
- GitHub Actions + claude-code-action + ラベルトリガー の3点セットで実現
- OWNER 限定 + Skill による制限 + タイムアウト の3つの安全装置は必須
- Issue タイプ別の Skill 切り替え で更に効果を最大化
最初に試すなら、自分の個人プロジェクトで小さな Issue(タイポ修正、ボタン追加など)から始めるのが良いです。1週間運用すれば、思いつきから実装までの距離が劇的に縮まる感覚が得られるはずです。
次のエピソード Ep.09 は 有料記事 です。サブエージェント並列実行の本番運用パターンを5つ全公開します。
Claude Code を本格活用するなら Max プラン(月$100〜、定額でトークン使い放題)が必須です。このシリーズの全実装例は Max プランで動作確認済みです。
Claude Codeのサブエージェント並列実行 — 実際に使っている5つの型と詰まる所
▸▾ // see all 13 episodes
- №01Claude Code Skills入門 — 最初のスキルをMarkdown1枚で動かす手順
- №02Claude Code から自作 MCP サーバーを呼び出す — TypeScript で書く最小実装と詰まりポイント
- №03Claude Codeのサブエージェントの使い方 — 作業を並行させて早く終わらせる設計
- №04【第4回】Claude Code Hooks 完全ガイド — 保存時自動整形・コミット前チェックの実装
- №05【第5回】Claude Code リモートサーバー運用術 — VPS 常駐型 Claude 自動化環境の構築
- №06Claude Code で SaaS 開発フローを設計した実録 — 1タスク1エージェント構成になるまで3回失敗した
- №07Claude Code のトークン節約—月1万超えで変えた6設定と実コスト内訳
- №08Claude CodeでGitHubのIssueからPRまで自動化 — 一晩放っておける設定
- №09Claude Codeのサブエージェント並列実行 — 実際に使っている5つの型と詰まる所
- №10Claude CodeとSupabaseで管理画面を30分で作るSkillの作り方
- №11Claude Code Hooksで事故を防ぐ設定 — APIキーの流出と本番DBの破壊を止める
- №12【第12回】夜寝てる間に Claude Code が記事を書き上げる構成 — 月 ¥5K で動く全コード¥1,000
- №13Claude Codeで試作アプリを1日で作った全手順 — レシピAIの開発記録