Interceptor
Use this as the routing skill before loading a surface-specific skill.
Surface Decision
| Task | Skill |
|---|---|
| Page DOM, text, network, SPA state, browser monitor, screenshots of browser content | interceptor-browser |
| Rich browser editors (Docs/Slides/Canva), canvas/WebGL camera viewers, scene-graph reads, page-world request overrides, blob/export capture, or "cooking" a live page with overlays/HUDs | interceptor-browser |
| Native macOS apps, OS dialogs, browser chrome, URL bars, app windows, menu bars | interceptor-macos |
| Electron / Chromium desktop app web contents, such as Slack, VS Code, Notion, or Descript DOM/network/JS | interceptor macos cdp / interceptor macos cdp app via interceptor-macos/references/cdp-app.md |
| Native app runtime internals: live view/object graph, selector calls, rendered text mutation, hooks, MapKit/AppKit/SwiftUI runtime work | interceptor macos runtime via interceptor-macos/references/native-agent.md |
| Open or control a named app such as Brave, Mail, Finder, Signal, or Cursor | interceptor-macos |
| Backgrounded, occluded, minimized, or cross-Space app capture | interceptor-macos |
| Deep web research: investigate a topic across many sources with breadth + verification | interceptor-research |
| Owned physical iPhone, app automation, runner state and device services | interceptor-ios |
| Capabilities added by an installed extension (operator-supplied) | run interceptor extensions list, then load the extension's own skill (interceptor-ext-<name>) |
Core Rules
- Browser commands operate inside the cyan
interceptortab group. Do not use--any-tabunless the user explicitly authorizes acting outside that group. - Solo browser work in a supported agent shell gets a soft per-session group automatically. For concurrent lanes, set a unique
INTERCEPTOR_SESSION_IDor pass a unique--group <label>to each lane. Explicit groups are hard-scoped by default unless--any-tabis authorized. Close named groups withinterceptor group close <label>when done; the idle timer is based on tab activity, so metadata polls do not keep a group alive. interceptor open <url>andinterceptor tab new <url>create background tabs by default. Onlyopen --activate,tab new --activate,tab switch <id>, andwindow focus <id>intentionally move browser focus.- The macOS surface is background-first by default. Only
interceptor macos app activate <app>andinterceptor macos open <app> --activateintentionally move focus. - If multiple browser profiles are connected, run
interceptor contextsand pass--context <id>. - Safari registers as
safari; useinterceptor --context safari <verb>for page content andinterceptor macosfor Safari chrome or native fallbacks. - Prefer compound commands (
open,read,act,inspect) and structured reads before screenshots. - The zero-CDP browser rule governs the user's real Chrome/Brave/Safari web session. For owned Electron apps,
interceptor macos cdpandinterceptor macos cdp appare intentional app-control surfaces. - For native app runtime internals, use
interceptor macos runtimeafter checkinginterceptor status; public Full installs may require operator-supplied runtime agent dylibs/signing identity beforemacos runtime enable. - If the extension behaves stale after a package update, run
interceptor reload --context <id>: an unpacked copy picks up the installed files; a Chrome Web Store copy only asks the store for an update and keeps its version until the store publishes the new one.interceptor contexts --verboseshows which copy (store or unpacked) and version each context runs. interceptor daemon stopandinterceptor skills unadoptare install/maintenance verbs. The daemon is shared by every agent on the machine — never stop it during normal automation; the next browser command respawns it, but every connected agent's in-flight work is dropped.
Load A Surface Skill
- Load
interceptor-browserfor browser page content, network, tabs, scene graphs, and browser screenshots. - Load
interceptor-macosfor native apps, browser chrome, OS dialogs, window capture, AX trees, Apple Events, Electron app CDP/app attach, and in-process native agent control. - Load
interceptor-iosfor an owned, unlocked, Developer-Mode iPhone. Disconnected unlock cannot bootstrap its runner. - Load
interceptor-researchfor deep web research — investigating a topic across many sources with a planner loop, an on-disk source ledger, and adversarial verification (methodology layered on the browser surface). Pull the playbook any time withinterceptor research.