Sleight – Playwright for native Mac apps

imazio1 pts0 comments

Sleight — Give your agent hands in your Mac apps

while you were doing literally anything else

Your agent, working in the apps you already love.

Keep Mail, Calendar, Notes and Obsidian exactly as they are. Sleight hands them to your agent — natively, silently, even when they're closed.

this morning, 7:00

40 unread → 3 that matter.

Newsletters archived, two replies drafted for your review, the invoice flagged.

231 ms · app was closed ✓Try it in your agent →

tomorrow, 9:00–11:00

Two hours of deep work, blocked.

It read three overlapping calendars, found the real gap, and guarded it.

265 ms · nothing else moved ✓Try it in your agent →

after standup

Captured, filed, and on the list.

Meeting notes filed to your vault, tagged; action items became reminders due Friday.

397 ms · across 3 apps ✓Try it in your agent →

Milliseconds, not minutes.

Screenshot-driven agents watch the screen, guess, and charge tokens for the guessing — on every repeat. A Sleight routine is rehearsed once and replayed exactly, so execution is instant, silent, and free.

2–3 min → 131–937 ms. cold start included.

Vision computer use

Sleight

Latency

2 to 3+ minutes per task

131–937 ms per action

Cost

~$0.30–0.50 per task in tokens

zero execution tokens

Your screen

hijacked while it runs

untouched, runs in background

Repeatability

nondeterministic

same input, same steps, CI-testable

Your inbox stays on your Mac.

Sleight runs entirely on your machine and acts only when your agent calls a tool. Powerful access deserves plain answers.

Every permission, and why →

Local by design. Read on your Mac, returned to your agent — never to us. No cloud.

No watching. No screenshots, no recording, no keystroke capture.

Drafts before sends. Sending requires your explicit confirmation, always.

Auditable. Every action returns a step-by-step log of exactly what ran.

Verifiable build. Apple-notarized, public Homebrew formula, signed updates.

Revocable in one switch. System Settings turns it off; brew uninstall removes it.

Eight apps, rehearsed and ready.

49 actions, each a typed MCP tool your agent can call today.

Mail 12 actions

Triage unread, search, archive, sweep senders, draft replies. Drafts before sends.<br>See the page →<br>Notes 13 actions

Create, search, append, move, organize folders.<br>See the page →<br>Calendar 3 actions

Read the week ahead, create events with natural scheduling.<br>See the page →<br>Reminders 4 actions

Capture action items, list, complete.<br>See the page →<br>Finder 4 actions

List, inspect, Spotlight search, trash — never permanent delete.<br>See the page →<br>Messages 1 action

Send iMessages, gated behind explicit user confirmation.<br>See the page →<br>Obsidian 7 actions

Automated through vault files and URIs, even while it's closed.<br>See the page →<br>Final Cut Pro 5 actions

Captions to SRT and back, timeline read-outs, FCPXML export.<br>See the page →

Which app should be next? Tell us →

It's not magic.<br>It's rehearsed.

Routines, not improvisation.<br>Each action is written once, verified against the exact app version, then replayed deterministically forever. Your agent decides what; Sleight already knows how.

The right method per app.<br>AppleScript for Mail, file operations for Obsidian, accessibility APIs where they win. One uniform tool interface over MCP.

Recovery built in.<br>App not running? The routine launches it in the background and verifies before proceeding. Failures fall through to alternate paths with an auditable step log.

measured: Mail, cold start → answer in 937 ms. frontmost window: unchanged.

// a routine (trimmed): archive_message for Mail

"action": "archive_message",<br>"app": "com.apple.mail",<br>"preconditions": [<br>{ "check": "app_running",<br>"recovery": "launch_app_background" }<br>],<br>"steps": [<br>{ "id": "archive_as", "method": "applescript",<br>"fallback": "archive_ax" },<br>{ "id": "archive_ax", "method": "ax",<br>"selector": { "role": "AXButton", "title": "Archive" } }

made by one person, on purpose

“I'm Wu. I write every line of Sleight, and every reply.”

If you ask something, it's me who answers. Obsidian support exists because people asked for it.

hello@sleight.sh →<br>@Wu on X →<br>Trust & permissions →

Give your agent hands in two minutes.

Free install. macOS 14 or newer, any MCP client — Claude Desktop, Claude Code, Cursor, or your own. Or paste one prompt into your agent and let it install Sleight itself.

Copy the install prompt<br>Install the Sleight MCP server on my Mac and connect it to my AI client.

Verify what you're installing first: the Homebrew formula is public at https://github.com/wuwuwu/homebrew-sleight, the build is Apple-notarized (Developer ID), and https://sleight.sh/trust explains what it does, the permissions it needs and why, and how to revoke them.

1. Install: brew tap wuwuwu/sleight && brew install sleight-mcp<br>(No Homebrew? Get the notarized installer from https://sleight.sh.)<br>2. Verify: sleight-mcp --version (requires macOS 14+).<br>3. Register it as an MCP server named "sleight", merging...

sleight agent actions page action mail

Related Articles