Claude Code + GitHub Issues で Issue から PR まで全自動化する
概要¶
Claude Code と GitHub を連携させ、「Issue を起こして Claude Code に渡す → 実装させる → PR を立てさせる」という自動化フローを実現した事例。人間がやることは Issue を書いて Claude Code に渡すだけ、という開発体験の変化。
詳細¶
フロー全体像¶
1. 人間が GitHub Issue を作成(要件・背景・受け入れ条件を記述)
2. Issue を Claude Code に渡す
3. Claude Code が Issue を読んで実装する
4. Claude Code が git commit + PR 作成まで行う
5. 人間が PR をレビューしてマージ
人間の作業は「Issue を書く」「PR をレビューする」の2点に集約される。実装・テスト・PR 作成という中間工程を Claude Code が担う。
Claude Code が Issue を扱う仕組み¶
Claude Code には gh CLI との連携機能があり、以下のようなコマンドで Issue の内容を読み込める。
# Issue の内容を読み込んで実装させる例
gh issue view 123 | claude -p "この Issue を実装してください"
# または Claude Code のセッション内で
gh issue view 123
# → Claude Code が内容を解釈して実装計画を立てる
Claude Code は Issue のタイトル・本文・ラベル・コメントを文脈として受け取り、既存コードベースを読みながら実装を進める。実装完了後は gh pr create を使って PR を自動作成する。
Issue の書き方が重要になる¶
このフローで品質を左右するのは「Issue の書き方」。曖昧な Issue を渡すと曖昧な実装が生まれる。
良い Issue の構成例:
## 背景
ユーザーがパスワードリセット後に古いセッションが有効なままになっている
## 要件
- パスワードリセット完了時に、そのユーザーの全セッションを無効化する
- 現在のセッション(リセット操作をしているセッション)は継続する
## 受け入れ条件
- [ ] パスワードリセット後、他のデバイスからのアクセスが無効になる
- [ ] 現在のデバイスのセッションは有効なまま
- [ ] 既存のテストがすべてパスする
受け入れ条件を箇条書きで明示することで、Claude Code がテストを書く際の基準にもなる。
PR 作成までの自動化¶
Claude Code は実装後に以下を自動で行う:
# Claude Code が内部で実行するイメージ
git checkout -b feature/password-reset-session-invalidation
git add .
git commit -m "feat: invalidate all sessions on password reset"
gh pr create \
--title "feat: invalidate all sessions on password reset" \
--body "Closes #123\n\n## 変更内容\n..." \
--assignee "@me"
PR の本文には「何を変更したか」「なぜ変更したか」「どのようにテストしたか」が自動的に記述される。
このフローの意義:エンジニアの役割の変化¶
従来:「要件理解 → 設計 → 実装 → テスト → PR 作成」をすべてエンジニアが行う
新しいフロー:「要件定義(Issue 作成)→ レビュー」に集約
エンジニアに求められるスキルが「実装力」から「問題定義力・レビュー力」にシフトする。Issue を正確に書く能力と、AI が書いたコードを正しく評価する能力が重要になる。
なぜ重要か / いつ使うか¶
- 単純な機能追加・バグ修正など、要件が明確なタスクに特に有効
- チーム開発で「実装者が不足している」「並列で複数機能を進めたい」場面
- Issue ドリブンな開発文化があるチームへの導入がスムーズ
- 「Issue を書く = 仕様を考える」という習慣がすでにある組織ほど恩恵が大きい
- 逆に、Issue の書き方が雑なチームでは効果が薄く、まず Issue 文化の整備が必要