- はじめに
- 対象読者と環境想定
- 作業場所の区別
- 全体フロー概要
- 公式クイックスタート(最短セットアップ)
- 前提条件チェックリスト
- Step-1:GitHub CLI をインストール/アップデート
- Step-2:PAT(Personal Access Token)を正しく発行
- Step-3:GitHub CLI に認証
- Step-4:リポジトリを GitHub と同期
- Step-5:Claude GitHub App をインストール
- Step-6:Secrets に ANTHROPIC_API_KEY を登録
- Step-7:Workflow ファイルを確認/手動作成
- Step-8:動作テスト & ログの読み方
- よくあるハマりどころ & 即効解決スニペット
- 高度な設定オプション
- 完了チェックリスト
- まとめ
- 参考リンク
はじめに
GitHub上のPull Requestに自動でレビューコメントが付くと、コード品質向上とレビュー工数削減が一気に進みます。本記事では、Anthropic ClaudeをGitHub Actionsで呼び出すanthropics/claude-code-actionを例に、最短かつトラブルレスで導入する手順を解説します。
Why Claude? ChatGPT系と比較して長文解析や要約が得意で、複数ファイルをまたいだ変更にも強いのが特徴です。
対象読者と環境想定
- 対象読者:GitHub CLIを使って自動レビューを導入したい中〜上級エンジニア
- 環境想定:macOS 14.x、GitHub Personal・Organizationいずれも対応
- 所要時間:初回10〜15分
作業場所の区別
この記事では作業場所を以下の記号で明確に区別します:
- [CLI] = ローカル作業(ターミナル、CLI)
- [WEB] = Web作業(ブラウザ、GitHub上)
- [設定] = 設定作業
- [確認] = 確認作業
- [注意] = トラブルシューティング
全体フロー概要
[CLI] GitHub CLI & PAT 準備 ↓ [WEB] リポジトリ同期 ↓ [WEB] Claude GitHub App インストール ↓ [設定] Secrets に API キー設定 ↓ [CLI] Workflow 自動生成 or 手動追加 ↓ [WEB] テスト PR 作成 ↓ [確認] Actions でレビュー確認
公式クイックスタート(最短セットアップ)
ソース: https://docs.anthropic.com/ja/docs/claude-code/github-actions
[CLI] ターミナルから一発セットアップ
claude /install-github-app
このコマンド一つで以下が完了します:
- Claude GitHub App のインストール
- ANTHROPIC_API_KEY の Secrets 登録
- ワークフロー examples/claude.yml 追加
前提条件チェックリスト
項目 | 条件 | 確認方法 |
---|---|---|
macOS | 14以降 | システム情報で確認 |
Homebrew | 最新 | brew update && brew upgrade |
GitHub CLI | v2.49以上 | gh –version |
Anthropic API キー | 有効 | Claude Consoleで取得 |
Step-1:GitHub CLI をインストール/アップデート
[CLI] ターミナルで実行:
# 未インストールの場合
brew install gh
# 既に入っている場合
brew upgrade gh
Tips: Apple Siliconでは自動でarm64バイナリが入りますが、Rosetta経由の古いghが残っているとPATH競合する場合があります。
Step-2:PAT(Personal Access Token)を正しく発行
[WEB] GitHub Web UIでの作業
- URL: https://github.com/settings/tokens/new
- Classic Token を選択(Fine-grainedは一部CLI機能未対応)
- 有効期限は90 days〜1 yearを推奨
- 必須スコープにチェック:
- repo
- workflow
- read:org
- Generate → ghp_ で始まるトークンをコピー(再表示不可)
[注意] ハマりどころ:repoだけだとリポジトリ作成はできてもGitHub Actionsの実行で404エラーになります。workflowスコープを必ず追加してください。
Step-3:GitHub CLI に認証
[CLI] ブラウザフロー(推奨)
gh auth login
- GitHub.com → HTTPS → Login with a web browser を選択
- [WEB] 表示されたコードを https://github.com/login/device で入力 → Authorize
[CLI] PAT 直接入力
echo "ghp_xxx" | gh auth login --with-token
[注意] ハマりどころ:CLIが認証済みでもキャッシュ破損でトークン不一致エラーの場合は rm -rf ~/.config/gh
で初期化してください。
Step-4:リポジトリを GitHub と同期
[CLI] 新規作成 & Push(最速コマンド)
gh repo create practice-github --private --source=. --push
[CLI] 既存リポジトリに紐づけ
git remote add origin https://github.com/<USER>/<REPO>.git
git push -u origin main # 初回のみ -u で upstream 設定
[注意] ハマりどころ:同名リポジトリが既に存在 → CLIは Name already exists エラー。gh repo view
で存在確認してから remote add してください。
Step-5:Claude GitHub App をインストール
[WEB] Web上で作業:
- CLIが案内するURLか直接 → https://github.com/apps/claude-code-action
- Install → Only select repositories → practice-github だけチェック → Install
- [CLI] ターミナルに戻り Enter で続行
[注意] ハマりどころ:404になる場合はCLIが見ているアプリ名と実URLがずれているケース。手動でURL直打ちが確実です。
Step-6:Secrets に ANTHROPIC_API_KEY を登録
[WEB] GitHub Web UIでの作業
Settings → Secrets and variables → Actions → New repository secret
Name : ANTHROPIC_API_KEY
Value: sk-ant-************************
既に存在する場合は「Use existing」を選択(CLIプロンプト)
Step-7:Workflow ファイルを確認/手動作成
[確認] 自動生成を確認
.github/workflows/claude-code-review.yml
[CLI] 手動で追加する場合の最小テンプレ
name: Claude Review
on:
pull_request:
types: [opened, synchronize]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: anthropics/claude-code-action@main
with:
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
勘所:YAML名は自由ですが on.pull_request
トリガーを必ず指定してください。pushだけだとコメントが付きません。
Step-8:動作テスト & ログの読み方
[CLI] テスト用PRを作成
git checkout -b test/claude
printf "print('Hello Claude')" > hello.py
git add hello.py
git commit -m "feat: trigger Claude review"
git push -u origin test/claude
[WEB] GitHub Web UIでの確認
- GitHub上で Pull Request を作成
- Actions > Claude Code が実行中 → 完了になれば成功
- PRタブに claude ユーザーがレビューコメントを投稿しているか確認
[注意] ハマりどころ:Pendingのまま止まる→ APIキー上限 / ワークフロー実行数上限が原因。Actions → 該当Run → Logsを確認するとHTTP 429等が表示されます。
よくあるハマりどころ & 即効解決スニペット
勘所:エラーメッセージの “scope” と “resource” を読み取れれば90%はPAT権限設定で解決します。
症状 (CLI / Web) | 代表的なエラーメッセージ | 原因 | 即効コマンド / 対処 |
---|---|---|---|
認証ループ | You are not logged into any GitHub hosts | 既存キャッシュとブラウザ認証コードが食い違い | rm -rf ~/.config/gh && gh auth login でクリーン再認証 |
PATスコープ不足 | missing scope ‘workflow’ error validating token: missing required scope ‘read:org’ | PAT発行時に必要スコープ未選択 | gh auth refresh -h github.com -s workflow,read:org または新規PAT発行 |
不正なCLI引数 | unknown flag: –github_pat_xxx | PATをCLIフラグに直接渡した | echo "ghp_xxx" | gh auth login --with-token |
リポジトリ解決失敗 | Could not resolve to a Repository with the name | remote未設定 / プライベートrepo権限不足 | git remote add origin ... → git push -u origin main / PATにrepo付与 |
リポジトリ重複 | Name already exists on this account (createRepository) | 同名リポジトリが既に存在 | gh repo view <user>/<repo> で確認 → 既存remoteを使う or 別名作成 |
App インストール 404 | gh: Not Found (HTTP 404) | App URLかRepo権限不足 | 手動で https://github.com/apps/claude-code-action を開きInstall |
ワークフロー権限警告 | Missing workflow permissions | PATにworkflowスコープ無し | gh auth refresh -h github.com -s workflow |
Actions実行404 | Resource not accessible by personal access token | read:org or repo スコープ不足 | PATを再生成 (repo,read:org) |
Workflowが Pending のまま | Web UIで実行中マークが動かない | 同時実行制限 / Organization ポリシー / API レート制限 | queueを確認 → 制限解除 or Organization の Settings → Actions permissions で許可 |
Secrets未読 | Run ログ: Secrets not found | Secrets名タイポ or Environments経由で制限 | Settings → Secrets → Actions 名称を再確認;必要なら environment: を YAML に追加 |
GitHub Appのトークン消費上限 | Run ログ: HTTP 429 | Claude API キーのレート上限到達 | レートリミット時間を待つ/Claude ビルドプランを上げる |
詳細トラブルシューティング手順
1. 認証関連のトラブル
症状: 「You are not logged into any GitHub hosts」や認証ループが発生
手順:
- 既存の認証情報をクリア:
rm -rf ~/.config/gh
- 認証状態を確認:
gh auth status
- クリーン再認証:
gh auth login
- ブラウザで認証コードを入力
- 認証完了を確認:
gh auth status
2. PAT(Personal Access Token)スコープ問題
症状: 「missing scope ‘workflow’」「error validating token」
手順:
- 現在のスコープ確認:
gh auth status -t
- 不足スコープの追加:
gh auth refresh -h github.com -s workflow,read:org
- または新規PAT発行:
- https://github.com/settings/tokens/new で新規作成
- 必須スコープ: repo, workflow, read:org
- 新しいトークンで再認証:
echo "新しいトークン" | gh auth login --with-token
3. リポジトリアクセス問題
症状: 「Could not resolve to a Repository」「Resource not accessible」
手順:
- リポジトリ存在確認:
gh repo view ユーザー名/リポジトリ名
- リモート設定確認:
git remote -v
- リモート未設定の場合:
git remote add origin https://github.com/USER/REPO.git
- プッシュテスト:
git push -u origin main
- 権限不足の場合: PAT再発行 (repo スコープ確認)
4. GitHub Actions実行問題
症状: Workflowが開始されない、Pendingのまま
手順:
- Actions タブで実行状況確認
- Organization設定の場合:
- Settings → Actions → General
- 「Allow all actions and reusable workflows」を選択
- 同時実行制限確認:
- キューに溜まっている他のワークフローを確認
- 必要に応じてキャンセル
- Secrets設定確認:
- Settings → Secrets and variables → Actions
- ANTHROPIC_API_KEY の存在と正確性を確認
5. Claude API関連問題
症状: 「HTTP 429」「Rate limit exceeded」
手順:
- Claude Console でAPI使用量確認
- レートリミットの場合: 時間を置いて再実行
- 継続的な問題の場合:
- 上位プランへのアップグレード検討
- レビュー対象ファイルの絞り込み (include/exclude設定)
- 大きなPRは分割して投稿
6. Workflow YAML設定問題
症状: Workflowは実行されるがレビューコメントが付かない
手順:
- YAML構文確認:
gh workflow list
- トリガー設定確認:
on: pull_request: types: [opened, synchronize]
- Actions logs確認:
- 該当ワークフロー → 最新実行 → ログ詳細表示
- エラーメッセージを確認
- 権限設定確認:
permissions: contents: read pull-requests: write
高度な設定オプション
カスタムプロンプト設定
- uses: anthropics/claude-code-action@main
with:
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
prompt: "このコードの品質、セキュリティ、パフォーマンスを重点的にレビューしてください"
ファイルフィルタ設定
- uses: anthropics/claude-code-action@main
with:
anthropic-api-key: ${{ secrets.ANTHROPIC_API_KEY }}
include: "src/**/*.js,src/**/*.ts"
exclude: "*.test.js,*.spec.js"
完了チェックリスト
- GitHub CLI 最新版
- PAT (repo,workflow,read:org) で認証済み
- リモートリポジトリとローカルが origin で接続
- Claude GitHub App を対象リポジトリにインストール
- ANTHROPIC_API_KEY を Secrets に登録
- .github/workflows/claude-code-review.yml が存在
- テスト PR で Actions が完了
まとめ
ここまで通れば、Claude があなたの PR を 24h 365d でレビューしてくれます。次は自動テストや Lint と組み合わせて、“防御的な CI ジャーニー” を構築しましょう。