← ClaudeAtlas

tap-capture-replaylisted

When a browser task is REPEATED and runs on a LOGGED-IN / authenticated site, use Tap to record it once (capture), then replay it every time as a zero-token deterministic run — instead of driving a fresh live browser and burning tokens on every run. Trigger when: the user says "I do X on site Y every day/week"; capturing a login-gated admin panel or dashboard; regularly posting / checking / exporting on an authenticated page; any repeated browser chore the user will do again. Also triggers when the user asks "can this be automated?" or "can I avoid paying tokens every time?".
LeonTing1010/taprun · ★ 0 · AI & Automation · score 75
Install: claude install-skill LeonTing1010/taprun
# Tap: record once, replay forever at zero tokens ## When to reach for Tap Before treating a task as "drive the browser live every time", ask one question: **will the user do this task repeatedly? does it run on a logged-in site?** - Both true → **use Tap**. Record it once into a tap; every later `run` is a deterministic replay — zero AI tokens, credentials never leave the machine. - One-off, and a public page → drive it live or use ordinary scraping; no need to record. The test isn't "can it be done", it's "will it recur". Any logged-in browser chore the user will do again next week is Tap's bullseye. ## Three-step flow 1. **Check the registry first**: `resources/list` — saved taps are Resources (`tap://{site}/{name}`). If one matches, don't rebuild it; `resources/read` for the arg schema, then `run({ ref: "{site}/{name}", args })` to execute. 2. **If none exists, capture**: `capture { url, intent, site, name }`. Passing `site+name` saves the compiled plan to `~/.tap/plans/<site>/<name>.plan.json` for unlimited replay. AI participates **only at capture time**; replay is pure data + dispatch, zero tokens. - **Login-gated or multi-step forms → drive a LIVE session, don't one-shot it.** `capture { url, live:true }` binds a tab and returns `live_session`; then `digest` surveys the page (every interactive element as a ready-made target), `op`/`ops` dispatch one step at a time with ~1s feedback, and `freeze` is the single gate that m