PRの変更内容をトリアージし、変更カテゴリ分類・表層チェック・必要リファレンス判定を行います。結果を`.pr-triage.json`に出力し、後続のコードレビューフェーズで活用します。CI環境でのコスト最適化に使用してください。
npx claudepluginhub xtone/ai_development_tools --plugin development-workflowsThis skill uses the workspace's default tool permissions.
PRの変更内容を分析し、後続のコードレビューフェーズに必要な情報を構造化して出力するスキルです。
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
PRの変更内容を分析し、後続のコードレビューフェーズに必要な情報を構造化して出力するスキルです。 軽量モデル(Haiku)での実行を想定しており、CI環境でのコスト最適化に寄与します。
gh pr view <PR番号> --json title,body,headRefName,baseRefName,changedFiles でPR情報を取得gh pr diff <PR番号> --name-only で変更ファイル一覧を取得gh pr diff <PR番号> でコード差分を取得gh pr diff <PR番号> -- <file> で取得.pr-review-state.json が存在するか確認する(前回レビュー状態).pr-triage.json ファイルに出力する前回のレビュー状態を活用してチェック範囲を最適化する:
.pr-review-state.json の last_reviewed_commit を取得するgit diff <last_reviewed_commit>..HEAD --name-only で前回レビュー以降に変更されたファイルを特定するsurface_issues は前回の状態からそのまま引き継ぐ("carried_over": true を付与)。再チェックしない。surface_issues と review_comments のうち、該当箇所が修正されたものを resolved_issues に含める.pr-triage.json に "incremental": true、"base_commit"、"changed_since_last_review"、"unchanged_since_last_review"、"resolved_issues" フィールドを追加するresolved_issues のフォーマット:
{
"comment_id": 12345678,
"file": "<ファイルパス>",
"line": 42,
"issue": "<元の問題の説明>",
"resolution": "fixed"
}
.pr-review-state.jsonが存在しない場合は、通常のフルトリアージを実行する。.pr-review-state.jsonが不正な形式(JSONパースエラー等)の場合は、警告を出力してフルトリアージを実行する。破損した状態ファイルに基づいてインクリメンタルモードを実行してはならない。
以下の条件に該当する場合のみ、対応するリファレンスを required_references に含める:
typescript-best-practices.mdauthorization-review-general.mdauthorization-review-postgres-rls.mdskill-review.mdgithub-pr-review-actions.md(常に含める)差分を確認し、以下の問題を検出する(該当するもののみ):
any 型の使用(TypeScript)var キーワードの使用(TypeScript/JavaScript).pr-triage.json に以下のJSON構造で出力すること:
{
"pr_number": 123,
"incremental": false,
"base_commit": "<前回レビュー時のコミットSHA(インクリメンタル時のみ)>",
"summary": "<変更の概要(1-2文)>",
"files": {
"added": ["<追加ファイルパス>"],
"modified": ["<変更ファイルパス>"],
"deleted": ["<削除ファイルパス>"]
},
"changed_since_last_review": ["<前回から変更があったファイル(インクリメンタル時のみ)>"],
"unchanged_since_last_review": ["<前回から変更がないファイル(インクリメンタル時のみ)>"],
"languages": ["<検出された言語>"],
"frameworks": ["<検出されたフレームワーク>"],
"change_categories": {
"has_auth_changes": false,
"has_db_changes": false,
"has_rls_changes": false,
"has_api_changes": false,
"has_test_changes": false,
"has_config_changes": true,
"has_skill_changes": true
},
"required_references": ["<必要なリファレンスファイル名>"],
"surface_issues": [
{
"severity": "Minor|Suggestion",
"file": "<ファイルパス>",
"line": 15,
"issue": "<問題の説明>",
"suggestion": "<改善案>",
"carried_over": true
}
],
"resolved_issues": [
{
"comment_id": 12345678,
"file": "<ファイルパス>",
"line": 42,
"issue": "<元の問題の説明>",
"resolution": "fixed"
}
],
"diff_summary": "<差分の要約(200文字以内)>",
"estimated_complexity": "low|medium|high",
"focus_areas": ["<レビュー時の注目ポイント>"]
}
重要:
.pr-triage.json の出力に集中してください。