Interceptor

SkillWeb & browsing

Lets your agent control browsers, Mac apps, and iPhones to read pages, automate clicks, and take screenshots.

Use Interceptor in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Interceptor and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use the Interceptor skill

Details

Instructions available. Your AI can read the instructions. Execution depends on the setup they require.

Add ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

InterceptorStart free
About this skill

Choose the right Interceptor surface. Use interceptor-browser for page DOM, network, browser tabs, rich editors, screenshots, and browser automation. Use interceptor-macos for native apps, browser chrome, URL bars, OS dialogs, cross-app routing, AX trees, native screenshots, Apple Events, trusted OS

What this skill tells your AI

The instructions your AI receives, as published by hacker-valley-media/interceptor in .agents/skills/interceptor/SKILL.md and read by ahel’s review.

Use this as the routing skill before loading a surface-specific skill.

Surface Decision

TaskSkill
Page DOM, text, network, SPA state, browser monitor, screenshots of browser contentinterceptor-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/HUDsinterceptor-browser
Native macOS apps, OS dialogs, browser chrome, URL bars, app windows, menu barsinterceptor-macos
Electron / Chromium desktop app web contents, such as Slack, VS Code, Notion, or Descript DOM/network/JSinterceptor 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 workinterceptor macos runtime via interceptor-macos/references/native-agent.md
Open or control a named app such as Brave, Mail, Finder, Signal, or Cursorinterceptor-macos
Backgrounded, occluded, minimized, or cross-Space app captureinterceptor-macos
Deep web research: investigate a topic across many sources with breadth + verificationinterceptor-research
Owned physical iPhone, app automation, runner state and device servicesinterceptor-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 interceptor tab group. Do not use --any-tab unless 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_ID or pass a unique --group <label> to each lane. Explicit groups are hard-scoped by default unless --any-tab is authorized. Close named groups with interceptor 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>, interceptor tab new <url>, and interceptor window new [url] create background tabs and windows by default. Only open --activate, tab new --activate, window new --activate, tab switch <id>, and window focus <id> intentionally move browser focus.
  • A page that will not render while hidden is not a reason to switch: interceptor tab keepalive <id> makes it read as visible and run its animation frames in place. After a tab switch for a trusted click, tab switch back to the tab that was showing is allowed once.
  • The macOS surface is background-first by default. Only interceptor macos app activate <app> and interceptor macos open <app> --activate intentionally move focus.
  • If multiple browser profiles are connected, run interceptor contexts and pass --context <id>.
  • Safari registers as safari; use interceptor --context safari <verb> for page content and interceptor macos for 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 cdp and interceptor macos cdp app are intentional app-control surfaces.
  • For native app runtime internals, use interceptor macos runtime after checking interceptor status; public Full installs may require operator-supplied runtime agent dylibs/signing identity before macos 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 --verbose shows which copy (store or unpacked) and version each context runs.
  • interceptor daemon stop and interceptor skills unadopt are 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-browser for browser page content, network, tabs, scene graphs, and browser screenshots.
  • Load interceptor-macos for 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-ios for an owned, unlocked, Developer-Mode iPhone. Disconnected unlock cannot bootstrap its runner.
  • Load interceptor-research for 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 with interceptor research.

Signals

GitHub stars
467
Forks
69
Last commit
Sep 2026
Advanced
Item type
skill
Key
interceptor
Source
github.com/hacker-valley-media/interceptor