GitHub Issueの確認事項に対して、コードベースやドキュメントを徹底的に調査し、根拠に基づいた回答を提供するスキル。Issueの最後のコメントに含まれる確認事項を調査・回答し、コメントに追記する。
The English summary is being prepared. Showing the original description.
Triage a single GitHub PR by PR number. Check out the PR's branch, detect conflicts with the target branch via `gh pr status` (and label the PR with `cc-resolve-conflict` if any are found), generate and evaluate a fix plan via create-review-fix-plan, then take action (add cc-fix-onetime label if fixes are needed, or merge the PR if it's ready).
The English summary is being prepared. Showing the original description.
Review the instructions the agent will receive before you install.
指定されたPR番号のPRに対して、コンフリクト検知から修正プランの評価、最終アクション(ラベル付与またはマージ)までを一貫して実行するスキルです。Instructionsに従って、PRの状態を確認し、適切なアクションを実行してください。
やること:
gh pr statusで確認し、コンフリクトがあればcc-resolve-conflictラベル付与のみで終了)cc-fix-onetime)またはマージ絶対にやらないこと:
cc-fix-onetimeラベル付与後に別スキル(fix-review-pointなど)の責務cc-resolve-conflictラベルを付けて終了し、実際の解消は同ラベルをトリガーに別スキル(resolve-pr-conflict等)が担当するcreate-review-fix-planが返したプランの実行: プランは判定材料として読むだけで、ファイルを変更してはならないファイル編集ツール(Edit / Write / MultiEdit / NotebookEdit)はこのスキルの本文では一切呼び出さない。コードを触る作業はすべて「ラベル付与 → 別スキルが拾って実行」の流れに委ねる(ステップ1のcc-resolve-conflict、ステップ3パターンAのcc-fix-onetime)。
!git fetch -p >/dev/null 2>&1
!gh pr checkout $ARGUMENTS >/dev/null 2>&1
本スキルは claude-task-worker の triage-pr ワーカー(cc-triage-scope ラベル)から自動起動される想定。ワーカーはスキルプロセスの同期完了を根拠に cc-fix-onetime の付与やマージ、cc-triage-scope の除去を進めるため、バックグラウンド化すると判定未確定のまま cc-fix-onetime が付かず fix-review-point ワーカーへの引き継ぎが空振りしたり、マージ判定前にラベルが外れてPRが放置される状態壊れが起きる。内部処理はすべて同期実行で完結させること。
Agent ツールは既定が run_in_background: true(バックグラウンド)。呼び出しごとに 必ず run_in_background: false を明示指定 し、フォアグラウンドで同期的に結果を受け取ってから次の処理に進む。指定を省略した場合はバックグラウンドで走り、本スキルが未完のまま終了するSkill / Bash ツール呼び出し時に run_in_background: true を指定しない(既定は同期)。特に create-review-fix-plan は、返却された修正プランの構造化サマリを受け取ってから判定・ラベル付与に進む& を付けない。nohup / disown / setsid でのデタッチ、ScheduleWakeup 等での後回しも禁止Agent / Skill を並列に投げるのは「並列実行」であって「バックグラウンド実行」ではないため許容される(各完了はその場で同期的に待つ)gh pr status でPRのstatus(mergeable / コンフリクト有無)を取得する。
gh pr status
出力から #$ARGUMENTS の行を特定し、コンフリクト表示("Conflict" / 衝突マーク等)があるかを判定する。gh pr status は現在のユーザーに関連するPR(作成者・レビュアー・assignee)のみ表示するため、対象PRが出力に含まれない場合はフォールバックとして以下で同じ情報を取得する。
gh pr view $ARGUMENTS --json mergeable -q .mergeable
返却値 MERGEABLE / CONFLICTING / UNKNOWN のうち CONFLICTING のときコンフリクトありと判定する。UNKNOWN の場合はGitHub側で判定中のため、数秒のスリープ後に1回だけリトライし、それでも UNKNOWN ならコンフリクトなし扱いで先に進む。
判定に応じて分岐する。
コンフリクトあり(CONFLICTING): cc-resolve-conflict ラベルを付与してこのスキルを終了する。ステップ2・ステップ3には進まない(コンフリクト解消前に修正プラン評価やマージを行っても意味がないため)
gh pr edit $ARGUMENTS --add-label "cc-resolve-conflict"
コンフリクトなし(MERGEABLE または UNKNOWN のリトライ後も判定不能): ステップ2に進む
create-review-fix-plan skillを用いてPRの修正プランを生成する。
重要: プランは「PRをマージ可能か」を判定する材料に過ぎない。プランに含まれるタスクをこのスキル内で実装してはならない。対応すべき項目があると判断したら コードに手を加えず ステップ3のパターンA(ラベル付与)へ進むこと。判定は内部的な思考にとどめ、ファイルの編集・コマンドの実行は行わない(参照のためのRead/Grepは許容)。
修正プランの各項目を以下の評価基準で分析し、対応要否を判定する。
評価結果に基づき、以下の2パターンで判定し、必ずどちらかのアクションを実行する。判定のみで終了せず、コマンドの実行まで確実に行う。
「対応すべき」と判定された項目が1つでもある場合、以下を実行してcc-fix-onetimeラベルを追加する。ラベル付与のみで終了し、コード修正は行わない。たとえ修正項目が明確で実装が容易に見えても、コード変更・コミット・pushを行ってはならない(実際の修正はcc-fix-onetimeラベルをトリガーに別スキルが担当する)。
gh pr edit $ARGUMENTS --add-label "cc-fix-onetime"
すべての項目が「対応不要」、または修正プランに項目がない場合、以下の手順でマージし、必要に応じて関連Issueを明示的にクローズする。判定だけで終了しないこと。
BASE_BRANCH=$(gh pr view $ARGUMENTS --json baseRefName -q .baseRefName)
DEFAULT_BRANCH=$(gh repo view --json defaultBranchRef -q .defaultBranchRef.name)
gh pr merge $ARGUMENTS --merge --delete-branch
マージコマンドが失敗した場合は、エラー内容を記録して報告し、以降の手順に進まない。
マージ成功後、BASE_BRANCH が DEFAULT_BRANCH と 一致しない(cc-epic-<N> のような非デフォルトブランチへのマージ)場合のみ、関連Issueを明示的にクローズする。GitHubのCloses #<issue番号>記法によるIssue自動クローズはPRがデフォルトブランチへマージされた場合にのみ発動し、非デフォルトブランチへのマージでは発動しないため、EpicフローでサブIssueが閉じられずEpic PR作成が止まるのを防ぐ必要がある。BASE_BRANCH が DEFAULT_BRANCH と一致する場合はGitHubが自動でクローズするため、この手順はスキップする。
3-1. PR本文から関連Issueの番号を抽出する(「PRクローズ時のIssue連動Close」と同じ抽出コマンドを流用)。
gh pr view $ARGUMENTS --json body --jq '.body' | grep -ioE '(close[sd]?|fix(e[sd])?|resolve[sd]?)[[:space:]]+#[0-9]+' | grep -oE '[0-9]+'
3-2. 抽出したIssue番号それぞれに対して、完了クローズを実行する(複数ある場合は全て)。実装がEpicブランチに取り込まれた完了クローズのため、マージせずクローズする場合の--reason "not planned"とは異なり--reason completedを用いる。
gh issue close <issue番号> --reason completed
関連Issueが抽出できない場合は、その旨を報告に含めること。
何かしらの理由でgh pr closeによりPRをクローズする場合、必ず関連するIssueも併せてCloseすること。GitHubはPRがマージされずにCloseされた場合、Closes #<issue番号>記法で紐づいたIssueを自動Closeしないため、明示的にCloseする必要がある。
手順:
gh pr view $ARGUMENTS --json body --jq '.body' | grep -ioE '(close[sd]?|fix(e[sd])?|resolve[sd]?)[[:space:]]+#[0-9]+' | grep -oE '[0-9]+'
gh pr close $ARGUMENTS --delete-branch
gh issue close <issue番号> --reason "not planned"
関連Issueが取得できない場合は、その旨を報告に含めること。
pwdcc-triage-scopeラベルがPRに付与されている場合、いかなる操作においても絶対に削除しないこと。gh pr editで--remove-labelを使用する際もcc-triage-scopeを対象に含めない処理結果として以下を報告する:
cc-resolve-conflictラベル付与) / パターンA(修正が必要・cc-fix-onetimeラベル付与) / パターンB(マージ済み。非デフォルトブランチへのマージ時は連動Closeした関連Issue番号も明記) / PRクローズ(関連IssueもClose) / エラー--reason completedにより連動Closeした関連Issue番号、またはクローズ理由と連動Closeした関連Issue番号)No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
GitHub Issueの確認事項に対して、コードベースやドキュメントを徹底的に調査し、根拠に基づいた回答を提供するスキル。Issueの最後のコメントに含まれる確認事項を調査・回答し、コメントに追記する。
The English summary is being prepared. Showing the original description.
依頼された内容を要件とTODOに分解し、タスクごとにGitHub Issueを作成するスキル。タスクの整理・分解、複数Issueの一括作成、依存関係の明示が必要な場合に使用する。「この機能をIssueに分けて」「タスクを洗い出してIssueにして」「要件を整理してチケット化して」といったリクエストで発動する。
The English summary is being prepared. Showing the original description.
base-toolsプラグインのバージョン(patchバージョン)をインクリメントし、commit-pushでコミット・プッシュしたうえでPRを作成する。「バージョンを上げて」「バージョンアップ」「bump version」などのリクエストで使用する。
The English summary is being prepared. Showing the original description.
指定されたPR番号のDependabot PRを確認し、依存ライブラリのバージョンアップ内容をCHANGELOGとcontext7から取得して、コード修正が必要かを判定します。修正が必要な場合は修正を行い、pushまで実施します。
The English summary is being prepared. Showing the original description.
ライブラリの情報を確認するためのスキル。Next.js、shadcn、その他のライブラリについて、適切なMCPサーバーを使用して最新のドキュメントと使用方法を取得します。
The English summary is being prepared. Showing the original description.
コード変更を適切なgitコミット戦略でgit commitし、pushします。基本的には既存のgitコミットへのsquash戦略を採用し、必要に応じてブランチ全体のgitコミット履歴を再構成します。実装完了時やユーザーがgit commitを依頼した時に使用します。
The English summary is being prepared. Showing the original description.