phone-harness skillA
phone-harness is agent-read markdown (skill) from shawnpana/phone-harness: Control the user's phone — an iPhone through the Mac's iPhone Mirroring window, an Android over adb, or a rented cloud Android: open apps, tap, type, swipe, read the screen..
Indexed from public GitHub and served as immutable, content-addressed versions. Install it pinned to an exact SHA-256 with the mdr CLI, and every file is verified against the hash recorded here before it reaches your agent. The deterministic audit below grades the latest version, and the same file always earns the same grade.
What the file says
# phone-harness Direct control of a phone from Python scripts. The same helpers drive three kinds of phone; 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. ## Which phone? | Phone | How it is reached | Eyes | Hands | Read | | --- | --- | --- | --- | --- | | **Cloud Android** — rented from Phone Harness Cloud, the user's own saved phone | `phone-harness cloud start` connects it; nothing to export | accessibility tree (exact), Vision OCR fallback on a Mac | adb `input` | Working method, then **Cloud phones** and **Android** | | **Android on the desk** — USB or paired Wi-Fi | the harness finds it | accessibility tree (exact), Vision OCR fallback on a Mac | adb `input` | Working method, then **Android** | | **iPhone** — through the Mac's iPhone Mirroring window | the user connects it | screenshots + Vision OCR | HID-level CGEvents into the window | Working method, then **iPhone** | `phone-harness config` shows the default platform (`ios` on a Mac, `android` …
Read the whole file at its exact version.
How to install
mdr add shawnpana/phone-harness/phone-harness@git:20260920.8596990mdr add shawnpana/phone-harness/phone-harness@sha256:a7e6ead0348a8877Pin to a label to follow the author's releases, or to a sha256 to freeze the exact bytes forever. Either way the resolved hash is written to mdr.lock, and mdr install reproduces it on any machine.
[](https://markdownregistry.com/a/art_eet6vc24fsf7qs6v)
1 badge views in 30 days
Versions
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| git:20260920.8596990 latest | 2026-09-20 | 8596990 | 17,081 B | A | view · diff |
| git:20260920.374f14d | 2026-09-20 | 374f14d | 18,010 B | A | view · diff |
| git:20260920.efab26a | 2026-09-20 | efab26a | 17,754 B | A | view · diff |
| git:20260920.183ad7e | 2026-09-20 | 183ad7e | 17,391 B | A | view · diff |
| git:20260902.edac832 | 2026-09-02 | edac832 | 13,515 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (17081 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
shawnpana/phone-harness · 2,991 stars · license MIT · pushed 2026-09-23 · 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/a7e6ead0348a8877533de153f61c61217af79d5a55dd8dbf1e1b548c852cb44c
Your agent 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.