qa-team について
qa-teamは、リードと5つの専門視点でソフトウェアQAを進めるスキルです。プラットフォーム別の手順、レポート、採点式の最終品質ゲートを定めています。
主な機能
- 015つのQA専門視点を調整
- 02プラットフォームを判定してテストツールを選択
- 03視覚、機能、HIG、境界値、UXを検査
- 04個別レポートと総合判定を作成
活用シーン
- 01Webアプリの体系的なQA実施
- 02プラットフォーム別のアプリ動作検証
- 03専門家の所見をリリース判定に集約
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ laststance/ skills --skill qa-teamインストール後、Claude Code で/qa-teamを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/qa-scoring-rubric.mdscripts/qa-report-template.mdworkflows/electron-workflow.mdmacos-workflow.mdmobile-workflow.mdweb-workflow.md詳細
QA エージェントチーム
Codex との互換性
Codex でこのスキルを実行する場合は、実行前に Claude Code 専用のプリミティブを変換してください。AskUserQuestion -> chat/request_user_input、TodoWrite -> update_plan、Task/TaskCreate/TeamCreate/SendMessage -> 利用可能かつ許可されている場合は spawn_agent/send_input/wait_agent、EnterPlanMode/ExitPlanMode -> 簡潔なチャット形式の計画と明示的な承認。
Read/Write/Edit/Bash/WebSearch/WebFetch を Codex のファイル/シェル/ウェブツールに対応付け、タスクで Claude Code が明示的に対象になっていない限り、~/.claude/... のパスを ~/.agents/... または ~/.codex/... に対応付けてください。
Cursor との互換性
Cursor Agent でこのスキルを実行する場合は、実行前に Claude Code 専用のプリミティブを変換してください。AskUserQuestion -> AskQuestion、TodoWrite -> Cursor の TodoWrite または同等のチェックリスト、Task/TaskCreate/TeamCreate/SendMessage/複数エージェントのフロー -> 許可されている場合は Cursor の Task(サブエージェント)、並列の Task、または run_in_background(TeamCreate/SendMessage に完全に一致するものがない場合があります)、EnterPlanMode/ExitPlanMode -> Plan mode(SwitchMode / CreatePlan)とユーザーの明示的な承認。
Read/Write/Edit/StrReplace/Bash/ウェブ/検索/MCP を、Cursor Composer または Agent の相当機能に対応付けてください。mcp__server__tool と記述された MCP 名は通常、設定済みサーバー識別子を使う call_mcp_tool に対応します。タスクで Claude Code が明示的に対象になっていない限り、~/.claude/... を ~/.cursor/skills/、.cursor/skills/、.cursor/rules/ に対応付けてください。
5 つの専門家の視点と 1 人のチームリードによる包括的な QA 検証チームです。
チーム構成
| 役割 | モデル | エージェント/スキルの基盤 | 視点 |
|---|---|---|---|
| qa-lead | opus | quality-engineer | 統括、集約、最終ゲート |
| visual-tester | opus | gui-phd-* | レイアウト、レスポンシブ対応、レンダリング |
| functional-tester | opus | feature-validator(強化版) | ユーザーフローと 影響の波及 |
| hig-tester | opus | web-design-guidelines | Apple HIG、WCAG AA+ |
| edge-case-tester | opus | quality-engineer | 長いテキスト、100 件以上のレコード、オーバーフロー |
| ux-tester | opus | ph-quality-gate | 暗い背景上の暗い要素、フィードバック不足、一貫性のなさ |
起動フロー
ステップ 1:前提条件
- 開発サーバー/アプリが稼働していることを確認します(不明な場合はユーザーに確認します)
mkdir -p claudedocs/qa/screenshotspackage.json(または--platformフラグ)からプラットフォームを判定します:"electron"がある → Electronexpo/app.jsonがある → iOS/Expo.xcodeproj/Package.swiftの macOS ターゲットがある → macOS- それ以外 → Web
ステップ 2:エージェントチームを作成する
TeamCreate ツールを使って、team_name を "qa-team"、description を "QA verification team" に設定します。
QA 作業を自分で行わないでください。チームを作成したら、メンバーに作業を任せます。
次に、Task ツールを使って team_name: "qa-team" を指定し、6 人のチームメンバーを起動します。
qa-lead(subagent_type: "general-purpose"):
~/.claude/agents/quality-engineer.mdを読みます- タスクリストを 8 件作成します(下記の依存関係グラフを参照)
- 5 件すべてのレポートを待ってから、
claudedocs/qa/qa-summary.mdに集約します - 採点基準の最終総合ゲートを適用します
visual-tester(subagent_type: "general-purpose"):
~/.claude/agents/gui-phd-web-electron.md(またはプラットフォームに応じて gui-phd-mobile/gui-phd-macos)を読みます- RALPH プロトコルによるスクリーンショット検証を 95% のしきい値で実行します
claudedocs/qa/qa-visual-integrity.mdに報告します
functional-tester(subagent_type: "general-purpose"):
~/.claude/agents/feature-validator.mdを読みます- 4 フェーズ影響伝播プロトコルを実行します
claudedocs/qa/qa-functional.mdに報告します
hig-tester(subagent_type: "general-purpose"):
- CLAUDE.md のデザインポリシーのセクションを読みます
- タイポグラフィ、タップ領域、色、間隔、モーション、角丸を確認します
claudedocs/qa/qa-hig-compliance.mdに報告します
edge-case-tester(subagent_type: "general-purpose"):
~/.claude/agents/quality-engineer.mdを読みます- 空のテキスト/長いテキスト、100 件以上のレコード、境界値、オーバーフローをテストします
claudedocs/qa/qa-edge-cases.mdに報告します- blockedBy:functional-tester のタスク
ux-tester(subagent_type: "general-purpose"):
- PH Quality Gate のビジュアル軸(V1~V5、100 点満点)を適用します
claudedocs/qa/qa-ux-sensibility.mdに報告します- blockedBy:visual-tester のタスク
ステップ 3:プラットフォームに応じてツールを選択する
| プラットフォーム | 主なツール |
|---|---|
| Web | playwright-cli(open --headed、snapshot、screenshot、click、fill) |
| Electron | /qa-electron スキル(Electron CDP に接続した playwright-cli) |
| iOS/Expo | mcp__ios-simulator__* |
| macOS | mcp__mac-mcp-server__* |
ブラウザーを操作する前に(Web または Electron)、/dnd を呼び出してドラッグ&ドロップ検証プロトコルを読み込みます。参照ベースの drag は dnd-kit などのライブラリで誤って成功を報告するため、DnD が関係すると判明していない場合でも、あらかじめ読み込んでください。
ステップ 4:委任モードに切り替える
すべてのチームメンバーを起動したら、ユーザーに Shift+Tab を押して委任モードに切り替えるよう伝えます。リードが調整役を務めます。あなた自身は QA レポートを作成しないでください。
ステップ 5:進捗を確認して集約する
- qa-lead は
claudedocs/qa/に 5 件すべてのレポートが揃うまで待ちます - 採点基準の重みを使って総合スコアを算出します
- 最終判定を記載した
claudedocs/qa/qa-summary.mdを作成します
ステップ 6:最終品質ゲート
| 項目 | 重み | PASS のしきい値 |
|---|---|---|
| ビジュアル | 25% | 95% トリプル基準 |
| 機能 | 30% | 合格率 95%、P0=0 |
| HIG | 15% | 総合 80/100 |
| エッジケース | 15% | クラッシュ 0 件 |
| UX の感覚品質 | 15% | PH ビジュアル 75/100、重大な問題 0 件 |
85 以上:PASS / 65~84:条件付き PASS / 65 未満:FAIL
タスク依存関係グラフ
Task 1: [qa-lead] Platform Detection & Test Plan
├── Task 2: [visual-tester] Visual Integrity (parallel)
├── Task 3: [functional-tester] Functional Correctness (parallel)
├── Task 4: [hig-tester] Apple HIG Compliance (parallel)
├── Task 5: [edge-case-tester] Edge Cases (blockedBy: 3)
├── Task 6: [ux-tester] UX Sensibility (blockedBy: 2)
├── Task 7: [qa-lead] Report Aggregation (blockedBy: 2,3,4,5,6)
└── Task 8: [qa-lead] Final Quality Gate (blockedBy: 7)
出力構成
claudedocs/qa/
├── qa-test-plan.md # Platform + test plan
├── qa-visual-integrity.md # Visual report
├── qa-functional.md # Functional report (with impact verification)
├── qa-hig-compliance.md # HIG report
├── qa-edge-cases.md # Edge case report
├── qa-ux-sensibility.md # UX sensibility report
├── qa-summary.md # Aggregated final verdict
└── screenshots/
├── visual_*.png
├── func_*.png / func_*_impact_*.png
├── hig_*.png
├── edge_*.png
└── ux_*.png
フラグ
| フラグ | 効果 |
|---|---|
--platform <type> | プラットフォームを指定します(自動検出をスキップ) |
--skip <perspective> | 1 つ以上の観点をスキップします |
--quick | ビジュアルと機能のみを実施します(チームメンバーは 6 人ではなく 3 人) |
参考資料
references/qa-scoring-rubric.md— 観点ごとの詳細な採点基準workflows/web-workflow.md— Web プラットフォームのテストワークフローworkflows/electron-workflow.md— Electron のテストワークフローworkflows/mobile-workflow.md— iOS/Expo のテストワークフローworkflows/macos-workflow.md— macOS のテストワークフロー
完了条件
以下を満たすと、QA セッションは完了です。
- 判定を含む個別レポートが 5 件すべて存在する
- すべてのレポートに裏付けとなるスクリーンショットがある
- qa-summary.md に総合スコアが算出されている
- 最終判定(PASS / 条件付き PASS / FAIL)が示されている