# Agent Device

Automates interactions for Apple-platform apps (iOS, tvOS, macOS) and Android devices.

- Repository: https://github.com/callstackincubator/agent-skills (1694 stars)
- Category: Design
- License: MIT
- Last updated: 2026-10-08
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add callstackincubator/agent-skills --skill agent-device -g -a claude-code -y`
Codex: `npx skills add callstackincubator/agent-skills --skill agent-device -g -a codex -y`
Cursor: `npx skills add callstackincubator/agent-skills --skill agent-device -g -a cursor -y`
Gemini CLI: `npx skills add callstackincubator/agent-skills --skill agent-device -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add callstackincubator/agent-skills`

## Description

Automates interactions for Apple-platform apps (iOS, tvOS, macOS) and Android devices. Use when navigating apps, taking snapshots/screenshots, tapping, typing, scrolling, or extracting UI info across mobile, TV, and desktop targets.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# agent-device

Use this skill as a router with mandatory defaults. Read this file first. For normal device tasks, always load `references/bootstrap-install.md` and `references/exploration.md` before acting. Use bootstrap to confirm or establish deterministic setup. Use exploration for UI inspection, interaction, and verification once the app session is open.

## Default operating rules

- Start conservative. Prefer read-only inspection before mutating the UI.
- Use plain `snapshot` when the task is to verify what text or structure is currently visible on screen.
- Use `snapshot -i` only when you need interactive refs such as `@e3` for a requested action or targeted query.
- Avoid speculative mutations. You may take the smallest reversible UI action needed to unblock inspection or complete the requested task, such as dismissing a popup, closing an alert, or clearing an unintended surface.
- Do not browse the web or use external sources unless the user explicitly asks.
- Re-snapshot after meaningful UI changes instead of reusing stale refs.
- Prefer `@ref` or selector targeting over raw coordinates.
- Ensure the correct target is pinned and an app session is open before interacting.
- Keep the loop short: `open` -> inspect/act -> verify if needed -> `close`.

## Default flow

The rest: https://github.com/callstackincubator/agent-skills/blob/HEAD/plugins/vendored/.agents/skills/agent-device/SKILL.md
