# Interceptor

Real Chrome plus macOS Computer Use from inside the browser, real sessions; mandatory...

- Repository: https://github.com/danielmiessler/LifeOS (19669 stars)
- Category: Design
- License: MIT
- Last updated: 2026-10-28
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add danielmiessler/LifeOS --skill Interceptor -g -a claude-code -y`
Codex: `npx skills add danielmiessler/LifeOS --skill Interceptor -g -a codex -y`
Cursor: `npx skills add danielmiessler/LifeOS --skill Interceptor -g -a cursor -y`
Gemini CLI: `npx skills add danielmiessler/LifeOS --skill Interceptor -g -a gemini-cli -y`

## Description

Real Chrome plus macOS Computer Use from inside the browser, real sessions; mandatory for visual deploy verification. USE WHEN verify deploy, confirm UI, screenshot verification, debug web, visual check, animation bug, console errors, JS errors, network traffic, HAR export, blank-page debug, what is happening on the page, authenticated page, reproduce bug, drive native app. NOT FOR pixel-only GUI work (ComputerUse), crawling (BrightData), scraping.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Interceptor

**Contents:** Ideal State · Intent Routing · Data & Config · Gotchas · Examples

Drives the real Chrome test profile and native macOS apps through the `interceptor` CLI and guarded wrappers.

## Ideal State

- Every browser action ran in the pinned isolated test context, only after that run's preflight gate exited 0; the operator's Default profile, windows and focus are untouched, and a gate failure ends the run instead of falling back.
- Browser work the operator would otherwise do by hand (open, click, fill, log in) was driven by the agent, up to the single step that needs a secret it does not hold or an OAuth or consent screen, where the operator sees the client, scopes and account and approves.
- Every "verified", "works" or "fixed" claim cites evidence from the real page or app: a structured read, console and network state, and a `Tools/Capture.sh` screenshot that was read; motion and lifecycle claims come from `Tools/VerifyViewport.ts` or a ScrubFlow gallery.
- A capture request gets one screenshot per width it names (usually 1440 and 390), each read back and confirmed to be the requested page, not another tab's or session's, and every element the request names is reported present or absent.
- A page called verified or live was judged as a whole at each width: overlapping, clipped or misplaced layout (cards over the header, a cut-off top) fails the claim even when the requested element is present.
- A fine-detail claim (logo, glyph, icon, a figure's limbs, hands and grip) rests on a `Tools/Zoom.ts` crop of the full-resolution capture, so an extra arm cannot pass on a downscaled view.
- When Interceptor could not deliver evidence, the report says verification was not captured; it never substitutes `screencapture`, `osascript` or file existence for visual evidence.
- Native-app work leaves the frontmost app unchanged, shown by `frontmost` before and after, and the tabs a run opened in the test profile are closed when it ends.

## Intent Routing

The rest: https://github.com/danielmiessler/LifeOS/blob/HEAD/LifeOS/install/skills/Interceptor/SKILL.md
