Pull Requestのコメントに対する対応要否をコードベース分析に基づいて判断します
Pull Requestのコメントに対応必要かどうか、コードベースのパターン分析で判断します。PRの変更内容やプロジェクトの規約を考慮し、各コメントへの対応方針を提案します。
/plugin marketplace add syou6162/claude-code-commands/plugin install syou6162-plugin@syou6162-marketplacePull Requestのコメントに対する対応要否をコードベース分析に基づいて判断します
Pull RequestのURL: $ARGUMENTS
# Pull RequestのURLから情報を取得
PR_URL="$ARGUMENTS"
# $ARGUMENTSが空の場合、現在のブランチのPRを取得
if [ -z "$PR_URL" ]; then
PR_URL=$(gh pr view --json url --jq '.url' 2>/dev/null || echo "")
if [ -z "$PR_URL" ]; then
echo "エラー: Pull RequestのURLが指定されていません。また、現在のブランチに紐づくPRも見つかりませんでした。"
exit 1
fi
echo "現在のブランチのPull Request URLを使用します: $PR_URL"
fi
echo "=== Pull Request基本情報 ==="
# gh pr viewでPR情報を取得
PR_INFO=$(gh pr view "$PR_URL" --json number,headRepositoryOwner,headRepository,title,author,state,headRefName,baseRefName,changedFiles,additions,deletions,createdAt)
# 変数の設定(後のAPI呼び出しで使用)
OWNER=$(echo "$PR_INFO" | jq -r '.headRepositoryOwner.login')
REPO=$(echo "$PR_INFO" | jq -r '.headRepository.name')
PR_NUMBER=$(echo "$PR_INFO" | jq -r '.number')
echo "$PR_INFO"
echo ""
echo "=== 未解決コメント一覧 ==="
# 未解決コメント取得(GraphQL API)
gh api graphql --field query="query { repository(owner: \"$OWNER\", name: \"$REPO\") { pullRequest(number: $PR_NUMBER) { reviewThreads(last: 100) { nodes { id isResolved comments(last: 10) { nodes { id body path line originalLine createdAt author { login } diffHunk } } } } } } }" | jq '.data.repository.pullRequest.reviewThreads.nodes | map(select(.isResolved == false)) | map(.comments.nodes) | flatten'
echo ""
echo "=== 変更内容の詳細分析 ==="
echo "### 変更されたファイル一覧"
gh pr diff "$PR_URL" --name-only
echo ""
echo "### 各ファイルの詳細な差分"
gh pr diff "$PR_URL"
このPull Requestの情報を取得しました。あなたはこのPull Requestの作成者として、コメントに対する対応要否を判断する必要があります。このPRのオーナーシップを持つ立場から、各コメントに対応すべきかどうかを以下の観点で分析してください:
まず、リポジトリ全体を把握してください:
プロジェクト構造の分析
既存パターンの特定
アーキテクチャの理解
今回のPull Requestが既存パターンに従っているかチェック:
各コメントについて、以下の形式で判断してください:
内容: [コメントの要約]
理由:
コメント者の意図:
影響範囲:
修正方針 (対応必要な場合):
返信内容案:
重要: この分析は判断材料の提供であり、最終的な対応判断はユーザーが行います。コード修正は一切行いません。