control
Automatically control locally connected Android phones with OpenGUI screenshots and allowlisted actions whenever a request targets a phone, Android app, mobile…
Control an Android phone through OpenGUI from an AI coding agent such as Claude Code, Codex, or OpenCode. Use when an agent should list online devices, run a natural-language mobile task, check execution status, pause, resume, or cancel through the local OpenGUI backend and CLI.
$ npx -y skills add Core-Mate/OpenGUI --skill open-gui-remote-control --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/open-gui-remote-controlContext preview
The summary Claude sees to decide when to auto-load this skill.
Control an Android phone through OpenGUI from an AI coding agent such as Claude Code, Codex, or OpenCode. Use when an agent should list online devices, run a natural-language mobile task, check execution status, pause, resume, or cancel through the local OpenGUI backend and CLI.
name: open-gui-remote-control description: Control an Android phone through OpenGUI from an AI coding agent such as Claude Code, Codex, or OpenCode. Use when an agent should list online devices, run a natural-language mobile task, check execution status, pause, resume, or cancel through the local OpenGUI backend and CLI.
Use this skill when an AI coding agent such as Claude Code, Codex, or OpenCode needs to operate an Android phone through OpenGUI.
The agent should not drive the phone with raw `adb shell input` commands. The supported path is:
Claude Code / Codex / OpenCode -> server CLI or REST API -> OpenGUI backend task/execution services -> standby dispatch -> Android client -> execution socket action loop
Start this skill when the user asks for any of these:
If the user asks to install or bootstrap OpenGUI from scratch, use `open-gui-bootstrap` first. After backend and Android client are running, return to this skill for task execution.
OpenGUI's runnable source checkout is:
https://github.com/Core-Mate/OpenGUI
The checkout must contain both:
If those paths are missing, the current directory is not the runnable OpenGUI checkout.
Before using this skill, decide where OpenGUI should run.
Use a local workspace when:
Use a remote workspace only when:
Do not silently choose a remote host for phone control. USB debugging, `adb reverse`, Android build/install, and phone-side permissions are usually local-machine operations.
If the current directory already contains the runnable checkout, use it.
If the current directory is a wrapper directory, search one level down for the runnable checkout before cloning:
find . -maxdepth 3 -type f -path '*/server/package.json' -print find . -maxdepth 3 -type f -path '*/client/start.sh' -print
If no runnable checkout exists and the user wants the agent to set it up locally, clone the public repository:
git clone https://github.com/Core-Mate/OpenGUI.git cd OpenGUI
If the destination already exists, do not overwrite it. Enter the existing directory, inspect `git status`, and pull only when the user asked for the latest code or when the checkout is clean enough to update safely.
If the user wants a remote setup, SSH to the remote host first, then perform the same checkout detection or clone on that host. Keep the backend URL and Android connectivity explicit; a backend running on a remote host will not be reachable through local `adb reverse` unless the user has provided a bridge.
Before sending a task, verify these conditions:
If the backend or client is not running, use the repository scripts:
cd server ./start.sh
cd client ./start.sh
Run commands from the `server/` directory.
List online standby devices:
pnpm opengui -- devices --json
Create and run a new task:
pnpm opengui -- do "观察当前手机屏幕,简要描述你看到了什么,然后结束" --json
Run a task on a specific device:
pnpm opengui -- do "打开设置,检查当前网络状态" --device <deviceId> --json
Run an existing task:
pnpm opengui -- run <taskId> --json
Check execution status:
pnpm opengui -- status <executionId> --json
Pause, resume, or cancel:
pnpm opengui -- pause <executionId> --json pnpm opengui -- resume <executionId> "继续执行,但不要打开新的 App" --json pnpm opengui -- cancel <executionId> --json
Use a non-default backend:
pnpm opengui -- devices --base-url http://localhost:7777 --json
Base URL priority:
--base-url > OPENGUI_BASE_URL > http://localhost:7777
Find or clone `https://github.com/Core-Mate/OpenGUI`.
Then work from the repository root that contains both:
If the current directory is a wrapper repo, find the nested runnable checkout before running commands. If no runnable checkout exists, clone it or ask for the intended repository location.
Check the backend before task dis
OpenGUI is an Android GUI agent framework for phone-use AI that can see, plan, and operate real mobile apps through the GUI.
Repo: Core-Mate/OpenGUI
Automatically control locally connected Android phones with OpenGUI screenshots and allowlisted actions whenever a request targets a phone, Android app, mobile…
Install the latest stable OpenGUI release into a DeepSeek Harness web profile on macOS. Use when the user asks to download, install, update, open, or verify…
Launch and bootstrap OpenGUI from a plain-language user request. Use when an AI coding agent such as Claude Code, Codex, or OpenCode should install, configure,…
Install or upgrade the standalone OpenGUI Codex or WorkBuddy plugin on macOS from verified prebuilt GitHub releases. Use for plugin installation, not phone…