Agent skill

Authorized Android Phone Control

by Core-Mate in Core-Mate/OpenGUI

Controls an authorized local Android phone, or shows its live read-only video feed, for phone app tasks and Android UI checks on macOS.

Custom licenceAuto-check passedMobile

Install Authorized Android Phone Control

skills CLI
$ npx skills add Core-Mate/OpenGUI --skill control -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install Core-Mate/OpenGUI control --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/Core-Mate/OpenGUI.git skills-src && mkdir -p .claude/skills && cp -r skills-src/plugins/opengui/skills/control .claude/skills/control && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
control
GitHub stars
1.8k
Token cost
~762 tokens
SKILL.md length
396 words
Files
3
Skills in repo
7
Repo updated
First seen
Licence
Custom licence

At a glance

Controls an authorized local Android phone, or shows its live read-only video feed, for phone app tasks and Android UI checks on macOS.

  • Works in 6 steps: Call opengui_list_devices. Automatically… → Call opengui_open_viewer with selected… → Call opengui_viewer_status with viewerId… → …
  • Running an Android app task through an authorized local phone
  • Calls sh
  • Watching a live read-only view of a connected Android device

What it does

It always goes through the installed plugin launcher rather than raw ADB, listing authorized devices and either picking the sole one automatically or asking the user to choose among several, then freezing that choice for the rest of the task. Opening a viewer for the chosen device returns a URL opened in a side panel through the host's own tool, and it waits for a real decoded video signal rather than trusting an opening acknowledgment or a screenshot preview as proof the stream is ready.

For a pure viewing request it stops once the video is confirmed live, since that runs locally without further model calls; for an actual phone task it opens a control session, observes a screenshot, and acts one step at a time, inspecting the resulting image after every action rather than guessing at the outcome. It never replays an action whose result was unclear, never swaps the frozen device mid-task, and always closes or cancels the session cleanly when the task ends or is interrupted.

When your agent uses it

  • Running an Android app task through an authorized local phone
  • Watching a live read-only view of a connected Android device
  • Checking an Android UI change step by step with screenshots

Example prompts

  • “Show me a live view of my connected Android phone.”
  • “Open the shopping app on my phone and add this item to the cart.”
  • “Check whether this UI change rendered correctly on the real device.”

Requirements

  • An authorized local Android device
  • macOS with the OpenGUI plugin installed

Workflow steps

6 steps, taken from the first numbered list in SKILL.md.

  1. Call opengui_list_devices. Automatically choose the sole authorized phone or the user's exact target. Ask for selection only when multiple…
  2. Call opengui_open_viewer with selected deviceIds. Open its returned URL using the native Codex open_in_codex tool with placement: "right"…
  3. Call opengui_viewer_status with viewerId and waitMs: 30000 once. An opening acknowledgment, screenshot preview or encoder process is not…
  4. For pure viewing, finish here. Video runs locally without continued model calls. For a phone task call opengui_open_session with the same…
  5. Call opengui_act one action at a time with the latest observationId and screenshot coordinates. Inspect every result image. Use…
  6. Verify the actual final image and call opengui_close_session. On interruption call opengui_cancel. Use opengui_list_sessions and…

What it can do on your machine

Read from SKILL.md and the folder at commit ad6d57f. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • sh

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Authorized Android Phone Control loads about 762 tokens when it runs. Until then it costs about 45 tokens; SKILL.md has 396 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~45
When it runs · the whole SKILL.md, loaded when a task matches
~762

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

Its licence (Custom licence) doesn't allow us to republish the file, so here is its outline and opening line. It has 396 words (~762 tokens).

“Use the installed plugin launcher by absolute path: sh "/scripts/opengui" ''. The plugin root is two directories above this Skill. Keep the host-provided CODEX_THREAD_ID unchanged. Never invent task identity or use raw ADB as a phone-control fallback.”

— opening of SKILL.md by Core-Mate, Custom licence
name
control

Read the full SKILL.md on GitHub

Files

SKILL.md and 2 other files in plugins/opengui/skills/control of Core-Mate/OpenGUI.

  • SKILL.md
  • agents/openai.yaml
  • references.md

Open the folder on GitHubat commit ad6d57f

Compare with similar skills

Authorized Android Phone Control next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Authorized Android Phone Control compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Authorized Android Phone Control this skillCore-Mate/OpenGUI1.8k—~762Automated safety check: PassCustom licence
Jetpack Composedarriousliu/PiPixiv262—~1.5kAutomated safety check: PassApache-2.0
Ksafeioannisa/KSafe332—~17kAutomated safety check: PassApache-2.0
Snap O Tweaksopenai/snap-o114—~1.7kAutomated safety check: PassApache-2.0
Xcodebuildmcp CLIc5inco/compose-pokedexer143—~415Automated safety check: PassMIT
Xamarin iOS Migrationdavidortinau/maui-skills174—~1.5kAutomated safety check: PassMIT

Similar skills

  • Jetpack Compose

    darriousliu/PiPixiv

    Jetpack Compose expert skill for Android UI development. An agent skill from darriousliu/PiPixiv.

    262 GitHub stars~1.5k tokensUpdated yesterday
    MobileAuto-check passed
  • Ksafe

    ioannisa/KSafe

    Required before any reply that touches KSafe (by ksafe(...), ksafe.get/put, :ksafe-compose, :ksafe-biometrics), even a 'can KSafe do X?' question or a one-line change that looks like plain Kotlin.

    332 GitHub stars~17k tokensUpdated 4 days ago
    MobileAuto-check passed
  • Snap O Tweaks

    openai/snap-o

    Official

    Inspect, stream, and explicitly adjust live Android UI tweak values or invoke app-owned actions through Snap-O.

    114 GitHub stars~1.7k tokensUpdated today
    MobileAuto-check passed
  • Xcodebuildmcp CLI

    c5inco/compose-pokedexer

    Official skill for the XcodeBuildMCP CLI. An agent skill from c5inco/compose-pokedexer.

    143 GitHub stars~415 tokensUpdated 4 days ago
    MobileAuto-check passed
  • Xamarin iOS Migration

    davidortinau/maui-skills

    WORKFLOW SKILL - Guide for migrating Xamarin.iOS, Xamarin.Mac, and Xamarin.tvOS native apps to .NET for iOS, .NET for macOS, and .NET for tvOS.

    174 GitHub stars~1.5k tokensUpdated 3 mo ago
    MobileAuto-check passed
  • Eas Simulator

    expo/skills

    Official

    Run and control a user's app on a remote iOS/Android simulator hosted on EAS cloud.

    2.7k GitHub stars~6.6k tokensUpdated today
    MobileAuto-check: notes

More from Core-Mate/OpenGUI

  • OpenGUI Bootstrap

    Core-Mate/OpenGUI

    Installs, configures and runs OpenGUI's backend and Android client from a plain-language request, running the repo's own setup scripts and asking the user only for physical phone steps or secrets.

    1.8k GitHub stars~1.7k tokensUpdated today
    Auto-check: notes
  • OpenGUI Installer for DSH

    Core-Mate/OpenGUI

    Installs and verifies the latest stable OpenGUI release in a DeepSeek Harness web profile on macOS without disturbing existing plugins or settings.

    1.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Lets a coding agent list, run, pause, resume or cancel natural-language tasks on an Android phone through the OpenGUI backend instead of raw ADB commands.

    1.8k GitHub stars~2.6k tokensUpdated today
    Auto-check: notes
  • Completes an already-authorized task on a real Android phone or a macOS iOS simulator one screenshot-driven action at a time.

    1.8k GitHub stars~7.2k tokensUpdated today
    Auto-check passed
  • OpenGUI Plugin Installer

    Core-Mate/OpenGUI

    Installs or upgrades the standalone OpenGUI plugin for Codex or WorkBuddy on macOS from verified prebuilt GitHub releases, checking the SHA-256 before running anything.

    1.8k GitHub stars~1k tokensUpdated today
    Auto-check passed
  • OpenGUI Android Control

    Core-Mate/OpenGUI

    Drives locally connected Android phones through OpenGUI screenshots and allowlisted actions, one observed step at a time, for app, game and multi-device tasks.

    1.8k GitHub stars~788 tokensUpdated today
    Auto-check passed

Works with

Questions about Authorized Android Phone Control

What does Authorized Android Phone Control do?

Controls an authorized local Android phone, or shows its live read-only video feed, for phone app tasks and Android UI checks on macOS. It always goes through the installed plugin launcher rather than raw ADB, listing authorized devices and either picking the sole one automatically or asking the user to choose among several, then freezing that choice for the rest of the task. Opening a viewer for the chosen device returns a URL opened in a side panel through the host's own tool, and it waits for a real decoded video signal rather than trusting an opening acknowledgment or a screenshot preview as proof the stream is ready.

When should I use Authorized Android Phone Control?

Authorized Android Phone Control fits situations like: running an Android app task through an authorized local phone; watching a live read-only view of a connected Android device; checking an Android UI change step by step with screenshots.

How do I install Authorized Android Phone Control in Claude Code?

Run `npx skills add Core-Mate/OpenGUI --skill control -a claude-code`. Or copy the skill folder (plugins/opengui/skills/control in Core-Mate/OpenGUI) into .claude/skills/control in your project. Claude Code loads it when a task matches its description.

How do I install Authorized Android Phone Control in Codex?

Run `npx skills add Core-Mate/OpenGUI --skill control -a codex`. Or copy the skill folder (plugins/opengui/skills/control in Core-Mate/OpenGUI) into .agents/skills/control in your project. Codex loads it when a task matches its description.

Can I use Authorized Android Phone Control in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Core-Mate/OpenGUI --skill control -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/control, .gemini/skills/control, .github/skills/control and .opencode/skills/control in your project.

What does Authorized Android Phone Control need to run?

Going by SKILL.md and its folder, Authorized Android Phone Control needs the command-line tools its instructions call (sh). Our summary lists: An authorized local Android device; macOS with the OpenGUI plugin installed.

Does Authorized Android Phone Control access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Authorized Android Phone Control safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Authorized Android Phone Control use?

Authorized Android Phone Control has a licence file (the repository's licence) that doesn't match a standard licence. Read it on GitHub before reusing the skill.

How many tokens does Authorized Android Phone Control use?

About 762 tokens (SKILL.md is roughly 3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Authorized Android Phone Control?

Skills that share tags, products or a category with Authorized Android Phone Control: Jetpack Compose (darriousliu/PiPixiv, 262 stars), Ksafe (ioannisa/KSafe, 332 stars), Snap O Tweaks (openai/snap-o, 114 stars) and Xcodebuildmcp CLI (c5inco/compose-pokedexer, 143 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Authorized Android Phone Control?

Core-Mate (a GitHub organization) maintains it in Core-Mate/OpenGUI, which has 1,815 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 7, 2026.

Source: Core-Mate/OpenGUI on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.