Help us improve
Share bugs, ideas, or general feedback.
From ios-qa-agent
QA テスト結果を集約し、構造化レポートを生成するフェーズスキル。失敗テストの分析と次のアクション提案を含む。「QA レポート」「テスト結果」「QA 結果」などのキーワードで自動適用。
npx claudepluginhub no-problem-dev/claude-code-plugins --plugin ios-qa-agentHow this skill is triggered — by the user, by Claude, or both
Slash command
/ios-qa-agent:ios-qa-reportThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
```markdown
Orchestrates parallel QA agents, triages bugs, and generates structured QA reports. Entry point for running QA sessions.
Provides workflows for executing XCTest unit tests and XCUITest UI tests on iOS simulators/devices, detecting flaky tests, analyzing failures, and optimizing parallel/CI execution.
Enforces QA test naming conventions, directory structure, status lifecycle transitions, and metadata for organized test management and traceability.
Share bugs, ideas, or general feedback.
# QA Report: [スイート名]
**実行日時**: YYYY-MM-DD HH:MM
**アプリ**: [scheme]
**シミュレータ**: [simulator]
**実行環境**: [iOS version]
**実行モード**: [通常 / 回帰テスト]
## 回帰テスト結果(回帰テストモード時のみ)
### App Map 差分サマリー
- **前回バージョン**: A.B.C
- **今回バージョン**: C.D.E
- **新規画面**: N 件
- **変更画面**: N 件
- **削除画面**: N 件
- **遷移変更**: N 件
### 影響テストケース実行結果
| TC-ID | 影響種別 | 結果 | Confidence | 実行時間 | 備考 |
|-------|---------|------|-----------|--------|------|
| TC-001 | precondition 変更 | Pass | high | 45s | home 画面要素が [HIGH]→[MED] に低下。タップ成功 |
| TC-002 | 操作意図 変更 | Fail | high | 38s | settings への遷移が削除され、テスト失敗 |
| TC-003 | 新規画面 | Pass | medium | 52s | session_history 画面が新規追加。初回確認成功 |
### 影響テストケースの成功率
- **Pass**: M 件
- **Fail**: N 件
- **Inconclusive**: K 件
- **成功率**: M / (M + N + K) %
### 推奨アクション
#### 1. 失敗した影響テストケース(優先対応)
- **TC-002**: settings への遷移が削除されたため、テストケースの操作意図を修正するか、テストケースを削除してください
#### 2. 新規テストケースの追加
- **session_history 画面**: 新規追加画面。既存テストでカバー予定でない場合、新規テストケース TC-AUTO-001 の実装を検討してください
#### 3. 削除対象のテストケース
- **deprecated_feature 画面が削除**: 関連テストケースを `skip: true` に設定してください
## App Map 更新
- **Updated**: yes/no
- **New Screens**: N
- **New Transitions**: M
- **New Elements**: K
- **Version**: X.Y.Z
- **Format Version**: 4
- **QA Readiness Score**: X (0-100)
- **QA Readiness Level**: Low / Conditional / High
- **Last Updated**: YYYY-MM-DD HH:MM
- **Last Verified**: YYYY-MM-DD HH:MM
## サマリー
| 結果 | 件数 |
|------|------|
| Pass | N |
| Fail | N |
| Inconclusive | N |
| Skipped | N |
| **合計** | **N** |
**成功率**: X% (Pass / (Pass + Fail + Inconclusive))
**信頼度**: N/M テストで high confidence
## QA Readiness
- **Score**: X/100
- **Level**: Low / Conditional / High
- **主な課題**: [要素識別性、操作可能性、状態観測性のいずれが弱いか]
## 重大な問題(Fail テスト)
### [TC-ID]: [title]
- **Verdict**: Fail
- **Confidence**: [level]
- **問題**: [Issues]
- **根拠**: [Evidence Summary]
- **推奨アクション**: [具体的な修正方針]
## 要確認(Inconclusive テスト)
### [TC-ID]: [title]
- **Verdict**: Inconclusive
- **理由**: [Issues]
- **推奨**: [手動確認 or パラメータ調整]
## 成功テスト
| ID | タイトル | Confidence |
|----|---------|------------|
| TC-XXX | ... | high/medium/low |
## スキップされたテスト
| ID | タイトル | 理由 |
|----|---------|------|
| TC-XXX | ... | 依存先 TC-YYY が失敗 |
## QA Readiness 改善提案
テストスイート実行時に以下の形式で具体的な改善提案を含める:
### Priority 1: 要素識別性の改善(Accessibility Identifiers)
- [画面名] の [要素名]:
- 現状: tap(label:) 失敗、座標タップ必須
- 提案: `accessibilityIdentifier: "square.and.pencil"` を Button に追加
- 効果: [LOW] → [HIGH] に昇格。タップ成功率 向上
### Priority 2: 操作可能性の改善
- [画面名] の [要素名]:
- 現状: タップしても目に見える変化がない
- 提案: ボタン有効/無効の UI フィードバック、またはローディング表示を追加
- 効果: QA テストの検証確度向上
### Priority 3: 状態観測性の改善
- [画面名] の [状態]:
- 現状: snapshot_ui では検出できない(例:非表示エラーメッセージ)
- 提案: エラー状態を視覚的に表現(画面遷移、アラート表示等)
- 効果: QA テストの自動判定が可能に
## 次のアクション(優先度順)
### 通常テスト時
1. [最も重要な修正事項]
2. [次に重要な修正事項]
3. [QA Readiness 改善提案(Priority 順)]
4. [Inconclusive テストの再実行条件]
### 回帰テスト時(回帰テストモードの場合)
1. **影響テストケースの Fail 項目**: 修正 + 再実行が必須
- アプリの UI 構造変更が既存テストと非互換
- テストケースの更新または削除が必要
2. **削除画面の関連テストケース**: 削除 or 無効化
- App Map で削除された画面に依存するテストケースをスキップに設定
3. **新規画面の新規テストケース**: 作成推奨
- App Map で追加された画面に対するテストケースを作成
4. **変更画面の信頼度低下対応**: テストケース見直し
- 要素の信頼度が [HIGH] → [MED]/[LOW] に低下した場合
- テストケースの期待結果や操作方法を見直し