mcpField
A
automate-github-issues

automate-github-issues

github.com/google-labs-codeエージェントワークフロー100755 回インストール37 週間前に更新
リポジトリ

automate-github-issues について

automate-github-issuesは、未解決のGitHub issueを分析し、Julesでタスクを計画してファイル競合を確認し、コーディングエージェントを並列起動した後、PRを順にマージする5段階のワークフローを設定するスキルです。GitHub Actionsまたはローカル実行で、issue対応と実装を自動化したいリポジトリ向けです。

主な機能

  1. 01未解決のGitHub issueを分析
  2. 02Julesで実装タスクを計画
  3. 03ファイル変更の重複を確認
  4. 04Julesセッションを並列起動
  5. 05CI検証付きでPRを順次マージ

活用シーン

  1. 01リポジトリの未解決issueを自動トリアージ
  2. 02複数のJulesセッションに実装を分担
  3. 03並列タスク間のファイル競合を軽減
  4. 04ローカルまたはGitHub Actionsで自動化を実行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google-labs-code/jules-skills --skill automate-github-issues

インストール後、Claude Code で/automate-github-issuesを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

package.json
README.md
tsconfig.json
assets/
.env.example
fleet-dispatch.yml
fleet-merge.yml
resources/
architecture.md
scripts/
fleet-analyze.ts
fleet-dispatch.ts
fleet-merge.ts
fleet-plan.ts
setup.sh
types.ts
scripts/github/
cache-plugin.ts
git.ts
issues.ts
markdown.ts
scripts/prompts/
analyze-issues.ts
bootstrap.ts

詳細

Jules で GitHub Issues を自動化する

GitHub の未解決 Issue を自動で分析し、実装タスクを計画して、並列で動作する Jules コーディングエージェントに修正を割り当てるリポジトリを設定します。

設定する内容

GitHub Actions(またはローカル)で実行する 5 フェーズの自動パイプラインです。

  1. 分析 — 未解決 Issue を取得し、構造化された Markdown に整形します
  2. 計画 — Jules セッションがコードレベルで詳細にトリアージし、単独で実行できるタスクプロンプトを作成します
  3. 検証 — 2 つのタスクが同じファイルを変更しないことを確認します(マージコンフリクトを防止します)
  4. 割り当て — タスクごとに Jules セッションを 1 つ起動し、並列実行します
  5. マージ — CI 検証を行いながら、順番に PR をマージします

セットアップ手順

手順 1: fleet スクリプトをリポジトリにコピーする

このスキルの scripts/ ディレクトリ全体を、対象リポジトリの scripts/fleet/ にコピーします。

Target structure:
scripts/fleet/
├── fleet-analyze.ts
├── fleet-plan.ts
├── fleet-dispatch.ts
├── fleet-merge.ts
├── types.ts
├── prompts/
│   ├── analyze-issues.ts
│   └── bootstrap.ts
└── github/
    ├── git.ts
    ├── issues.ts
    ├── markdown.ts
    └── cache-plugin.ts

重要: ディレクトリ構造を正確に維持してください。スクリプト間では相対インポートが使用されています。

手順 2: ワークフローテンプレートをコピーする

assets/ のワークフローファイルを、リポジトリの .github/workflows/ ディレクトリにコピーします。

  • assets/fleet-dispatch.yml → .github/workflows/fleet-dispatch.yml
  • assets/fleet-merge.yml → .github/workflows/fleet-merge.yml
手順 3: fleet スクリプト用の package.json を作成する

必要な依存関係を記述した scripts/fleet/package.json を作成します。

{
  "name": "fleet-scripts",
  "private": true,
  "type": "module",
  "dependencies": {
    "@google/jules-sdk": "^0.1.0",
    "octokit": "^4.1.0",
    "find-up": "^7.0.0"
  },
  "devDependencies": {
    "@types/bun": "^1.2.0"
  }
}
手順 4: 環境テンプレートを作成する

assets/.env.example をリポジトリのルートにコピーします。

手順 5: 依存関係をインストールする
cd scripts/fleet && bun install
手順 6: ユーザーに次の手順を伝える

ユーザーに次の作業が必要であることを伝えます。

  1. JULES_API_KEY を GitHub リポジトリのシークレットとして追加する(Settings → Secrets → Actions)
  2. GITHUB_TOKEN は GitHub Actions によって自動的に提供されます
  3. .github/workflows/fleet-dispatch.yml の cron スケジュールをカスタマイズする(デフォルト:毎日 UTC 6 時)
  4. 生成されたファイルをすべてコミットする

手動での使用方法

セットアップ後、ユーザーはパイプラインをローカルで実行できます。

cd scripts/fleet

# Fetch open issues
bun fleet-analyze.ts

# Plan tasks (creates a Jules planning session)
JULES_API_KEY=<key> bun fleet-plan.ts

# Dispatch parallel agents
JULES_API_KEY=<key> bun fleet-dispatch.ts

# Merge PRs sequentially
GITHUB_TOKEN=<token> bun fleet-merge.ts

カスタマイズ

プロンプトの調整

scripts/fleet/prompts/analyze-issues.ts の分析プロンプトで、Issue をどの程度詳しく調査するかを制御します。ユーザーは次の項目を調整できます。

  • 根本原因分析の深さ
  • ソリューション実装の詳細度
  • マージコンフリクトの回避ルール
  • ファイル所有権の制約
Issue のフィルタリング

scripts/fleet/github/issues.ts を編集して、ラベル、マイルストーン、または状態で Issue をフィルタリングします。

リソースの参照

トラブルシューティング

  • 「Unable to parse git remote URL」:リポジトリに有効な GitHub リモートが設定されていることを確認してください(git remote get-url origin)
  • 所有権の競合エラー:2 つのタスクが同じファイルを指定しています。タスク JSON を調整するか、手動で統合してください。
  • マージ中の CI タイムアウト:fleet-merge.ts の maxWaitMs を増やしてください(デフォルト:10 分)
  • Bun が見つからない:Bun をインストールしてください:curl -fsSL https://bun.sh/install | bash

コメント