with one click
triage-prs
自分が出したPRの状態(レビュー・CI・コンフリクト)を一括確認し、対応が必要なものを優先度付きで報告する
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
自分が出したPRの状態(レビュー・CI・コンフリクト)を一括確認し、対応が必要なものを優先度付きで報告する
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
X(Twitter)広告クリエイティブの戦略を立案する。対象プロダクトの docs/product.md(コンセプト/ペルソナ/ポジショニング/ブランド)+(あれば)広告運用レポートから、次に撃つクリエイティブの戦略候補を複数出す。各候補は「インサイト/訴求軸/メッセージ方向/クリエイティブ方向/表現モード(器の選択)/全スロットのコピー方向/検証仮説」を持つ。出力は人が読んで選べる Markdown の戦略まとめで、人間のデザイナーでも下流の制作工程でも受け取れる。taberu.pro / honn.me 等で使う。「広告戦略立てて」「次に何を訴求する」「訴求軸出して」で起動。
PRのレビューコメントを取得・分類し、対応計画を立てて修正する
Vercel AI Gateway を AI SDK で直叩きしてローカルから画像を生成する汎用ツール(スキル同梱の gen-image.mjs を実行)。Claude 本体が持たない「画像生成」機能を補う。API キーはカレントプロジェクトの `.env`(`AI_GATEWAY_API_KEY`)から読む。未導入時のセットアップ案内・モデル選定・コスト管理の手順込み。用途は問わない(広告ビジュアル・素材・モック等)。「画像生成して」「画像作って」「ai image」で起動。
現在のセッションの作業状態を、次のセッションのClaudeがそのまま作業を再開できる引き継ぎブロックにまとめる
現在のブランチからプルリクエストを作成する
動画(mp4 等)をローカルで「理解」する汎用ツール。Claude 本体が直接読めない動画を、ffmpeg+whisper.cpp で「音声→文字起こし」と「映像→静止画フレーム」の2チャンネルに分解し、タイムライン形式で統合理解する。文字起こしは whisper.cpp(ローカル・無料・Metal高速)。未導入時のインストール案内・モデル選定・トークンコスト管理込み。「動画読んで」「動画理解して」「mp4見て」「文字起こしして」「この動画なに」で起動。
Based on SOC occupation classification
| name | triage-prs |
| description | 自分が出したPRの状態(レビュー・CI・コンフリクト)を一括確認し、対応が必要なものを優先度付きで報告する |
| user-invocable | true |
| allowed-tools | Bash(gh pr list*), Bash(gh pr view*), Bash(gh api repos*), Bash(gh repo view*), Read, Grep, Glob |
自分が出したPRを一括トリアージし、ネクストアクションを明確にする。
--with-comments: 未解決コメントを取得しAIで分類(トークン消費 大)--with-comments --pr <番号>: 特定PRのコメントだけ深掘り(トークン消費 中)gh repo view --json nameWithOwner --jq '.nameWithOwner'
owner/repo を特定する。
gh pr list --author @me --json number,title,url,reviewDecision,mergeable,statusCheckRollup,updatedAt,headRefName,additions,deletions,reviewRequests
PRが0件の場合はその旨を報告して終了。
取得したデータから以下を判定する:
APPROVED → 🟢 ApprovedCHANGES_REQUESTED → 🔴 Changes RequestedREVIEW_REQUIRED → 🟡 Review待ちCONFLICTING → 💥 コンフリクトMERGEABLE → OKUNKNOWN → 判定中conclusion を集約
SUCCESS → ✅ CI通過FAILURE → 🔵 CI失敗PENDING or null → ⏳ CI実行中各PRについて、コメント数だけ軽量に取得する:
gh api repos/{owner}/{repo}/pulls/{number}/comments --jq '[.[] | select(.user.login != "{自分のユーザー名}")] | length'
gh api repos/{owner}/{repo}/pulls/{number}/reviews --jq '[.[] | select(.state == "CHANGES_REQUESTED" or (.state == "COMMENTED" and .body != ""))] | length'
自分のユーザー名は以下で取得:
gh api user --jq '.login'
優先度順に並べて報告する。並び順:
## 📋 PR トリアージ結果
### 💥 要対応
- **#42 「認証リファクタ」** — コンフリクト & Changes Requested (未返信コメント3件)
→ コンフリクト解消 → コメント対応
- **#38 「API追加」** — 🔴 Changes Requested (未返信コメント2件)
→ コメント対応
### 🔵 CI失敗
- **#39 「テスト追加」** — CI失敗 (test-unit: FAILURE)
→ `/fix-ci` で診断
### 🚀 マージ可能
- **#35 「バグ修正」** — 🟢 Approved, ✅ CI通過
→ マージ!
### 🟡 待ち
- **#41 「画面改善」** — Review待ち (3日経過, 未返信コメント0件)
→ レビュアーにリマインド検討
### ⏳ 進行中
- **#40 「設定変更」** — CI実行中
→ 待機
各PRに具体的なネクストアクションを1行で付与する。
--with-comments モード引数に --with-comments が含まれる場合、以下の追加手順を実行する。
--pr <番号> 指定あり → そのPRのみ--pr 指定なし → ステップ3で「要対応」と判定された全PRaddress-review スキルと同様の2段階取得を行う:
第1段階 — ID とメタデータ:
gh api repos/{owner}/{repo}/pulls/{number}/comments --paginate --jq '.[] | {id: .id, author: .user.login, path: .path, line: .line, in_reply_to_id: .in_reply_to_id, created_at: .created_at}'
第2段階 — 各コメントの本文を個別取得:
gh api repos/{owner}/{repo}/pulls/comments/{id} --jq '{path: .path, line: .line, body: .body}'
PR全体コメントも取得:
gh pr view {number} --json comments --jq '.comments[] | {author: .author.login, body: .body, createdAt: .createdAt}'
以下を除外:
in_reply_to_id で判定)以下は対象に含める:
path フィールドを持つインラインコメント未対応コメントをAIで分類する:
--with-comments 出力デフォルト出力のPR一覧に加え、各PRのコメント詳細を表示:
### 💥 #42 「認証リファクタ」 — コンフリクト & Changes Requested
**未対応コメント:**
- 🔴 @tanaka: "nullチェックが抜けている" (`src/auth.ts:42`)
- 🟡 @suzuki: "この設計の意図は?" (`src/middleware.ts:15`)
- 🟢 @yamada: "いい感じ 👍" ← 対応不要
**ネクストアクション:**
1. コンフリクト解消
2. `src/auth.ts:42` nullチェック追加
3. @suzuki に設計意図を返信
/address-review <番号> や /fix-ci への誘導を提案する--with-comments なしでもコメント「件数」は表示する(中身は見ない)