← Back to Skills Marketplace
fengyang0317

adb controller

by Yang Feng · GitHub ↗ · v1.0.0
cross-platform ⚠ suspicious
485
Downloads
0
Stars
2
Active Installs
1
Versions
Install in OpenClaw
/install adb-controller
Description
Control an Android device via ADB. Use when the user asks to control an Android device, tap, swipe, input text, or perform actions via adb. Automatically use...
README (SKILL.md)

ADB Controller

This skill allows you to execute ADB (Android Debug Bridge) commands on a connected Android device and automatically retrieve a screenshot of the result.

Configuration

The user can configure the target ADB device/server in their openclaw.json (this is automatically read by the script):

{
  "skills": {
    "entries": {
      "adb-controller": {
        "adbServer": "192.168.1.100:5555" // or device serial
      }
    }
  }
}

Usage

To run an ADB command, execute the provided Python script:

python3 ~/.openclaw/workspace/skills/adb-controller/scripts/run_adb.py shell input tap x y

You can pass any standard ADB arguments to the script. For example:

  • python3 .../run_adb.py shell input text "hello"
  • python3 .../run_adb.py shell input keyevent 26 (Power button)
  • python3 .../run_adb.py shell swipe 500 1000 500 500

Workflow (Mandatory)

  1. Understand the user's intent and determine the correct ADB command.
  2. Execute the user's requested action using the run_adb.py script via the exec tool.
  3. The script will output the path to a newly captured screenshot.
  4. Send the Image: You MUST use the message tool (with action="send" and media="\x3Cpath-to-screenshot>") to send the resulting screenshot to the user, allowing them to see the outcome of the action. Do not just output the file path.
Usage Guidance
This skill's code does what its description claims (runs adb commands and captures screenshots) but there are some inconsistencies and small risks you should consider before using it: 1) The Python script requires the local 'adb' binary but the skill metadata does not declare that dependency — ensure adb is installed and available on PATH. 2) The SKILL.md says it will read openclaw.json for the target, but the script actually uses the ADB_SERVER_ADDRESS environment variable; confirm which configuration your environment will provide so it doesn't connect to an unexpected device or remote adb server. 3) Because the script may run 'adb connect <host:port>', it can connect to networked devices — only use this skill with servers/devices you trust. 4) If you don't trust the skill's source, review or run the included script in an isolated environment first. Recommended actions: ask the author to (a) declare the 'adb' binary and ADB_SERVER_ADDRESS in metadata, or (b) update the script to actually parse openclaw.json as documented; audit the script yourself before granting it access to any real devices.
Capability Analysis
Type: OpenClaw Skill Name: adb-controller Version: 1.0.0 The adb-controller skill provides a legitimate interface for managing Android devices via the Android Debug Bridge (ADB). The script `run_adb.py` uses safe subprocess execution (passing arguments as a list) to prevent shell injection and includes a transparent workflow in `SKILL.md` that ensures the user receives visual feedback via screenshots. No evidence of malicious intent, data exfiltration, or unauthorized persistence was found.
Capability Assessment
Purpose & Capability
Purpose (control Android via ADB, tap/swipe/input, take screenshots) aligns with included code: the Python script runs adb commands and captures screenshots. However, the skill fails to declare a required runtime dependency: the script invokes the 'adb' binary but the skill metadata lists no required binaries. Also SKILL.md says the ADB target is read from openclaw.json, while the script actually reads an environment variable (ADB_SERVER_ADDRESS) — this mismatch is unexpected.
Instruction Scope
SKILL.md instructs the agent to read openclaw.json for adbServer and to run the script and then always send the screenshot. The script does not parse openclaw.json; it reads ADB_SERVER_ADDRESS from the environment and will attempt to connect (adb connect) if the value contains a colon. That gives the skill the ability to connect to arbitrary network adb servers if the env var or agent environment is set, which is broader than documentation indicates.
Install Mechanism
This is an instruction-only skill with no install spec and a small included script. No package downloads or archive extraction are present.
Credentials
The script depends on an environment variable (ADB_SERVER_ADDRESS) but the skill metadata does not declare any required env vars. That hidden dependency can change which device/server the skill connects to at runtime. No other secrets are requested, but the unlisted env var and the ability to connect to remote adb servers are notable.
Persistence & Privilege
The skill does not request always:true and does not modify other skills or system-wide settings. It writes screenshots to the user's ~/.openclaw/workspace directory (its own workspace), which is consistent with its function.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install adb-controller
  3. After installation, invoke the skill by name or use /adb-controller
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release of adb-controller skill: - Enables control of Android devices using ADB commands executed via a provided Python script. - Automatically captures and returns a screenshot after each command. - Reads ADB server/device info from openclaw.json for automatic configuration. - Requires sending the screenshot result to the user after each action.
Metadata
Slug adb-controller
Version 1.0.0
License
All-time Installs 4
Active Installs 2
Total Versions 1
Frequently Asked Questions

What is adb controller?

Control an Android device via ADB. Use when the user asks to control an Android device, tap, swipe, input text, or perform actions via adb. Automatically use... It is an AI Agent Skill for Claude Code / OpenClaw, with 485 downloads so far.

How do I install adb controller?

Run "/install adb-controller" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is adb controller free?

Yes, adb controller is completely free (open-source). You can download, install and use it at no cost.

Which platforms does adb controller support?

adb controller is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created adb controller?

It is built and maintained by Yang Feng (@fengyang0317); the current version is v1.0.0.

💬 Comments