Detect test mode (ad-hoc vs regression) and return a list of test cases to run. Used by all platform agents (iphone-tester, ipad-tester, macos-tester). For regression: reads tests/ios-tests.yaml or infers cases from the codebase. For ad-hoc: generates a minimal test plan from the user's description.
How this skill is triggered — by the user, by Claude, or both
Slash command
/apple-ui-test-automation:load-test-casesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
- `user_message` — the original request from the user
user_message — the original request from the userproject_root — absolute path to the directory containing the .xcodeproj file| User says | Mode |
|---|---|
| "test [feature X]", "kiểm tra [X]", "thử [X]" | Ad-hoc |
| "run regression", "chạy regression", "test all", "test toàn bộ" | Regression |
Generate a minimal test plan from the user's description:
Return the generated cases and proceed immediately. No file read needed.
Check if the YAML file exists:
ls <project_root>/tests/ios-tests.yaml 2>/dev/null && echo "FOUND" || echo "NOT FOUND"
If FOUND: Read and parse it. Return all entries under cases:.
If NOT FOUND: Infer from the codebase:
ls <project_root>/<AppName>/Features/
For each feature directory:
Present the inferred cases to the user and wait for confirmation before returning.
suite: Suite Name
version: 1.0
cases:
- id: kebab-case-id
name: "Human readable name"
feature: "Tab > Section"
steps:
- navigate: <tab name> # tap tab bar item by accessibility label
- tap: "<element label>" # tap UI element by accessibility label
- select: "<option>" # tap item in picker/context menu
- type: "<text>" # type text into focused field
expect:
- ui_contains: "<label>"
- element_not_exists: "<label>"
| YAML step | axe command |
|---|---|
navigate: Settings | tap --label Settings --wait-timeout 5 |
tap: "Start Focus" | tap --label 'Start Focus' --wait-timeout 5 |
select: "Dark" | tap --label 'Dark' --wait-timeout 3 |
type: "hello" | type 'hello' |
If --label fails with "multiple matches": run axe describe-ui --udid <UDID> and use coordinate-based tap.
List of test case objects ready for the agent to pass into run-test-case.
npx claudepluginhub hoangdh2001/apple-app-ui-test-automation --plugin apple-ui-test-automationGuides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.