Retrofit + OkHttpを使用したAPIクライアント実装のベストプラクティスを提供する。 「API実装」「APIクライアント」「Retrofit」「OkHttp」「ネットワーク」と言われたら使う。
pr-triage
PRの変更内容をトリアージし、変更カテゴリ分類・表層チェック・必要リファレンス判定を行います。結果を`.pr-triage.json`に出力し、後続のコードレビューフェーズで活用します。CI環境でのコスト最適化に使用してください。
インストール方法を見る含まれるファイル(1)
- SKILL.md6.3 KB
SKILL.md(原文)
インストールする前に、エージェントに与えられる指示の中身を確認できます。
PRトリアージ
PRの変更内容を分析し、後続のコードレビューフェーズに必要な情報を構造化して出力するスキルです。 軽量モデル(Haiku)での実行を想定しており、CI環境でのコスト最適化に寄与します。
手順
gh pr view <PR番号> --json title,body,headRefName,baseRefName,changedFilesでPR情報を取得gh pr diff <PR番号> --name-onlyで変更ファイル一覧を取得- 差分の取得(changedFilesが15以上の場合、手順3はスキップしてファイル名とPR説明のみで分析する):
- changedFilesが15未満の場合のみ
gh pr diff <PR番号>でコード差分を取得 - 表層チェックが必要なファイル(.ts, .js, .tsx, .jsx)が多い場合は個別に
gh pr diff <PR番号> -- <file>で取得
- changedFilesが15未満の場合のみ
.pr-review-state.jsonが存在するか確認する(前回レビュー状態)- 以下の分析を行う:
- 変更ファイルのカテゴリ分類(added/modified/deleted)
- 使用言語・フレームワークの検出
- 変更カテゴリの判定(認可変更、DB変更、RLS変更、API変更、テスト変更、設定変更、スキル変更)
- 必要なリファレンスファイルの判定
- Minor/Suggestionレベルの表層的問題の検出(インクリメンタルモード時は変更ファイルのみ)
- 差分の要約(200文字以内)
- レビュー時に注目すべきポイント
- 分析結果を
.pr-triage.jsonファイルに出力する
インクリメンタルモード(.pr-review-state.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/JavaScript ファイルの変更あり →
typescript-best-practices.md - 認証・認可に関わるコード変更あり(auth, permission, role, session, token等のキーワード) →
authorization-review-general.md - PostgreSQL RLS に関わる変更あり(RLS, row level security, policy等のキーワード) →
authorization-review-postgres-rls.md - SKILL.md ファイルの変更あり →
skill-review.md - CI環境でのGitHub投稿が必要 →
github-pr-review-actions.md(常に含める)
表層チェック項目(Minor/Suggestion)
差分を確認し、以下の問題を検出する(該当するもののみ):
any型の使用(TypeScript)varキーワードの使用(TypeScript/JavaScript)- 空のインターフェイス定義
- マジックナンバーの使用
- 命名規則違反(camelCase/PascalCase/UPPER_CASE)
- テストの未追加(新規ファイルがあるのにテストファイルがない)
出力フォーマット
.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の出力に集中してください。
レビュー
まだレビューはありません。使ってみた感想をお寄せください。
同じリポジトリのスキル
概要と使いどころ
Androidプロジェクトのアーキテクチャ設計を支援。プロジェクト特性に応じてMVI/MVVM/シンプルComposeから最適なパターンを提案し、パッケージ構造の設計と既存プロジェクトの分析を行う。
Firebase Crashlyticsのスタックトレースを解析し、トリアージ分類→根本原因分析→修正提案を出力するスキル。/crash-analyze コマンド、クラッシュ解析、スタックトレース分析、ANR分析、Crashlytics、クラッシュレポート、またはFirebase crashに関連するリクエストで使用される。クラッシュ対応のワークフローを標準化し、対応品質と速度を向上させる。ANR/Non-fatal/Fatal全タイプ対応。
Android data layer implementation guide. Provides comprehensive patterns for Room Database (Entity, DAO, Migration), DataStore (Preferences), Repository layer design, and common pitfalls. Use when implementing local data storage, cache strategies, or data source integration in Android projects.
日本語の概要は準備中です。原文の説明を表示しています。
重要: ユーザーがAndroidテスト実行をリクエストした場合、常にこのスキルを最初に使用してください。以下の場合に必ず使用: run TestName, execute test, テストを実行, 結果を分析, run all tests, analyze test failures, fix failing tests、または Android unit test, instrumentation test, Gradle test コマンドに関連する任意のリクエスト。./gradlew test や Bash コマンドを直接使用しないでください - 常にこのスキルに委譲してください。Multi-variantプロジェクト、JAVA_HOME セットアップ、一般的なテストパターンに対応しています。
Jetpack ComposeでUIを実装する時に参照するコーディングガイドライン。 「Android UI」「Compose」「Jetpack」「画面実装」「UIコンポーネント」「レイアウト」と言われたら使う。 Android/Kotlin UI実装のベストプラクティス、アンチパターン、実装パターンを提供する。