ios-qa

Runs vision-driven QA loops against SwiftUI apps on physical iPhones over USB.

Updated Sep 13, 2026
One-click install
npx skills add https://github.com/abdulazeezoj/monovella-poc --skill ios-qa-abdulazeezoj
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ios-qa
Source: https://github.com/abdulazeezoj/monovella-poc/tree/main/.agents/skills/gstack/ios-qa
Command: npx skills add https://github.com/abdulazeezoj/monovella-poc --skill ios-qa-abdulazeezoj

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Testing SwiftUI apps on real iPhones normally requires manual tapping or simulator-only automation that misses device-specific bugs. This Skill connects to a physical iPhone over a USB CoreDevice tunnel and drives an autonomous screenshot-analyze-act-verify loop against the running app, so bugs surface on real hardware without a human holding the phone. ## Core Features & Use Cases - Live-device agent loop: Connects via CoreDevice IPv6 tunnel, reads Swift source to map every screen, then iterates screenshot, analyze, decide, act, verify against an embedded HTTP StateServer in the app under test. - DebugBridge instrumentation: Ships Swift and Objective-C templates (StateServer, touch synthesis, accessibility tree snapshot, debug overlay) that are compiled into DEBUG builds only, with bearer-token auth, session locking, and snapshot/restore of app state. - Remote QA over Tailscale: Optionally exposes the device so remote HTTP-capable agents can run iOS QA without physical access to the hardware. - Use Case: Ask the agent to QA your iPhone app before a release; it walks every screen on the connected device, taps through flows, and reports concrete bugs with file and line references. ## Quick Start Ask the agent to run iOS QA on your iPhone app with the device connected over USB.

Frequently Asked Questions about ios-qa

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test my SwiftUI app on a real iPhone automatically?▼

Connect the iPhone over USB, integrate the DEBUG-only DebugBridge package into the app, then invoke the ios-qa skill. It opens a CoreDevice IPv6 tunnel and runs a screenshot-analyze-act-verify loop against the app's embedded StateServer over HTTP.

How does automated tapping work on SwiftUI buttons?▼

Taps prefer accessibility activation, falling back to KIF-derived UITouch synthesis with IOHIDEvent digitizer events. On iOS 18+ it uses _UIHitTestContext so SwiftUI Buttons resolve correctly instead of silently dropping the tap.

Can remote agents run iOS QA without the physical device?▼

Yes. The skill can expose the device over Tailscale so any HTTP-capable remote agent, such as OpenClaw or Codex, can drive the same StateServer endpoints from anywhere without touching the hardware.

Does the DebugBridge code ship in Release builds?▼

No. Every file is guarded by #if DEBUG, including the Objective-C touch synthesis, so Release builds contain no DebugBridge symbols or private API references. A CI check runs nm on the Release binary to enforce this.

Is the embedded HTTP server in the app secure?▼

The StateServer binds loopback plus the CoreDevice ULA range only, requires a rotated bearer token for all endpoints except healthz, and enforces a per-device session lock with a five-minute mutation timeout.