ghosthand
Control a real iPhone connected to this Mac with the ghosthand CLI: screenshots and on-device OCR over USB, taps, swipes, scroll, keys and typing over Bluetooth, and files, photos, apps, battery and logs over USB. Use it to open apps, read messages, reply, fill forms, get photos or files off the iPhone, or do any task on the user's iPhone. ALWAYS load this skill when the user mentions ghosthand, their iPhone or phone, or asks to do something on a phone app (Messages, WhatsApp, Instagram, TikTok, Settings, App Store).
How do I install this agent skill?
npx skills add https://ghosthand.dev --skill ghosthandIs this agent skill safe to install?
No partner audit is available yet. Read the source before installing.
What does this agent skill do?
ghosthand
Before the first ghosthand command in a session, run:
ghosthand --help # NEVER pipe to head/tail, read the full output
The help output is the full agent manual: leases, coordinates, the screenshot feedback loop, and what to do on each error. Read ghosthand <command> --help before using a command for the first time.
If ghosthand is not found, use npx -y ghosthand@latest instead. Without Node.js (installed from the download page), use ~/Applications/Ghosthand.app/Contents/MacOS/ghosthand.
Pro subscribers also get the task skills ghosthand-accounts (Google, Apple, App Store and social account signup) and tiktok-warmup (watch and like TikTok videos for a niche) in the private daemon repo: https://ghosthand.dev/docs/pricing
Phone tips
- Prefer full app access. When the app being used requests permission, grant the broadest available access unless the user explicitly restricts it: camera, microphone, Full Photos Access (not limited selection), contacts, notifications, location, and tracking. Complete related in-app access prompts too, so controls work immediately and repeated dialogs are reduced. Do not ask again for routine permission choices.
- Permission approval does not authorize purchases, unrelated account linking, publishing, follows, messages, or disabling security.
- Open apps with
keycmd+space,typethe app name,keyenter (works from any app). Faster than swiping Home Screen pages. If the app did not open, tap its icon in the results. - A button that ignores a tap: read the screen, then press it once more. A just-opened alert can ignore the first press.
- Never repeat an input after a timeout or an error that says it was sent. Look at the screen first.
CLI rules
- Always
acquirea lease with--reason "<task>"first, pass-l <id>to every command, andreleaseit when done. - Never retry a passcode or repeat input after a verification timeout. Take a screenshot first.
- Screen dimmed but no dialog in the screenshot: run
screenshot -l <id> --native -o real.png(a real iOS screenshot that shows hidden system dialogs, deleted from Photos after reading) and tap at the coordinates in it. A button that ignorestapmay also takehold x y --duration 400. - Long press (context menus):
hold x y. Move an item after a long press:hold-drag(read its--help). - Photos, files and apps go over USB without the screen:
photo pull,file pull,file push,app list,info,logs. Read each--helpfirst. - If a dialog does not respond or is invisible to capture, try
lock -l <id>, thenunlock -l <id> --stdin --screenshot s.png --screentextonce to dismiss it, not accept an option. First obtain a user-confirmed passcode from the secret provider and pipe it to unlock. Without one, ask the user before locking. This may not dismiss every dialog; check the result and never retry a failed passcode. - Leave the iPhone unlocked when done.
- Ghosthand's Mac setup window is user-only.
login-requiredorsubscription-requiredfrom acquire: follow the error text. Openghosthand setuponce and tell the user to complete setup in the small Ghosthand window, or show the subscribe link. All Ghosthand window actions are user-only; never interact with the window or complete setup for the user. Never runghosthand loginyourself and never retry in a loop.
How can the creator link this skill?
Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.
<a href="https://skillzs.dev/skills/ghosthand.dev/ghosthand">View ghosthand on skillZs</a>