From ios-qa-agent
テストケースの作成を対話的に支援するユーティリティスキル。アプリの画面を観察しながらテストケースを生成できる。「テストケース作成」「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.
ユーザーの口頭説明からテストケースを生成:
実行中アプリの画面を見てテストケースを提案:
App Map のカバレッジ分析から、未テスト画面の自動テストケース提案:
---
id: TC-[自動採番]
title: [ユーザーの意図を簡潔に]
priority: [ヒアリングで決定]
tags: [関連タグ]
preconditions: [必要なプリセット]
timeout_seconds: 120
---
# [title]
## 前提状態
[preconditions から自動生成 + ユーザー追加]
## 操作意図
[ユーザーの説明を自然言語で記述]
## 期待結果
[ユーザーの期待を箇条書きで整理]
[「内容は不問」「存在のみ検証」等の LLM アプリ向け注釈を適宜追加]
## 補足
[制約事項や特記事項]
モード D で自動生成されたテストケースは status: draft で作成:
---
id: TC-AUTO-001
title: [自動生成]
status: draft
generated_from: app-map-v4
---
draft テストケースの処理:
skip: true を設定review → active に遷移app-map.md の構造を想定:
- Screens セクション: 画面定義の一覧(id, name, type)
- Transitions セクション: 画面遷移グラフ(from, to, action, condition)
- Operation Patterns セクション: ストリーミング、日本語入力等の注釈
qa-suite.md と TC-*.md から以下を抽出:
各画面に対し:
if 画面がどのテストケースの preconditions にも含まれない:
→ 未到達画面
elif 画面がテストの操作意図に含まれるが期待結果で検証されない:
→ 未検証画面
else:
→ カバー済み画面
各ギャップに対して以下の情報を含む draft テストケースを生成:
必須フィールド:
Priority 決定アルゴリズム:
base_priority = "medium"
if 画面が {home, session_active, conversation}:
base_priority = "critical"
elif 画面が複数の他画面から参照されている:
base_priority = "high"
if App Map で複数画面を跨ぐ遷移:
priority += 1 段階
if QA Issues で報告されている:
priority += 1 段階
最終 priority = max("critical", base_priority)
depends_on の推論:
App Map の Transitions グラフから逆算:
- 対象画面に到達するには必ずどの画面経由か
- その画面を確認するテストケースを depends_on に追加
例: model_select → session_setup 経由 → depends_on: TC-session-setup
Operation Patterns の自動注入:
if 操作対象がストリーミング応答を伴う:
補足に「完了判定: response_complete イベントの発火を確認」を追加
if 操作対象が日本語入力を伴う:
補足に「入力パターン: 平仮名、漢字、記号を含む複合入力を検証」を追加
draft テストケース候補を列挙し、以下の情報とともに提示:
## App Map カバレッジ分析結果
### 未到達画面(テストで訪問したことがない)
- TC-AUTO-001: [画面名] [理由]
- TC-AUTO-002: [画面名] [理由]
### 未検証画面(訪問するがテストしていない)
- TC-AUTO-003: [画面名] [検証すべき内容]
### ギャップ統計
- App Map 総画面数: N
- カバー済み: M
- カバレッジ率: M/N %
- 提案テストケース数: K
各候補テストケースの内容をレビュー待ち状態で提示。 ユーザーの承認 / 却下 / 編集を受け付ける。
承認されたテストケースについて:
- id: TC-AUTO-001
path: ./test-cases/TC-AUTO-001.md
skip: true # draft テストケースは実行対象外
status: draft
generated_from: app-map-v4