一键导入
run-ui-tests
Run Android and iOS UI tests for a specific feature. Requires a connected device/emulator (Android) or simulator (iOS). Use after modifying UI code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run Android and iOS UI tests for a specific feature. Requires a connected device/emulator (Android) or simulator (iOS). Use after modifying UI code.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Convert acceptance criteria, Jira tickets, Gherkin scenarios, PRDs, or any product requirements into a structured spec template. Use when translating PM artifacts into actionable specs for add-*, update, migrate, or remove skills.
Scaffold a complete new feature module with all 6 submodules, source files, tests, fakes, and AGENTS.md. Use when adding an entirely new feature to the app.
Execute cross-cutting migrations — library swaps, pattern changes, API version upgrades, or architecture refactors. Handles phased rollout, coexistence, and rollback planning.
Reverse-engineer a spec from existing code — reconstructs presumed acceptance criteria, data flow, API contracts, UI states, and business rules by reading source, tests, and git history. Use when inheriting undocumented features, onboarding onto unfamiliar code, or preparing for a refactor.
Modify existing feature code across all affected layers — domain models, data, presentation, tests, and fakes. Use when changing behavior, adding fields, or enhancing existing features.
Verification pipeline with three scopes — diff (default, changed modules only), full (whole project lint + unit + arch + builds), and all (every test level + every variant + full assemble). Use after any code change.
| name | run-ui-tests |
| description | Run Android and iOS UI tests for a specific feature. Requires a connected device/emulator (Android) or simulator (iOS). Use after modifying UI code. |
After modifying any Ui.kt files in impl/presentation/src/androidMain/ or any *View.swift files in iosApp/iosApp/Features/.
A connected Android device or running emulator is required.
./gradlew :features:{name}:impl:presentation:connectedAndroidDeviceTest
Valid feature names: home, login, more, order, profile, rewards, scan
./gradlew connectedAndroidDeviceTest
UI tests follow the Robot pattern:
{Feature}UiTest.kt — test cases, uses UiRobot only{Feature}UiRobot.kt — owns StateRobot, handles content setup and assertions{Feature}StateRobot.kt — provides state objects and captures eventsEach test validates:
eventSinkComposeContentTestRule with semantic matchers (onNodeWithTag, onNodeWithText)TestTags are defined in api/navigation/{Feature}TestTags.ktMockDonaldsTheme + LocalWindowSizeClass providerAn iOS Simulator must be available (e.g., iPhone 17 Pro).
xcodebuild test -project iosApp/iosApp.xcodeproj -scheme iOSApp -testPlan UIComponentTests -destination 'platform=iOS Simulator,name=iPhone 17 Pro'
iOS tests follow the same Robot pattern:
{Feature}ViewTest.swift — @Suite @MainActor struct with @Test methods{Feature}ViewRobot.swift — @MainActor final class, uses ViewInspector{Feature}StateRobot.swift — extends BaseStateRobot, provides state variantsEach test validates:
eventSinkTestTags from KMP api modulesComposeApp for shared UiState/Event types