Skip to content

Guide · Agent skill

How to use the Developer Device Platform Basics agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The Developer Device Platform Basics skill is a set of instructions and helper files that teaches an AI agent how to rent remote Android devices, physical or virtual, from Google's Developer Device Platform (DDP). This guide explains what the skill does, how to install it, how to ask for things in plain language, and what you need before it will work. By the end you will be able to reserve a device for a testing session, connect to it with ADB, and release it when you are finished.

Developer Device Platform Basicsgoogle/skills · Apache-2.0

Quick start

  1. 1Get the ZIP and install it. Download the skill ZIP from this page, unzip it, and place the folder in ~/.claude/skills/ or a project's .claude/skills/ folder, or upload the ZIP under Settings → Capabilities → Skills.
  2. 2Prepare Google Cloud. Make sure you have a Google Cloud project with billing enabled, the gcloud CLI installed, and the devicerun, devicestreaming and testing APIs enabled.
  3. 3Set up the environment. Authenticate with gcloud, install the beta component, and export PROJECT_ID and ACCESS_TOKEN as the skill describes.
  4. 4Ask for a device. Tell the agent which Android device and OS version you want, or let it list available models.
  5. 5Approve the billing warning. Read the cost warning the agent shows for your project and reply with explicit approval before the session is created.
  6. 6Connect with ADB. When the agent reports the ADB address, run adb commands against localhost with the reported port.
  7. 7Cancel when finished. Ask the agent to cancel the session so the device is released and the background forwarder is stopped.

What the skill makes the agent do

An agent skill is a folder of instructions and supporting files that an AI agent reads when a task matches the skill's description. This one covers reserving remote Android devices on DDP, setting up a connection tunnel, checking session status, and extending or cancelling leases.

Once installed, the agent can list available Android device models, check that a model is available for device streaming, reserve it for a session, wait until the session is active, start an ADB forwarder so you can control the device from your computer, check status, and extend or cancel the session.

  • Lists device models and checks which ones can be reserved for streaming
  • Reserves a device for a session and waits until it is ready
  • Sets up an ADB connection to the remote device
  • Checks session status, extends the expiration, or cancels the session

Install the skill (ZIP download or Claude apps upload)

Download the skill ZIP from this page and unzip it. For a personal install, place the unzipped folder in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder.

If you use the Claude apps, you can instead upload the ZIP under Settings → Capabilities → Skills.

  • Personal install: ~/.claude/skills/
  • Project install: .claude/skills/ inside your project folder
  • Claude apps: Settings → Capabilities → Skills, then upload the ZIP

Set up Google Cloud, the gcloud CLI and APIs

Before any device request, the skill has the agent check that the gcloud executable is present. If it is missing, the agent points you to the official Google Cloud CLI installation guide. The skill then authenticates your Google Cloud account, enables the required APIs, installs the gcloud beta component, and sets your project and access token as environment variables.

The required APIs are devicerun, devicestreaming and testing (Cloud Testing, which the source says is needed for the Device Streaming API during Preview).

  • Authenticate and set Application Default Credentials
  • Enable the required APIs
  • Install the beta component
  • Export PROJECT_ID and ACCESS_TOKEN
gcloud auth login --no-browser gcloud auth application-default login --no-browser gcloud services enable devicerun.googleapis.com devicestreaming.googleapis.com testing.googleapis.com --quiet gcloud components install beta export PROJECT_ID=$(gcloud config get project) export ACCESS_TOKEN=$(gcloud auth application-default print-access-token 2>/dev/null)

Trigger the skill with natural requests

You do not need special syntax. Describe what you want in plain language and mention a device, Android, or a session. The skill's description covers reserving devices, establishing connection tunnels, checking session status, and extending or cancelling leases.

If you do not name a device, the skill defaults to CATALOG_ID shiba-34 (Pixel 8 on SDK 34). If you do not name an OS version, the agent will ask you to choose one, preferring the version with the highest availability.

  • "List the Android device models I can reserve on Developer Device Platform."
  • "Reserve a Pixel 8 on Android 14 for a testing session and connect ADB to it."
  • "Check the status of my device session."
  • "Extend my device session by one hour."
  • "Cancel my device session and release the device."

Reserve a device and connect with ADB

The agent checks that the device lists deviceStreaming in supportedProducts before reserving it. Before creating any session, the skill requires the agent to warn you about the billing costs on your active Google Cloud project and to stop until you explicitly approve.

After approval, the agent reserves the device, polls the session until its state is ACTIVE (every 5 seconds, failing and cancelling after 2 minutes), and then starts the ADB forwarder. Once the forwarder is online, it reports the device model, OS version, an ADB address in the form localhost:{port}, and the session expiration time in your local time. You can then run adb commands against that address.

  • Approval is required before any session is created
  • The reserved session name looks like projects/${PROJECT_ID}/deviceSessions/session-xxxxxx
  • Connect with adb -s localhost:{port} shell
adb -s localhost:{port} shell getprop ro.product.model

Stop, extend or check a session

To stop a session, ask the agent to cancel it. The agent cancels the session through the API, terminates the background forwarder process it started, and confirms that resources are released. If the agent has lost the session name, it can list active sessions first.

The skill's reference files also cover checking session status, listing sessions and updating session expiration. For the exact requests, the skill tells the agent to use the curl commands in its reference files rather than inventing them.

  • Cancel: send an empty JSON body to the session's cancel endpoint
  • List sessions: filter for sessions in the ACTIVE state
  • Update expiration: covered in references/update_session_expiration.md

Safety notes: scripts and network access

This skill runs scripts and uses the network. The helper script scripts/demo_adb_forwarder.py needs a Python virtual environment with the packages listed in scripts/requirements.txt, which include absl, google-cloud-devicestreaming and grpc. The skill also makes REST calls to Google Cloud endpoints and tags its gcloud and HTTP calls with an attribution string that identifies the skill and its version.

Reservations are billed to your Google Cloud project. The skill does not cover iOS devices or local hardware. Read the skill files before running them, and make sure you cancel sessions when you are done.

  • Runs scripts: yes, including scripts/demo_adb_forwarder.py
  • Uses network: yes, calls to devicerun and devicestreaming endpoints
  • Billing: reservations are charged to your active Google Cloud project
  • Not covered: iOS devices and local hardware plugged into your machine

Tips for smoother sessions

Keep a note of the session name and command ID the agent reports, since the agent needs them to clean up later. If a reservation fails, the agent reports the error rather than retrying silently. If the session is not active within 2 minutes, the agent cancels it.

Check your Google Cloud project before you approve a reservation, so you know which project will be billed. The DDP service is described as being at Preview, so details may change.

  • Confirm the active project and billing before approving
  • Ask the agent to list active sessions if you lose track of one
  • Cancel sessions you no longer need to avoid charges

What people use it for

  • Run app tests on a Pixel-class Android device you do not own.
  • Have an agent provision a test device on a Google Cloud project your team already controls.
  • Check which Android OS versions are currently available for device streaming before planning a test run.
  • Extend a session that is still in use, or cancel one that is no longer needed.

Frequently asked questions

How do I install the developer-device-platform-basics skill?

Download the skill ZIP from this page and unzip it. Put the folder in ~/.claude/skills/ for a personal install or in a project's .claude/skills/ folder for one project. In the Claude apps you can instead upload the ZIP under Settings → Capabilities → Skills.

What do I need before the skill works?

You need the gcloud CLI with the beta component, a Google Cloud account with billing enabled and an active project, and the devicerun, devicestreaming and testing APIs enabled. You also need curl, ADB, and a Python virtual environment built from scripts/requirements.txt.

Is the Developer Device Platform Basics skill free?

The skill is licensed under Apache-2.0. The devices themselves are billed to your Google Cloud project when you reserve them, and the skill warns you about those costs before any session is created. This page does not list device prices.

Does the skill work for iOS testing?

No. The skill explicitly excludes iOS devices. It also does not cover local hardware or physical devices plugged into your own machine.

Why does the agent ask me to approve before reserving a device?

Reserving a device incurs billing charges and creates cloud resources on your active Google Cloud project. The skill requires the agent to warn you and stop until you explicitly approve.

What should I do if a device session does not become active?

The skill says to wait up to 2 minutes, polling every 5 seconds. If the session is still not active, the agent reports failure and cancels the session. You can then ask for a different OS version or device.

New agent skills, repos and AI tools — every week

The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.

Our verdict

This skill suits Android developers and QA engineers who want an agent to reserve remote Android devices on Google Cloud projects they already control, with an approval step before billing starts. Pick something else if you test on iOS, need local hardware, or do not have a Google Cloud project with billing set up.

Download the skill