| name | qa-setup |
| description | Verify and install all dependencies for the QA Automation skill package. Checks for agent-device, agent-browser, Node.js, iOS/Android tools, and the 'ws' WebSocket library. Installs missing tools automatically. Invoke when user says "check qa setup", "install qa tools", "verify qa dependencies", "set up qa automation", "prepare for testing", or any task requiring QA tool verification.
|
| allowed-tools | Bash(agent-device:*) Bash(agent-browser:*) Bash(npm:*) Bash(npx:*) Bash(node:*) Bash(which:*) Bash(xcrun:*) Bash(brew:*) Read |
qa-setup
Dependency verification and installation for the QA Automation skill package. Ensures both agent-device (native app testing) and agent-browser (web app testing) are installed and functional, along with all supporting tools.
What Gets Checked
| Dependency | Purpose | Auto-Install? |
|---|
| agent-device | Native iOS/Android simulator control, screenshots, gestures | ā
npm install -g agent-device |
| agent-browser | Web browser automation, form filling, screenshots | ā
npm install -g agent-browser |
| Node.js | Runtime for CDP WebSocket and JSON processing | ā Manual install required |
| npm / npx | Package management | ā Comes with Node.js |
| ws | WebSocket library for CDP connections | ā
npm install ws |
| Xcode / xcrun | iOS Simulator management | ā Manual install (Mac App Store) |
| adb | Android emulator management | ā Manual install (Android Studio) |
| Bash 4.0+ | Required for array support in test scripts | ā brew install bash |
| curl | HTTP requests for health checks | ā Usually pre-installed |
| jq | JSON processing (optional) | ā brew install jq |
Usage
Full check + auto-install
bash .pi/skills/qa-automation/install.sh
Check only (don't install anything)
bash .pi/skills/qa-automation/install.sh --check
Manual install commands
npm install -g agent-device
npm install -g agent-browser
cd /path/to/your/project
npm install ws
xcode-select --install
brew install android-platform-tools
brew install jq
brew install bash
After Setup
-
Configure: Copy qa.config.sh and set your app-specific values:
export APP_BUNDLE_ID="com.yourapp.dev"
export PROJECT_DIR="/path/to/your/project"
-
Verify: Run the setup guard to check everything works:
source .pi/skills/qa-automation/qa-scroll/lib/setup-guard.sh
run_setup_guard
-
Test: Run an example test flow:
bash .pi/skills/qa-automation/qa-scroll/run.sh
Architecture
The QA Automation package uses a dual-driver architecture:
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
ā QA Automation Skills ā
āāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā¤
ā Native App Testing ā Web App Testing ā
ā ā ā
ā āāāāāāāāāāāāāāāā ā āāāāāāāāāāāāāāāā ā
ā ā agent-device ā ā ā agent-browser ā ā
ā ā ā ā ā ā ā
ā ā ⢠Screenshots ā ā ā ⢠Screenshots ā ā
ā ā ⢠Gestures ā ā ā ⢠Click/Fill ā ā
ā ā ⢠A11y tree ā ā ā ⢠A11y tree ā ā
ā ā ⢠App launch ā ā ā ⢠Navigation ā ā
ā āāāāāāāā¬āāāāāāāā ā āāāāāāāā¬āāāāāāāāā ā
ā ā ā ā ā
ā āāāāāāāā¼āāāāāāāā ā āāāāāāāā¼āāāāāāāāā ā
ā ā CDP (Hermes) ā ā ā Browser DOM ā ā
ā ā ā ā ā ā ā
ā ā ⢠JS eval ā ā ā ⢠JS eval ā ā
ā ā ⢠Navigation ā ā ā ⢠State check ā ā
ā ā ⢠State query ā ā ā ⢠Network ā ā
ā ā ⢠Debug hooks ā ā ā ⢠Cookies ā ā
ā āāāāāāāāāāāāāāāā ā āāāāāāāāāāāāāāāāā ā
āāāāāāāāāāāāāāāāāāāāāāāā“āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Both drivers are required for full functionality. agent-device handles the physical device/simulator layer, while CDP (or agent-browser for web) handles the application runtime layer.