Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add Zfinix/aster --skill macos-harnessgit clone --depth 1 https://github.com/Zfinix/asterWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/zfinix/aster/macos-harness)<a href="https://agentmods.dev/skills/zfinix/aster/macos-harness"><img src="https://agentmods.dev/badge/skills/zfinix/aster/macos-harness/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/zfinix/aster/macos-harness"><img src="https://agentmods.dev/badge/skills/zfinix/aster/macos-harness.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00071 | $0.01264 |
| Opus 5.5 | $0.00028 | $0.00506 |
| Sonnet 5.5 | $0.00014 | $0.00253 |
| Haiku 4.5 | $0.00007 | $0.00126 |
Grade A, and why
macos-harness scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 125 lines — stays where its author put it; the contents beside it link to each section on GitHub.
macOS Harness
Setup
The skill ships with aster; the CLI it drives does not. Install it once with
uv tool install macos-harness, then run macos-harness doctor to check
permissions without prompting (--request only with user approval).
Surface
The CLI entry points are doctor, apps, see <app>, state <app>,
repl, skill, telemetry. The real harness is the Python session: stdin
programs preload mac, browser, Path, and subprocess.
macos-harness <<'PY'
print(mac.see("Finder")["path"])
PY
Verified bindings (checked against the installed CLI):
mac.see(app)-> dict withpath(screenshot file),app,bounds,focus.target_is_frontmost. Captures without focusing the app.mac.key/mac.type/mac.click/mac.drag/mac.scroll/mac.move: PID-targeted input; the physical cursor stays untouched.mac.axis an object:.dump(app)(dict:app,nodes,text,windows,screenshot),.query,.get,.set,.perform,.actions,.at.mac.script(applescript)for Apple Events;mac.windows(app),mac.list_apps(),mac.snapshot(),mac.get_app_state(app)for discovery and state.browser.connect(name)/browser.wait(name)for CDP into the user's real logged-in browser. Chrome shows anAllow remote debugging?sheet on first connect; approve it once there.- Plain
Pathandsubprocessfor everything else.
Minimize round trips
- Bundle deterministic, reversible steps into one program, then verify once. Opening search, typing a query, and capturing the results is one burst, not three calls.
- Stop at a genuine decision boundary: ambiguous identity, new coordinates, an irreversible action, or unexpected state. Inspect once, then run the next burst.
- Do not screenshot merely to confirm that a known shortcut opened a text field before typing. Let the final screenshot verify the whole sequence.
- Poll exact AX or Apple Events state inside the same Python program when possible; do not make the model repeatedly ask whether a transition finished.
- Use the cheapest strong end-state check: one screenshot for visible state or one exact API/AX query for semantic state; both only when they prove different things.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 125 lines · 71 tokens per session scan A c24028593f5b
macos-harness is a skill published in the GitHub repository Zfinix/aster (132 stars, last pushed yesterday), licensed Apache-2.0. It adds 71 tokens to every session and 1,264 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
Interceptor
Real Chrome/Brave + macOS Computer Use from inside the browser — zero CDP fingerprint, real sessions; mandatory for visual deploy verification. Drive clickwork yourself. USE WHEN verify deploy, confirm UI, screenshot verification, computer use, macos automation, debug web, troubleshoot, visual check, motion/animation…
record-and-replay
Use when the user wants Codex to record a Linux desktop or browser workflow and turn it into a reusable skill. Requires the Record & Replay event-stream MCP server.
browser-qa
A browser-based quality check for deployed web pages and user flows. It uses browser automation to test rendering, navigation, forms, interactions, responsive behaviour, and accessibility-related issues.
alibaba-supplier-outreach
Codex-native supplier sourcing and outreach workflow for Alibaba using LaunchFast research. Use when the user wants supplier shortlists, outreach messages, reply triage, or negotiation support. Requires supplierresearch. Browser automation is optional but useful when the user wants Codex to interact with Alibaba…
memstack-development-webapp-testing
Use when the user says 'write browser tests', 'test this page', 'playwright test', 'e2e test', 'end to end test', 'browser test', 'test the UI', or needs Playwright-based browser testing for a web application. Do NOT use for unit tests, API tests, or non-browser testing.
agent-workspace-linux
Use when a task needs an isolated hidden Linux desktop or workspace-owned browser: GUI app QA, web/browser/shopping automation, sandboxed app observation, or stale workspace cleanup. Routes agent-workspace-linux MCP tools on demand. Does NOT apply to host desktop/Chrome control, generic MCP setup, or pure code/file…