The Problem
AI agents need to operate interfaces — read data, click buttons, fill forms. But using AI for every step is slow, expensive, and unreliable.
The Insight
Operating an interface is a solved problem the moment you figure out how. The hard part is understanding the page — finding the API, locating the right selector. That's what AI is good at. Executing the same steps again? That doesn't need AI at all.
Tap: A New Paradigm
Tap is a universal protocol that separates the figuring out from the doing:
forge_inspect → forge_verify → forge_save → tap.run
AI analyzes AI tests AI saves runs forever, zero AI
One agent forges a tap. Every agent benefits.
The Protocol: 8 + 16
Tap follows the POSIX philosophy — minimal kernel, maximal possibility:
-
8 kernel primitives:
eval,pointer,keyboard,nav,wait,screenshot,tap,capabilities -
16 stdlib operations:
click,type,hover,scroll,fetch,find,cookies,download...
A new runtime implements 8 methods, gets 16 operations for free.
Two Runtimes
- Chrome Extension — uses your real browser session, no API keys
- Playwright — headless capable, no extension needed
81 Ready-to-Use Skills
X/Twitter, Reddit, GitHub, YouTube, Bilibili, Zhihu, Xiaohongshu, Weibo, Medium, arXiv — 41 sites covered.
MCP Native
Tap is an MCP server. Add it to Claude Code or any MCP-compatible agent:
{
"mcpServers": {
"tap": {
"command": "tap",
"args": ["mcp"]
}
}
}
Quick Start
curl -fsSL https://raw.githubusercontent.com/LeonTing1010/tap/master/install.sh | sh
tap install # install 81 community skills
tap github trending # try it
How It Works
The forge pipeline lets AI create deterministic scripts:
-
forge_inspect(url)— AI analyzes the page: APIs, SSR state, DOM structure -
forge_verify(url, expr)— AI tests extraction logic -
forge_save(site, name)— saves as.tap.js -
tap.run(site, name)— runs forever, zero AI
Links
- GitHub: github.com/LeonTing1010/tap
- Skills: github.com/LeonTing1010/tap-skills
- License: MIT
Tap makes every interface programmable by AI — not by driving it step-by-step, but by forging a deterministic script once and running it forever.
Top comments (0)