Agent skill

Pymobiledevice3 Device Operator

by doronz88 in doronz88/pymobiledevice3

Operate iOS and iPadOS devices with pymobiledevice3, from a local checkout or straight from PyPI via uvx on a fresh workstation.

GPL-3.0Auto-check: notesDevOps & Cloud

Install Pymobiledevice3 Device Operator

skills CLI
$ npx skills add doronz88/pymobiledevice3 --skill pymobiledevice3-device-operator -a claude-code

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

GitHub CLI
$ gh skill install doronz88/pymobiledevice3 pymobiledevice3-device-operator --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/doronz88/pymobiledevice3.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.codex/skills/pymobiledevice3-device-operator .claude/skills/pymobiledevice3-device-operator && 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
pymobiledevice3-device-operator
GitHub stars
2.9k
Token cost
~1.8k tokens
SKILL.md length
820 words
Files
6 (incl. references)
Skills in repo
3
Repo updated
First seen
Licence
GPL-3.0

At a glance

Operate iOS and iPadOS devices with pymobiledevice3, from a local checkout or straight from PyPI via uvx on a fresh workstation.

  • Works in 7 steps: Classify the request as one of: inspect,… → Confirm transport before doing anything… → Discover the narrowest command by… → …
  • An agent needs to inspect a connected device
  • SKILL.md covers Overview, Default Operating Pattern, Workflow and Parsing Command Output, plus 4 more sections
  • Calls uvx, python3 and uv; reaches astral.sh

What it does

Pymobiledevice3 Device Operator is an agent skill from doronz88/pymobiledevice3. Operate iOS and iPadOS devices with pymobiledevice3, from a local checkout or straight from PyPI via uvx on a fresh workstation. Use when an agent needs to inspect a connected device, collect logs or crash data, browse or copy files, manage apps, profiles, or backups, use developer services such as DDI/DVT/tunnels/sysmon/screenshots/simulated location, automate Safari or WebViews through WebInspector or WDA, write Python scripts against the pymobiledevice3 library, or add a thin repo-native device command on top…

Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including reference files (for example `agents/openai.yaml`, `references/python-scripting.md` and `references/quick-recipes.md`).

It sits in DevOps & Cloud, covering Backup and disaster recovery. It works with iOS and Python. The repository describes itself as: Pure python3 implementation for working with iDevices (iPhone, etc...). The licence is GPL-3.0.

When your agent uses it

  • An agent needs to inspect a connected device
  • Use developer services such as DDI/DVT/tunnels/sysmon/screenshots/simulated location
  • Automate Safari
  • WebViews through WebInspector

Example prompts

  • “/pymobiledevice3-device-operator”

Requirements

  • Python 3

Workflow steps

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

  1. Classify the request as one of: inspect, collect, modify, automate, developer-instrument, or extend-the-repo.
  2. Confirm transport before doing anything expensive. USB is the default. For iOS 17+ developer services, read…
  3. Discover the narrowest command by checking docs/guides/cli-recipes.md, pymobiledevice3/main.py, and the relevant CLI module under…
  4. Use uvx --from . pymobiledevice3 --help only as a fallback when code and docs are ambiguous, or as a final verification step before…
  5. Execute a reversible or read-only step first, then escalate to state-changing actions only if the user asked for them.
  6. For long-lived streams or interactive shells, keep the process attached instead of replacing it with one-shot polling.
  7. If the CLI is missing a path that clearly exists in services, add a thin command using ServiceProviderDep, @async_command, and a service…

What it can do on your machine

Read from SKILL.md and the folder at commit 03ba227. 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:

    • uvx
    • python3
    • uv
    • curl
    • sh
    • pip

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

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • astral.sh

    Also links to:

    • doronz88.github.io

    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

Pymobiledevice3 Device Operator loads about 1.8k tokens when it runs, and up to ~6.4k if it reads all its reference files. Until then it costs about 183 tokens; SKILL.md has 820 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~183
When it runs · the whole SKILL.md, loaded when a task matches
~1.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~6.4k

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: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePipes a well-known installer script into a shellSKILL.md:18
    - Install uv: `curl -LsSf https://astral.sh/uv/install.sh | sh` (macOS/Linux) or
  • NotePipes a well-known installer script into a shellSKILL.md:19
    `powershell -c "irm https://astral.sh/uv/install.ps1 | iex"` (Windows), then use `uvx` as above.

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

The full file from doronz88/pymobiledevice3 at commit 03ba227, republished under its GPL-3.0 licence (© doronz88). 820 words, ~1,838 tokens.

Download SKILL.mdSave it as .claude/skills/pymobiledevice3-device-operator/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
pymobiledevice3-device-operator
description
Operate iOS and iPadOS devices with pymobiledevice3, from a local checkout or straight from PyPI via uvx on a fresh workstation. Use when an agent needs to inspect a connected device, collect logs or crash data, browse or copy files, manage apps, profiles, or backups, use developer services such as DDI/DVT/tunnels/sysmon/screenshots/simulated location, automate Safari or WebViews through WebInspector or WDA, write Python scripts against the pymobiledevice3 library, or add a thin repo-native device command on top of existing services. Prefer existing CLI and service modules, choose USB vs --rsd/--tunnel correctly, and require explicit user intent before state-changing or destructive actions.

PyMobileDevice3 Device Operator

Overview

Use this skill to translate a user goal into the smallest correct pymobiledevice3 action, then execute it — from a local checkout when one is present, or via the PyPI release (uvx pymobiledevice3) on a fresh workstation — or extend the repo with a thin CLI wrapper when the capability already exists in services.

Default Operating Pattern

Inside a pymobiledevice3 checkout, run commands from the repository root with uvx --from . pymobiledevice3 ... so the local checkout is used. On a workstation without a checkout, run uvx pymobiledevice3 ... instead — uvx fetches the released package from PyPI on first use, so nothing needs to be installed beforehand except uv itself (uv tool install pymobiledevice3 gives a persistent install). Everywhere this skill's references show uvx --from . pymobiledevice3 ..., drop the --from . when there is no checkout. Fall back to python3 -m pymobiledevice3 ... only if uvx is unavailable or the user explicitly wants the current interpreter environment.

If uv itself is missing, bootstrap one of the two paths first (neither needs root):

  • Install uv: curl -LsSf https://astral.sh/uv/install.sh | sh (macOS/Linux) or powershell -c "irm https://astral.sh/uv/install.ps1 | iex" (Windows), then use uvx as above.
  • Or skip uv entirely: python3 -m pip install -U pymobiledevice3, then run python3 -m pymobiledevice3 ... everywhere the references show uvx ... pymobiledevice3 .... If pip refuses with externally-managed-environment (PEP 668 — Debian/Ubuntu, Homebrew Python, Fedora), create a venv instead of forcing it: python3 -m venv ~/.pmd3-venv && ~/.pmd3-venv/bin/pip install -U pymobiledevice3, then use ~/.pmd3-venv/bin/pymobiledevice3 .... Never use --break-system-packages.

Start with the least invasive command that proves connectivity or surfaces missing prerequisites:

shell
uvx --from . pymobiledevice3 usbmux list
uvx --from . pymobiledevice3 lockdown info

Prefer existing CLI commands first. Prefer reading local docs and CLI source over invoking --help. Only write code when the library already exposes the underlying service but lacks the exact CLI/API path needed.

Workflow

  1. Classify the request as one of: inspect, collect, modify, automate, developer-instrument, or extend-the-repo.
  2. Confirm transport before doing anything expensive. USB is the default. For iOS 17+ developer services, read references/transport-and-safety.md.
  3. Discover the narrowest command by checking docs/guides/cli-recipes.md, pymobiledevice3/__main__.py, and the relevant CLI module under pymobiledevice3/cli/. Use rg to locate command names, options, and transport flags quickly. Without a checkout, use --help discovery and the published docs (https://doronz88.github.io/pymobiledevice3/) instead.
  4. Use uvx --from . pymobiledevice3 <group> --help only as a fallback when code and docs are ambiguous, or as a final verification step before suggesting an exact command to the user.
  5. Execute a reversible or read-only step first, then escalate to state-changing actions only if the user asked for them.
  6. For long-lived streams or interactive shells, keep the process attached instead of replacing it with one-shot polling.
  7. If the CLI is missing a path that clearly exists in services, add a thin command using ServiceProviderDep, @async_command, and a service class under pymobiledevice3/services/ — commands live on an InjectingTyper app (from typer_injector). Read docs/guides/writing-commands-with-service-provider.md.
Show full SKILL.md (357 more words)Show less

Parsing Command Output

Prefer machine-readable output over scraping human text — the contract is documented in docs/guides/machine-readable-output.md (published on the docs site):

  • Data goes to stdout; logging and diagnostics go to stderr. Parse stdout only.
  • Most query commands print JSON unconditionally. Binary values appear as single-key {"$hex": "..."} objects (decode with bytes.fromhex); timestamps are ISO 8601.
  • Streaming commands emit NDJSON (one JSON object per line): dict-record streams (dvt energy/notifications/graphics, diagnostics battery monitor, notification observe/observe-all) always; human-rendered streams (syslog live, dvt oslog, dvt netstat, accessibility notifications, crash watch) with --format json.

Safety Rules

Require explicit user intent before any command that changes device state, including:

  • restore, erase, recovery, reboot, restart, unpair, pair-supervised
  • app install or uninstall
  • file push, rm, or app container mutation
  • profile or provisioning changes
  • developer mode toggles, mounting, simulated location, signals, kill/pkill, or automation that taps/types/swipes

Do not invent prerequisites. If a developer service fails, inspect developer-mode, DDI, and tunnel requirements before changing code.

Do not expose or commit pair records, crash artifacts, backups, or other device-identifying material.

Task Routing

Read references/quick-recipes.md for the exact invocation of the most common tasks (screenshot, syslog search, crash pull, file copy, app listing) and for the syslog-first troubleshooting technique.

Read references/python-scripting.md before writing Python code against the library — the API went async incrementally over many releases, so memorized/older API shapes are usually stale.

Read references/task-map.md when you need to map a user goal to a command group or service module.

Read references/transport-and-safety.md when the task touches iOS 17+ developer services, tunnels, --rsd, --tunnel, or destructive operations.

Source Files To Prefer

These paths are relative to a pymobiledevice3 checkout; without one, use the published docs site (https://doronz88.github.io/pymobiledevice3/) and --help output instead.

  • docs/guides/cli-recipes.md for common end-user commands
  • docs/guides/ios17-tunnels.md for tunnel setup and --rsd usage
  • docs/guides/writing-commands-with-service-provider.md for repo-native command additions
  • pymobiledevice3/__main__.py for top-level CLI groups
  • pymobiledevice3/cli/cli_common.py for transport resolution and dependency injection

Typical Triggers

  • "Pull crash logs from the connected iPhone."
  • "List installed apps and copy an app container file."
  • "Take a screenshot with developer services."
  • "Start a tunnel and run DVT sysmon on an iOS 17 device."
  • "Open Safari automation and inspect tabs."
  • "Add a new CLI command for an existing service."

© doronz88, GPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (references) in .codex/skills/pymobiledevice3-device-operator of doronz88/pymobiledevice3.

  • SKILL.md
  • agents/openai.yaml
  • references/python-scripting.md
  • references/quick-recipes.md
  • references/task-map.md
  • references/transport-and-safety.md

Open the folder on GitHubat commit 03ba227

Compare with similar skills

Pymobiledevice3 Device Operator 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.

Pymobiledevice3 Device Operator compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pymobiledevice3 Device Operator this skilldoronz88/pymobiledevice32.9k—~1.8kAutomated safety check: NotesGPL-3.0
Unraiddinglebear-ai/unraid135—~2.8kAutomated safety check: PassMIT
Devops AgentLeoYeAI/openclaw-master-skills2.2k—~5.3kAutomated safety check: NotesMIT
Grix Pre Push Checksaskie/grix153—~831Automated safety check: PassCustom licence
Mobilerun Docs Referencedroidrun/mobilerun9.6k—~943Automated safety check: PassMIT
AWS Cdk Developmentzxkane/aws-skills3672 repos~2.5kAutomated safety check: PassMIT

Similar skills

  • Unraid

    dinglebear-ai/unraid

    Query and monitor an Unraid NAS/homelab server — array health, disk temperatures, Docker containers, virtual machines, system metrics, notifications, alerts, shares, UPS status, log files, network…

    135 GitHub stars~2.8k tokensUpdated 5 days ago
    DevOps & CloudAuto-check passed
  • Devops Agent

    LeoYeAI/openclaw-master-skills

    Your on-call DevOps assistant — one-click deploy, monitoring setup, scheduled backups, and fault diagnosis.

    2.2k GitHub stars~5.3k tokensUpdated 2 mo ago
    DevOps & CloudAuto-check: notes
  • Select and run the smallest sufficient validation set for Grix changes before push, review handoff, or completion.

    153 GitHub stars~831 tokensUpdated yesterday
    MobileAuto-check passed
  • Mobilerun Docs Reference

    droidrun/mobilerun

    Answers questions about Mobilerun, the LLM-agent framework for automating Android and iOS devices, by pointing the agent to the right page of its v5 documentation.

    9.6k GitHub stars~943 tokensUpdated 4 days ago
    MobileAuto-check passed
  • AWS Cdk Development

    zxkane/aws-skills

    AWS Cloud Development Kit (CDK) expert for building cloud infrastructure with TypeScript/Python.

    367 GitHub starsUsed in 2 repos~2.5k tokens
    DevOps & CloudAuto-check passed
  • Reproduce macOS Nuitka issues across Python distributions and GitHub Actions Python packaging.

    15k GitHub stars~1.7k tokensUpdated yesterday
    DevOps & CloudAuto-check passed

More from doronz88/pymobiledevice3

  • Tss Batch Prefetch

    doronz88/pymobiledevice3

    Maintain the batched TSS-prefetch list of peripheral updaters (PREFETCHABLEUPDATERS in pymobiledevice3/restore/tss.py).

    2.9k GitHub stars~3.4k tokensUpdated yesterday
    Auto-check passed
  • Release

    doronz88/pymobiledevice3

    Cut a new pymobiledevice3 release — create the GitHub release (which publishes to PyPI) with a curated Highlights section.

    2.9k GitHub stars~944 tokensUpdated yesterday
    Auto-check passed

Works with

Categories

Questions about Pymobiledevice3 Device Operator

What does Pymobiledevice3 Device Operator do?

Operate iOS and iPadOS devices with pymobiledevice3, from a local checkout or straight from PyPI via uvx on a fresh workstation. Pymobiledevice3 Device Operator is an agent skill from doronz88/pymobiledevice3. Operate iOS and iPadOS devices with pymobiledevice3, from a local checkout or straight from PyPI via uvx on a fresh workstation.

When should I use Pymobiledevice3 Device Operator?

Pymobiledevice3 Device Operator fits situations like: an agent needs to inspect a connected device; use developer services such as DDI/DVT/tunnels/sysmon/screenshots/simulated location; automate Safari; webViews through WebInspector.

How do I install Pymobiledevice3 Device Operator in Claude Code?

Run `npx skills add doronz88/pymobiledevice3 --skill pymobiledevice3-device-operator -a claude-code`. Or copy the skill folder (.codex/skills/pymobiledevice3-device-operator in doronz88/pymobiledevice3) into .claude/skills/pymobiledevice3-device-operator in your project. Claude Code loads it when a task matches its description.

How do I install Pymobiledevice3 Device Operator in Codex?

Run `npx skills add doronz88/pymobiledevice3 --skill pymobiledevice3-device-operator -a codex`. Or copy the skill folder (.codex/skills/pymobiledevice3-device-operator in doronz88/pymobiledevice3) into .agents/skills/pymobiledevice3-device-operator in your project. Codex loads it when a task matches its description.

Can I use Pymobiledevice3 Device Operator 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 doronz88/pymobiledevice3 --skill pymobiledevice3-device-operator -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pymobiledevice3-device-operator, .gemini/skills/pymobiledevice3-device-operator, .github/skills/pymobiledevice3-device-operator and .opencode/skills/pymobiledevice3-device-operator in your project.

What does Pymobiledevice3 Device Operator need to run?

Going by SKILL.md and its folder, Pymobiledevice3 Device Operator needs the command-line tools its instructions call (uvx, python3, uv, curl, sh and pip). Our summary lists: Python 3.

Does Pymobiledevice3 Device Operator access the network?

SKILL.md names 2 domains. In commands or code: astral.sh; the agent is likely to contact it when it follows the instructions. As links in the text: doronz88.github.io. This is read from the text; nothing was executed.

Is Pymobiledevice3 Device Operator safe to install?

Our automated static check of SKILL.md found notes only (pipes a well-known installer script into a shell), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Pymobiledevice3 Device Operator use?

Pymobiledevice3 Device Operator is published under the GPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pymobiledevice3 Device Operator use?

About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4.6k tokens, read only when the agent opens those files.

What are the alternatives to Pymobiledevice3 Device Operator?

Skills that share tags, products or a category with Pymobiledevice3 Device Operator: Unraid (dinglebear-ai/unraid, 135 stars), Devops Agent (LeoYeAI/openclaw-master-skills, 2.2k stars), Grix Pre Push Checks (askie/grix, 153 stars) and Mobilerun Docs Reference (droidrun/mobilerun, 9.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pymobiledevice3 Device Operator?

doronz88 (a GitHub user) maintains it in doronz88/pymobiledevice3, which has 2,851 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on October 8, 2026.

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