Tools and skills
Everything your agent can use on your phone. It picks the right tool based on your prompt and what’s on the screen, so you rarely need to name one.
Tip: Browse the example prompts to see what these tools are good for in practice.
Available tools
Click a category to see its tools. With several phones paired, your agent picks one with the device argument.
Read the screen(3 tools)
get_screen- List what’s on screen as numbered elements, with up to 120 characters of text each. It can add a screenshot.
take_screenshot- Capture what the list can’t show, such as images and layout. It’s black if the app blocks screenshots.
device_info- Check the model, Android version, user, screen, lock state and whether CodeDroid is ready.
Act on the screen(6 tools)
tap- Tap an element by node, text, resource ID or content description, or tap at coordinates.
long_press- Press and hold an element, found the same way as
tap. type_text- Type into the focused field. It replaces what’s there by default, and can press Enter afterwards.
swipe- Swipe between two points on the screen, which is also how it scrolls.
press_key- Press Back, Home, Enter or Recents.
clipboard- Read or update the clipboard.
Move between apps(3 tools)
open_app- Open an app by package name, optionally at a specific activity.
list_apps- List the apps you can open and their package names, with an optional filter.
wait_for- Wait up to 30 seconds for text to appear or disappear, or for an app to come to the front.
Hand off a task(3 tools)
run_task- Give CodeDroid’s agent a goal across apps. It runs on your CodeDroid account.
get_task- Follow a task’s steps and read its reply.
cancel_task- Stop a running task.
Install and debug builds(2 tools)
install_apk- Install one APK from your computer, with no cable or shared network. See installing builds.
adb- Run adb on your computer to read logs, inspect state and run tests. It needs a USB or wireless debugging connection.
Manage the connection(3 tools)
codedroid_devices- List the paired phones and whether each is connected.
codedroid_status- Connect to the paired phones, report each connection, and explain how to fix problems.
codedroid_setup_phone- Set up a phone on your computer’s adb: install CodeDroid, turn on its accessibility service, and pair with no code. It installs only with
install, after you agree.serialpicks the phone when several devices are on adb.
What comes back
Every action on the screen returns an after observation, which is how your agent checks each step.
{
"after": {
"screen_changed": true,
"app": "com.google.android.calendar",
"keyboard": false,
"top": ["Search", "Today", "Create new event"],
"hint": "The screen changed: call get_screen before using node numbers."
}
}If the connection drops during a call, the call isn’t replayed, because the action may already have happened. Your agent reads the screen before trying again.
Errors
Errors include a code, a message and a hint for recovery.
busy- CodeDroid’s agent is running a task. Your agent waits with
get_task, or cancels the task if it started it. locked- The phone is locked. Your agent asks you to unlock it.
needs_setup- CodeDroid’s accessibility service or keyboard is off, or it’s signed out. Your agent asks you to fix it.
stale_node, not_found, ambiguous- The element is gone or unclear. Your agent reads the screen again.
bad_args- The arguments are wrong. Your agent corrects them.
failed- Anything else. The message says what went wrong.
Skills
Skills teach your agent how to do this work well. It loads them when a task calls for them, so you can ask in plain words. Journeys and test cases stay in your repo as Markdown, so they’re reviewed and versioned like code.
codedroid-phone- Use the phone one checked step at a time.
test-on-device- Build, install and verify an Android app change, and run an app’s test cases on the phone.
create-cujs- Write an app’s critical user journeys as Markdown files in its repo.
create-tests- Add test cases to those journeys, with steps and expected results.
The Claude Code and Codex plugins and the Gemini CLI extension include them, and setup installs those for you. Clients set up with a server configuration don’t get them automatically. To add them, run the command below for Claude Code, add --codex for Codex, or add --dir=<path> to put them anywhere else.
npx -y @codedroid/mcp skill install