From ios-qa-agent
QA テストスイートの解析・前提条件解決・実行計画策定を行うフェーズスキル。ios-qa-workflow から参照される。「テスト計画」「QA 準備」「テストスイート解析」などのキーワードで自動適用。
npx claudepluginhub no-problem-dev/claude-code-plugins --plugin ios-qa-agentThis skill uses the workspace's default tool permissions.
```
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
---
suite: [スイート名]
app_scheme: [scheme]
app_project_path: [path]
precondition_presets:
[preset_name]:
description: [説明]
depends_on: [依存するプリセット] # optional
steps: |
[達成手順のヒント(自然言語)]
---
実行条件: ユーザーが「回帰テスト」「regression」「差分テスト」と指示した場合、または ios-qa-workflow から指示された場合
git log --oneline -10 -- tests/app-map.md
現在の App Map ファイルが Git 管理下にあるか確認。なければ差分分析をスキップ。
git show HEAD~1:tests/app-map.md
前回コミットの App Map を取得(存在する場合)。
エラー処理:
fatal: bad revision → 初回実行(差分対象なし)、警告を出力現在の App Map と前バージョンを比較し、以下を検出:
差分カテゴリ:
新規画面 — 現在の App Map にのみ存在
削除された画面 — 前回の App Map にのみ存在
変更された要素 — 画面は同じだが要素が変更
変更された遷移 — Transitions セクションの変更
QA Readiness スコア変化
qa_readiness_score の前後比較テストケースの以下のフィールドと App Map 差分を照合:
マッピング例:
TC-001 の precondition: [home]
→ App Map で home が変更された → 影響度: HIGH
TC-002 の操作意図に「settings 画面へ遷移」
→ settings への遷移が App Map で削除 → 影響度: HIGH
TC-003 の期待結果に「session_active 画面に到達」
→ session_active 画面の要素が [HIGH] → [LOW] に低下 → 影響度: MEDIUM
## App Map 差分分析
### 変更サマリー
- 新規画面: [N] 件
- 変更画面: [N] 件
- 削除画面: [N] 件
- 遷移変更: [N] 件
### 新規画面
| 画面名 | 推奨テストケース |
|-------|-----------------|
| [screen] | TC-AUTO-XXX または新規追加推奨 |
### 削除画面
| 画面名 | 影響テストケース |
|-------|-----------------|
| [screen] | TC-YYY (precondition), TC-ZZZ (期待結果) |
### 変更要素
| 画面名 | 変更内容 | 信頼度変化 | 影響テストケース |
|-------|--------|---------|-----------------|
| [screen] | [要素名] 削除 / 追加 / 名称変更 | [HIGH]→[MED] | TC-ABC |
### 遷移変更
| 変更 | From | To | Action | 影響テストケース |
|-----|------|-----|--------|-----------------|
| 追加 | [screen] | [screen] | [action] | - |
| 削除 | [screen] | [screen] | [action] | TC-DEF (操作意図) |
### 影響を受けるテストケース
| TC-ID | 影響種別 | 影響詳細 | QA Readiness への影響 | 推奨アクション |
|-------|---------|---------|-------|----------|
| TC-001 | precondition 変更 | home 画面の要素が [HIGH]→[MED] に低下 | -10% | テストの期待結果を見直し、[MED] 信頼度での操作方法を確認 |
| TC-002 | 操作意図 変更 | settings 画面への遷移が削除された | - | テストケース内容を見直し、遷移パスを修正 |
| TC-003 | 新規画面 | session_history 画面が追加 | +5% | 新規テストケース TC-AUTO-001 の実装を検討 |
### QA Readiness スコア変化
- **前回**: X% (バージョン: A.B.C)
- **今回**: Y% (バージョン: C.D.E)
- **変化**: +/-Z% ([理由:新規画面追加で +5%, 既存要素の信頼度低下で -3%])
### 推奨アクション(優先度順)
1. **影響度 HIGH のテストケースを再確認**
- TC-001: home 画面要素が [HIGH] → [MED] に低下。タップ方法の自動選択が重要になります
- TC-002: settings への遷移が削除。テストケースの操作意図を修正してください
2. **新規テストケースを追加**
- session_history 画面が新規追加されました
- 初回テスト実行前に新規テストケース TC-AUTO-001 を作成することを推奨します
3. **削除画面の関連テストケースをスキップ**
- deprecated_feature 画面が削除されたため、TC-004 を `skip: true` に設定してください
---
id: TC-XXX
title: [タイトル]
priority: critical | high | medium | low
tags: [tag1, tag2]
preconditions: [preset1, preset2]
depends_on: [TC-YYY] # optional
timeout_seconds: 120 # optional
skip: false # optional
retry: 0 # optional
---
# [タイトル]
## 前提状態
## 操作意図
## 期待結果
## 補足(optional)
ユーザーの指示から回帰テストモードを判定:
if ユーザー指示に「回帰テスト」「regression」「差分テスト」:
回帰テストモード = true
Phase 0.5 (App Map 差分分析) を実行
差分分析で影響テストケースを特定
else:
回帰テストモード = false
通常の実行計画策定へ
回帰テストモード有効時の影響:
format_version を確認## Execution Plan
### App
- Scheme: [scheme]
- Project: [path]
### App Map
- Available: yes/no
- Path: [path] (if available)
- Last Updated: [date] (if available)
### Test Cases (in execution order)
| # | ID | Title | Priority | Preconditions | Depends On |
|---|-----|-------|----------|---------------|------------|
| 1 | TC-001 | ... | critical | [app_launched, logged_in] | - |
| 2 | TC-002 | ... | high | [app_launched, logged_in] | TC-001 |
### Precondition Presets
- app_launched: [steps]
- logged_in: [steps]
### Skipped
- TC-XXX: [理由]