ThinkRungithub.com/dundas/thinkrun →
Agent skills · open standard

Browser skills your agent already knows how to pick.

Four portable agent skills for Claude Code, Cursor, Codex, and Gemini CLI — drive your real logged-in Chrome or an isolated cloud browser, and walk UIs like a user. Trigger accuracy is measured, not claimed: every skill ships its eval fixtures, and the benchmarks are public.

The skills

web-browse

Browse the web programmatically — navigate, interact, extract, screenshot, from the CLI or any MCP client. The umbrella skill: generic browse asks route here.

ux-audit

Walk through a product UI as a real user, screenshot every step, and produce a structured UX report with a prioritized fix list. 20/20 trigger accuracy on every model tested.

thinkbrowse-cli

Drive the browser from shell scripts via the thinkrun CLI — for when the ask explicitly names the terminal.

thinkbrowse-mcp

Drive the browser through the ThinkRun MCP server's tools — for when the ask explicitly names MCP.

Install

Three paths, pick one:

# 1. Live MCP server built from the repo (auto-updates on every commit)
{ "mcpServers": { "thinkrun-skills": { "url": "https://mcp.skillsovermcp.com/mcp/dundas/thinkrun" } } }

# 2. The ThinkRun MCP server itself (skills + recorder + real-Chrome control)
npx @thinkrun/mcp

# 3. Copy the skill folders (open agent-skills standard)
git clone https://github.com/dundas/thinkrun
cp -r thinkrun/.claude/skills/* ~/.claude/skills/     # Claude Code
# Cursor / Codex / Gemini CLI: copy from .cursor/, .codex/, or .gemini/ into
# your agent's skills directory instead — the mirrors are identical.

Skill mirrors ship for .claude, .cursor, .codex, and .gemini layouts.

Measured routing, not vibes

We eval the skills as a catalog — 80 realistic queries, strict-JSON routing, programmatic grading — across GPT-5.4/5.5/5.6 and Claude Sonnet/Opus/Fable families, plus catalog-ablation runs proving the skills absorb each other's traffic when you install a subset.

ConfigurationRouting accuracyNote
Full catalog (after eval-driven description fixes)79–80/8012 of 16 published model configs; 5 perfect scores
Ablated: no web-browse76–80/80cli/mcp absorb its traffic, zero over-capture
Ablated: no cli/mcp77–80/80web-browse absorbs theirs

Full tables, per-query failure detail, and the harness: evals/BENCHMARK.md. Reproduce with bun evals/run-eval.ts build.

Why a real browser matters

Local mode attaches to the Chrome you already have open — your cookies, your logins, your extensions — via the ThinkRun extension and native host. Cloud mode provisions an isolated browser for headless and parallel work. Same skills, same commands, both modes. Simple URL fetches are deliberately out of scope: the skills defer those to your agent's built-in fetch, so they don't over-trigger.

MIT licensed · source & benchmarks the ThinkRun story · thinkrun.ai