tap-capture-replaylisted
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