phone-harness SKILL.md skillA

phone-harness from shawnpana/phone-harness is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add shawnpana/phone-harness/phone-harness@git:20261102.31a4331

Pins git:20261102.31a4331 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
shawnpana/phone-harness
Path
SKILL.md
Versions recorded
18
Latest version
git:20261102.31a4331, committed Nov 2, 2026
First version recorded
Sep 2, 2026
Size
35,299 bytes
Repository stars
4,586
License
MIT

Control the user's phone - an iPhone through the Mac's iPhone Mirroring window, an Android over adb, a rented cloud Android, or a cloud iPhone over HTTPS: open apps, tap, type, swipe, read the screen.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# phone-harness

The main helpers are listed in [Helpers](#helpers).

Direct control of a phone from Python scripts. The same helpers drive every
kind of phone below; what differs is how each one sees and touches the screen,
and that is what the per-phone sections below are for. Read **Which phone**, the
shared **Working method**, and then only the section for the phone in front
of you.

## Setup

Check what this machine can do (OS, shell, install rights, network,
attached phones; `phone-harness doctor` does the phone part), tell the user
in a sentence or two which phone you can drive with what is here, and use
the best one that actually runs. A phone on the desk wins; the cloud needs
no hardware and is always the fallback.

| Mode | Needs |
| --- | --- |
| Personal iPhone | macOS 15+, iPhone Mirroring paired to an iOS 18+ iPhone, Accessibility + Screen Recording for the app that runs Python |
| Android on the desk | macOS, Linux or Windows; adb; USB debugging (or Wireless debugging, Android 11+) |
| Cloud iPhone | HTTPS to phone-harness.com hosts; a signed-in account. No adb, any OS |
| Cloud Android | the cloud iPhone list, plus adb and outbound TCP to the phone's adb port |
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add shawnpana/phone-harness/phone-harness@sha256:a8e7581875339239

The line at the top of this page pins the label git:20261102.31a4331, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_eet6vc24fsf7qs6v.svg)](https://markdownregistry.com/a/art_eet6vc24fsf7qs6v)

2 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 18 versions of this file, between Sep 2, 2026 and Nov 2, 2026, about one every 4 days.

versioncommittedcommitsizeaudit
git:20261102.31a4331 latest2026-11-02 31a4331 35,299 BA view · diff
git:20261101.af859212026-11-01 af85921 35,279 BA view · diff
git:20261101.ea487d32026-11-01 ea487d3 35,253 BA view · diff
git:20261017.25396532026-10-17 2539653 35,164 BA view · diff
git:20261016.c39ad1e2026-10-16 c39ad1e 35,581 BA view · diff
git:20261016.b741e542026-10-16 b741e54 37,431 BA view · diff
git:20261016.68d883f2026-10-16 68d883f 36,276 BA view · diff
git:20261016.b9624712026-10-16 b962471 34,946 BA view · diff
git:20261012.927aca02026-10-12 927aca0 34,761 BA view · diff
git:20261012.5a119c72026-10-12 5a119c7 34,750 BA view · diff
git:20261012.58284a62026-10-12 58284a6 34,649 BA view · diff
git:20261011.d394a8e2026-10-11 d394a8e 31,361 BA view · diff
git:20261011.697cdd62026-10-11 697cdd6 30,766 BA view · diff
git:20260920.85969902026-09-20 8596990 17,081 BA view · diff
git:20260920.374f14d2026-09-20 374f14d 18,010 BA view · diff
git:20260920.efab26a2026-09-20 efab26a 17,754 BA view · diff
git:20260920.183ad7e2026-09-20 183ad7e 17,391 BA view · diff
git:20260902.edac8322026-09-02 edac832 13,515 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (35299 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

shawnpana/phone-harness · 4,586 stars · license MIT · pushed 2026-11-03 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_eet6vc24fsf7qs6v
GET https://markdownregistry.com/api/v1/resolve?ref=shawnpana/phone-harness/phone-harness
GET https://markdownregistry.com/api/v1/blob/a8e7581875339239a72f4a906525e3897454c0580b8ee60a0d4685e06d26690d

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

Browse by kind, by grade A, or by owner.