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 agentmods add skills/pingdotgg/t3code/ios-simulator-browsernpx skills add pingdotgg/t3code --skill ios-simulator-browsergit clone --depth 1 https://github.com/pingdotgg/t3codeWhat 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 | $0.00052 | $0.00731 |
| Opus 5 | $0.00026 | $0.00365 |
| Sonnet 5 | $0.00010 | $0.00146 |
| Haiku 4.5 | $0.00005 | $0.00073 |
Grade A, and why
ios-simulator-browser 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 yesterday.
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 — 52 lines — stays where its author put it; the contents beside it link to each section on GitHub.
iOS Simulator Browser
Use serve-sim as the shared visual feed for an iOS Simulator. Use ios-debugger-agent and XcodeBuildMCP semantic UI tools to drive the app; do not treat browser-canvas coordinates as a substitute for missing app accessibility.
Confirm availability
serve-sim 0.1.45 requires Apple Silicon macOS, Xcode command-line tools, and Node.js 20 or newer. If the host is unsupported, continue with XcodeBuildMCP screenshots and report that live streaming was unavailable.
When running inside T3 Code, use its product-native browser MCP to open the stream. Other agent hosts may use their own browser or preview surface.
Keep serve-sim on its default 127.0.0.1 binding. Do not expose its preview to a LAN or tunnel unless the user explicitly requests that access and the network is trusted; the preview includes a token-gated shell-execution route.
Start one owned stream
-
Obtain the exact simulator UDID from the iOS build or launch workflow.
-
Check whether an existing serve-sim stream for that UDID belongs to another task. Reuse it only when explicitly shared; never kill another task's stream.
-
Otherwise, clear only a stale stream for that UDID and start the pinned version with scoped cleanup:
SIMULATOR_ID=<simulator-udid> cleanup_serve_sim() { npx --yes [email protected] --kill "$SIMULATOR_ID" >/dev/null 2>&1 || true } trap cleanup_serve_sim EXIT INT TERM HUP cleanup_serve_sim npx --yes [email protected] "$SIMULATOR_ID" -
Keep the terminal alive and open the exact local URL printed by serve-sim in the agent's browser.
-
Verify that a live simulator frame renders. A loaded wrapper page is not sufficient evidence.
Observe while driving semantically
- Let the user watch the serve-sim stream while XcodeBuildMCP performs
snapshot_ui, semantic taps, typing, gestures, and screenshots. - Keep the browser and Xcode tooling pinned to the same simulator UDID.
- Do not switch to generic desktop automation or browser-canvas clicking merely because the stream is visible.
What ships with it
2 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- yesterday First seen · 52 lines · 52 tokens per session scan A 197a3dd41e24
ios-simulator-browser is a skill published in the GitHub repository pingdotgg/t3code (21,041 stars, last pushed 2d ago), licensed MIT. It adds 52 tokens to every session and 731 once invoked, about $0.0003 per session on Opus 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
upgrade-browser
Upgrade browser versions (Chrome or Firefox) in the Flutter Web Engine and/or Framework tests. Use when asked to roll or upgrade Chrome or Firefox to a newer version.
generate-token-map
Maps all Figma design tokens from figma-variables.md to their equivalent C++ (Views) identifiers, CSS (WebUI) variables, and Clank (Android) resource attributes/macros/methods in Chromium, and saves the formatted mapping table to the assets directory of the Chrome Design System project. Use this skill when asked to…
android-test-batching
Guide for auditing and applying batching annotations (@Batch) and AutoReset rules (AutoResetCtaTransitTestRule) to Android javatests in Chromium. Use this skill when optimizing Java instrumentation test runtimes, resolving test state leaks, or migrating tests to batched execution.
loadline
Running and analyzing LoadLine 1 and 2 benchmarks on Android using Crossbench. Use when you need to measure page loading performance, evaluate performance-related changes in Chrome, or collect Perfetto traces with realistic Chrome workload.
flow
Use when you need to run Flow type checking, or when seeing Flow type errors in React code.
keep-sorted
Automatically detects misordered lists in code (like Android XMLs), injects go/keep-sorted tags, sorts them, and creates CLs.