/SKILL.md
Control Android devices via Accessibility Service HTTP bridge. 100x faster than screencap + uiautomator dump. Read UI tree in 50ms, click elements by text/id/description. Use when automating Android apps, controlling a phone via ADB, or building an AI-powered phone agent. Replaces the slow screenshot → parse → coordinate-tap cycle with instant semantic access.
npx skillsauth add 4ier/a11y-bridge a11y-bridgeInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Control Android devices through a 16KB Accessibility Service that exposes the live UI tree over HTTP (localhost:7333). ~50ms to read any screen, click by text without coordinate math.
Download the latest APK from Releases, then:
# Install
adb install openclaw-a11y.apk
# Enable accessibility service
adb shell settings put secure enabled_accessibility_services \
com.openclaw.a11y/.ClawAccessibilityService
adb shell settings put secure accessibility_enabled 1
# Forward port
adb forward tcp:7333 tcp:7333
# Verify
curl http://localhost:7333/ping
chmod +x build.sh && ./build.sh
# Full UI tree
curl http://localhost:7333/screen
# Compact mode (only interactive/text elements)
curl 'http://localhost:7333/screen?compact'
Returns JSON with all UI elements: text, bounds, clickable, editable, etc.
# Click element containing "Settings"
curl -X POST http://localhost:7333/click \
-H "Content-Type: application/json" \
-d '{"text": "Settings"}'
# Click by resource ID
curl -X POST http://localhost:7333/click -d '{"id": "com.app:id/send"}'
# Click by content description
curl -X POST http://localhost:7333/click -d '{"desc": "Navigate up"}'
curl -X POST http://localhost:7333/tap -d '{"x": 540, "y": 960}'
curl http://localhost:7333/ping
curl http://localhost:7333/screen → JSON with all UI elementscurl -X POST /click -d '{"text":"Send"}' → click by text, no coordinatesWhen multiple devices are connected, specify the target with -s <serial> for all ADB commands:
adb -s <serial> forward tcp:7333 tcp:7333
| Endpoint | Method | Description |
|----------|--------|-------------|
| /ping | GET | Health check |
| /screen | GET | Full UI tree as JSON. Add ?compact for interactive elements only |
| /click | POST | Click by text, id, or desc (JSON body) |
| /tap | POST | Tap coordinates x, y (JSON body) |
| | uiautomator dump | A11y Bridge |
|---|---|---|
| Read UI | 3-5 seconds | ~50ms |
| Click | Calculate bounds → input tap x y | {"text": "OK"} |
| Full cycle | 5-8 seconds | 100-200ms |
If the A11y Bridge service is not running (check with /ping), fall back to traditional ADB commands:
adb shell uiautomator dump /sdcard/ui.xml && adb pull /sdcard/ui.xml
adb shell input tap <x> <y>
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.