add-accessibility
Scan SwiftUI views and add missing accessibility identifiers using a consistent {screen}-{type}-{name} naming convention. Also…
Build, launch, and visually test iOS/SwiftUI apps in the Simulator using computer use. Automated screen navigation, crash log analysis, state testing (empty/error/loading), and memory leak detection. Use when you need to test an iOS app, run it in the Simulator, check for
Claude Code
$ npx -y skills add yusufkaran/swiftui-autotest-skill --skill ios-test --agent claude-code
Codex
$ npx skills add yusufkaran/swiftui-autotest-skill --skill ios-test -a codex -y
Cursor
$ npx skills add yusufkaran/swiftui-autotest-skill --skill ios-test -a cursor -y
Gemini CLI
$ npx skills add yusufkaran/swiftui-autotest-skill --skill ios-test -a gemini-cli -y
GitHub Copilot
$ npx skills add yusufkaran/swiftui-autotest-skill --skill ios-test -a github-copilot -y
OpenCode
$ npx skills add yusufkaran/swiftui-autotest-skill --skill ios-test -a opencode -y
Windsurf
$ npx skills add yusufkaran/swiftui-autotest-skill --skill ios-test -a windsurf -y
name: ios-test description: Build, launch, and visually test iOS/SwiftUI apps in the Simulator using computer use. Automated screen navigation, crash log analysis, state testing (empty/error/loading), and memory leak detection. Use when you need to test an iOS app, run it in the Simulator, check for crashes, or verify UI flows.
Use this skill to build an iOS/SwiftUI application, launch it in the Simulator, and visually test it using computer use. The skill navigates through every screen, screenshots each state, checks crash logs, and produces a structured test report — without writing a single line of test code.
xcodebuild -list -workspace MyApp.xcworkspace
**IMPORTANT: Simulator must be selected BEFORE building. The build command uses the selected device name.**
xcrun simctl list devices booted --json
**This step is MANDATORY. Runs BEFORE build. NEVER skip this step.**
1. Scan SwiftUI files in the project — look for `struct` ... `: View` patterns in `*.swift` files 2. Count interactive elements: `Button`, `TextField`, `SecureField`, `Toggle`, `Slider`, `Picker`, `DatePicker`, `NavigationLink`, `Image`, `.onTapGesture` 3. Check how many have `.accessibilityIdentifier()` 4. **ALWAYS ask the user (this question cannot be skipped):**
Accessibility Scan Result: Total interactive elements: XX With identifier: XX Missing identifier: XX Identifiers help me find elements more reliably during testing. Run /add-accessibility to add identifiers now? → Yes: adds identifiers, then builds and continues to testing → No: builds directly and uses coordinate-based testing (slower and more fragile)
5. **WAIT for the user's response.** Do not proceed without an answer. 6. If yes → run the full `/add-accessibility` workflow (scan, generate, apply), then continue to step 4 (Build) 7. If no → continue to step 4 (Build) directly
xcodebuild build \
-workspace MyApp.xcworkspace \
-scheme MyApp \
-destination 'platform=iOS Simulator,name=<SELECTED_DEVICE>' \
-derivedDataPath ./DerivedData \
2>&1**NEVER hardcode a device name. Always use the device selected in step 2.**
find ./DerivedData -name "*.app" -path "*/Debug-iphonesimulator/*" | head -1
plutil -p /path/to/MyApp.app/Info.plist | grep CFBundleIdentifier
xcrun simctl install booted /path/to/MyApp.app xcrun simctl launch booted <BUNDLE_ID>
**IMPORTANT: This phase requires the `computer-use` MCP server to be enabled.**
If computer use is not enabled, tell the user:
Computer use is not enabled. Required for visual testing. Run /mcp and enable the computer-use server.
Discover and test all main screens:
1. **TabView present** → tap each tab, inspect each screen 2. **NavigationStack present** → tap each navigation link, go back 3. **On each screen** check:
4. Screenshot each screen
Test the specified user flow:
Find and test only the specified screen. Navigate to it if needed.
Test different app states using launch arguments.
1. Check if the app supports state overrides via `CommandLine.arguments`:
2. If not found, ask the user:
No state test support found. Would you like me to add launch argume
Open-source Agent Skills for automated visual testing and accessibility setup of iOS/SwiftUI applications using Claude Code's computer use.
Scan SwiftUI views and add missing accessibility identifiers using a consistent {screen}-{type}-{name} naming convention. Also…
Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…
Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…
DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…