원클릭으로
merge-bot-prs
dependabot / renovate などのbotが出した依存更新PRを一括判定し、リスクが低いものは自動マージ、判断が必要なものはユーザーに提示する
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
dependabot / renovate などのbotが出した依存更新PRを一括判定し、リスクが低いものは自動マージ、判断が必要なものはユーザーに提示する
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | merge-bot-prs |
| description | dependabot / renovate などのbotが出した依存更新PRを一括判定し、リスクが低いものは自動マージ、判断が必要なものはユーザーに提示する |
| user-invocable | true |
| allowed-tools | Bash(gh repo view*), Bash(gh pr list*), Bash(gh pr view*), Bash(gh pr merge*), Bash(gh pr comment*), Bash(gh api repos*), Bash(gh api user*), Read, Grep, AskUserQuestion |
現在のリポジトリで dependabot / renovate などのbotが出した依存更新PRを一括処理する。攻めの路線(minor までは自動マージ、major と breaking 記載ありのみ判断)で、判定 → 一括承認 → 自動マージ → 残りはエスカレーション、の流れを 1 コマンドにまとめる。
gh CLI が認証済みdependabot[bot] / renovate[bot])が author の Open PR のみ| 条件 | 判定 |
|---|---|
lockfile-only 相当 (Renovate の Lock File Maintenance 等) | 🟢 自動マージ |
patch バージョン更新 | 🟢 自動マージ |
minor 更新 かつ PR body に breaking 記載なし | 🟢 自動マージ |
minor 更新 かつ breaking 記載あり | 🟡 自己判断 |
major 更新 | 🟡 自己判断 |
| CI 失敗 / コンフリクト / mergeable=UNKNOWN | 🔴 エスカレーション |
自己判断(🟡)では PR 内容を読んだ上で 「マージ推奨」または「エスカレーション推奨」 を判定する。最終的な実行はユーザーの一括承認後に行う。
--dry-run: 判定結果のみ表示し、マージは実行しないgh repo view --json nameWithOwner --jq '.nameWithOwner'
owner/repo を控える。
gh pr list --state open --limit 100 --json number,title,url,author,headRefName,mergeable,statusCheckRollup,body,labels,updatedAt
返ってきた配列から author.login が以下のいずれかに該当する PR のみを抽出する:
dependabot[bot]renovate[bot]app/dependabotapp/renovate対象 0 件の場合はその旨を報告して終了。
各 PR について、以下の項目を順に評価する。
以下のいずれかに該当すれば lockfile-only 扱い → 🟢 自動マージ候補:
headRefName が renovate/lock-file-maintenance を含むlockfile-only / lock-file があるLock file maintenance / chore: lock file maintenance 等PR タイトルから from <old> → to <new> を抽出してメジャー番号を比較する。
Bump <pkg> from 1.2.3 to 1.2.4 / Bump <pkg> from 1.2.3 to 2.0.0 等Update <pkg> to v2 / Update dependency <pkg> to v1.2.4 等。Renovate は from が無いケースもあるので、その場合は branch 名 renovate/<pkg>-<major>.x から推測するか、ラベル (update:major / update:minor / update:patch) を優先する。判定:
majorminorpatchunknown 扱い → 🟡 自己判断へPR body 内に以下のいずれかが含まれているかチェック:
BREAKING CHANGE / BREAKING CHANGES(大文字、conventional commits 形式)## Breaking / ### Breaking changes / ### Breaking Changes- Breaking: / * Breaking change:[breaking] タグ、💥 絵文字、:boom: ショートコード検出する場合は 文脈も確認する。例: "No breaking changes in this release" のように否定文脈であれば breaking なしと判断してよい。release notes に "Breaking changes: (なし)" のような無害なパターンも除外する。
mergeable が CONFLICTING → 🔴 エスカレーション(コンフリクト)mergeable が UNKNOWN → 🔴 エスカレーション(判定不能)statusCheckRollup の各チェックの conclusion が SUCCESS または PENDING(status=IN_PROGRESS/QUEUED 含む)の いずれか以外(FAILURE / CANCELLED / TIMED_OUT / ACTION_REQUIRED / STARTUP_FAILURE / STALE / NEUTRAL 等)が 1 つでもあれば → 🔴 エスカレーション(CI 異常)SUCCESS または PENDING のみ → OK3.1〜3.4 をまとめて以下の判定を出す:
| 状況 | 判定 |
|---|---|
| 🔴 該当(CI / コンフリクト / mergeable 不明) | 🔴 エスカレーション |
lockfile-only または patch | 🟢 自動マージ |
minor かつ breaking 記載なし | 🟢 自動マージ |
minor かつ breaking 記載あり | 🟡 自己判断 |
major | 🟡 自己判断 |
semver unknown | 🟡 自己判断 |
🟡 自己判断の PR については、PR body の release notes を読んだ上で、影響範囲(dev 依存か / 主要ロジックに触れるか / breaking の中身)を踏まえて 「マージ推奨」または「エスカレーション推奨」 をその場で判断し、理由も添える。
判定が揃ったら、ユーザーに対して以下の形式で一覧出力する:
## 🤖 Bot PR 判定結果 ({合計件数}件)
### 🟢 自動マージ予定 ({件数}件)
- #42 「Bump lodash from 4.17.20 to 4.17.21」 — patch, CI ✅
- #43 「Update eslint to v8.55.0」 — minor (dev), breakingなし, CI ✅
- #44 「Lock file maintenance」 — lockfile-only, CI ✅
### 🟡 自己判断 ({件数}件)
- #45 「Update typescript to v5」 — major
- 判定: マージ推奨。release notes 確認、breaking は古い構文の削除のみで該当箇所なし
- #46 「Bump next from 14.0.0 to 15.0.0」 — major
- 判定: エスカレーション推奨。App Router の挙動変更あり、要動作確認
### 🔴 エスカレーション ({件数}件)
- #47 「Bump react from 18.2 to 18.3」 — CI 失敗 (test-unit: FAILURE)
- #48 「Update vite to v5」 — コンフリクト
AskUserQuestion を 1 回呼び、以下のように尋ねる:
--dry-run 引数が指定されている場合はこのステップをスキップし、判定結果のみ報告して終了する。
承認された対象について、gh pr merge を実行する。
gh pr merge <番号> --squash --auto --delete-branch
ポイント:
--squash を既定とする。深いコミット履歴を残さない方針。リポジトリの慣習が merge commit / rebase の場合はユーザーに合わせて変更(特殊な指示があった場合のみ)--auto を付与してGitHub の auto-merge を使う。CI が pending の場合でも GitHub 側でグリーン後にマージしてくれる--delete-branch で更新ブランチを掃除する--auto がエラーになる。その場合は --auto を外して即時マージにフォールバックする(CI が SUCCESS であることを再確認した上で)各マージの結果を 1 行で報告する:
✅ #42 マージ実行 (auto-merge enqueued)❌ #42 マージ失敗: <エラー要約> — その PR はエスカレーション扱いに格上げする🔴 エスカレーション PR について、後で自分が見返すための メモコメント を PR に残すかをユーザーに確認する。
コメント下書きの例:
要確認: CI失敗のため自動マージ対象外。test-unit ジョブの失敗原因を確認してください。
要確認: コンフリクト解消が必要。base ブランチに rebase してから再判定してください。
AskUserQuestion で「このコメントを各 PR に投稿していい?」と確認し、承認された場合のみ gh pr comment で投稿する。承認されなければ下書きを表示するだけで投稿はしない(CLAUDE.md の「人へのレス・コメント」ルール準拠)。
最終的に以下を報告する:
--dry-run モードでは絶対にマージ・コメント投稿を行わないunknown(タイトルから version が取れない)場合は安全側に倒して 🟡 自己判断に分類する/triage-prs または /merge-bot-prs で確認するX(Twitter)広告クリエイティブの戦略を立案する。対象プロダクトの docs/product.md(コンセプト/ペルソナ/ポジショニング/ブランド)+(あれば)広告運用レポートから、次に撃つクリエイティブの戦略候補を複数出す。各候補は「インサイト/訴求軸/メッセージ方向/クリエイティブ方向/表現モード(器の選択)/全スロットのコピー方向/検証仮説」を持つ。出力は人が読んで選べる Markdown の戦略まとめで、人間のデザイナーでも下流の制作工程でも受け取れる。taberu.pro / honn.me 等で使う。「広告戦略立てて」「次に何を訴求する」「訴求軸出して」で起動。
PRのレビューコメントを取得・分類し、対応計画を立てて修正する
自分が出したPRの状態(レビュー・CI・コンフリクト)を一括確認し、対応が必要なものを優先度付きで報告する
Vercel AI Gateway を AI SDK で直叩きしてローカルから画像を生成する汎用ツール(スキル同梱の gen-image.mjs を実行)。Claude 本体が持たない「画像生成」機能を補う。API キーはカレントプロジェクトの `.env`(`AI_GATEWAY_API_KEY`)から読む。未導入時のセットアップ案内・モデル選定・コスト管理の手順込み。用途は問わない(広告ビジュアル・素材・モック等)。「画像生成して」「画像作って」「ai image」で起動。
現在のセッションの作業状態を、次のセッションのClaudeがそのまま作業を再開できる引き継ぎブロックにまとめる
現在のブランチからプルリクエストを作成する