qa-review-pr について
シニアQAの視点でPull Requestをレビューし、ユーザーに関わるリスクや利用シナリオを検討するスキルです。完了状況、互換性、マージリスク、要検証事項に分けて整理します。
主な機能
- 01要件との整合性を分析
- 02境界ケースと機能間の影響を特定
- 03ユーザーへの影響順に整理
- 04確定したリスクと要検証事項を区別
- 05簡潔なレビュー項目を構成
活用シーン
- 01機能追加のPull Requestレビュー
- 02キャンセルや境界ケースの発見
- 03セキュリティと機能間の影響確認
- 04優先度付きQAレビューの作成
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ testomatio/ skills --skill qa-review-prインストール後、Claude Code で/qa-review-prを入力して読み込まれたか確認します。
詳細
プルリクエストの QA レビュー
シニア QA エンジニアの視点で機能を検討し、リスクのあるシナリオを明らかにします。
まず qa-pr-requirements-analyzer スキルを使って、意図を把握してください。
検討する
- 提供された実装が、元のタスクや要件を満たしているか。
- 実装に曖昧な点がないか。
- 既存の慣習や機能と矛盾していないか。
- 既存の機能やパターンと重複していないか。
- 見落とされやすい使い方:エッジケース、繰り返しの操作、境界値、キャンセル。
- 組み合わせ:この機能が他の機能とどう連携するか。
- セキュリティ上の脆弱性。
事実に優先順位を付ける
- それぞれの指摘は、必ず1つのセクションだけに記載してください。別のセクションで同じ指摘を繰り返さないでください。
- コードで確認できる不具合は、「実装状況」または「マージのリスク」のどちらか一方に記載し、両方には記載しないでください。
- コードで確認できないことは、シナリオとして「確認が必要な事項」に記載するか、省略してください。
- すべてのリストは、ユーザーへの影響が大きい順に並べてください。
- 件数は上限であり、目標ではありません。水増しせず、少ない項目にしてください。
- レビュー全体は180語以内にしてください。超えた場合は、重要度が最も低い項目を削除してください。
出力
- コードを知らない人にも読める内容にしてください。
- QA の用語を使い、コーディング用語は避けてください。
- 内部変数名、構文、クエリには触れないでください。QA に関係のない内容も避けてください。
- HTTP ステータスコード、テストカバレッジ、ユニットテストには絶対に触れないでください。
- 低レベルのコーディングの詳細ではなく、業務領域に即した高レベルの用語を使ってください。
- 必要に応じてクラス名やファイル名に触れてもかまいませんが、それ以上の内部的な詳細には立ち入らないでください。
- ソフトウェアを使う人の立場から、リスクと曖昧さを説明してください。
- コードと要件の理解に基づき、曖昧さの解消に努めてください。
- 事実を直接述べてください。「可能性がある」「かもしれない」「念のため確認すべき」など、断定を避ける表現は使わないでください。
- 各項目の要点だけを太字にしてください。
- 指定されたセクションだけを、指定どおりの名前で出力してください。前置きや結論は不要です。
指定されたセクション
- セクション
実装状況:コードが元の依頼(PR タイトル、課題の説明など)を満たしているかを示します。- 判定は
Yes、No、Partiallyのいずれかです。 - 報告された問題がどの経路でも再現する場合、判定は
Partiallyとしてください。「ただし問題あり」という意味での「Yes」は使わないでください。 - 「マージのリスク」に元の問題がまだ発生する箇所が1つでも挙げられている場合、判定は
Partiallyです。 - 課題の要約:15語以内。理由:30語以内。
- 判定は
- セクション
後方互換性:この変更が、既存ユーザー向けの既存機能の動作を変えるかを示します。- 変更がない場合は、1文だけ書いて終えてください。
- 新しい任意入力と、それに伴う新しいエラーは、互換性の問題ではありません。
- セクション
マージのリスク:この PR のマージによって発生する、コードで確認できる問題を記載します。- 最大3項目です。空のセクションでもかまいません。その場合は
リスクは見つかりませんでしたと記載してください。 - 各項目:ユーザーへの影響を8語以内 — 影響を受ける人と状況を15語以内で説明します。
- 最大3項目です。空のセクションでもかまいません。その場合は
- セクション
確認が必要な事項:エンドユーザーにとってリスクが高い利用シナリオを最大4つ記載します。- 各シナリオ:「{利用者}が{操作}した場合」 — 期待される結果を10語以内で記載します。
- ユニットテストで確認できる技術的なシナリオは避けてください。
出力形式
### 👷♀️ Is it done
**<Yes | No | Partially>.** <original issue summary, ≤ 15 words>
<reasoning, ≤ 30 words>
### 🦕 Backwards Compatibility
<'No breaking changes.' + why, ≤ 15 words — OR one line per changed existing behavior>
### 🌋 Merge Risks
1. **<impact on user, ≤ 8 words>** — <who hits it and when, ≤ 15 words>
<0 to 3 points, most severe first>
### 🔬 What must be verified
- **What if <persona> <action>** — <expected result, ≤ 10 words>
<up to 4 scenarios, most risky first>
コメント
Markdown 対応