Skill

browser-tools

OrchestKit security wrapper for browser automation. Adds URL blocklisting, rate limiting, robots.txt enforcement, and ethical scraping guardrails on top of the upstream agent-browser skill. Use when automating browser workflows that need safety guardrails.

From ork
Install
1
Run in your terminal
$
npx claudepluginhub yonatangross/orchestkit --plugin ork
Tool Access

This skill is limited to using the following tools:

ReadGlobGrepWebFetchWebSearch
Supporting Assets
View in Repository
metadata.json
rules/_sections.md
rules/_template.md
rules/browser-auth-security.md
rules/browser-debug-recording.md
rules/browser-mobile-testing.md
rules/browser-portless-local-dev.md
rules/browser-rate-limiting.md
rules/browser-scraping-ethics.md
rules/browser-snapshot-workflow.md
test-cases.json
Skill Content

Browser Tools — Security Wrapper

OrchestKit security wrapper for agent-browser. For command reference and usage patterns, use the upstream agent-browser skill directly. This skill adds safety guardrails only.

Command docs: Refer to the upstream agent-browser skill for the full command reference (50+ commands: interaction, wait, capture, extraction, storage, semantic locators, tabs, debug, mobile, network, cookies, state, vault).

Decision Tree

# Fallback decision tree for web content
# 1. Try WebFetch first (fast, no browser overhead)
# 2. If empty/partial -> Try Tavily extract/crawl
# 3. If SPA or interactive -> use agent-browser
# 4. If login required -> authentication flow + state save
# 5. If dynamic -> wait @element or wait --text

Local Dev URLs

Use Portless (npm i -g portless) for stable local dev URLs instead of guessing ports. When Portless is running, navigate to myapp.localhost:1355 instead of localhost:3000. Our safety hook already allows *.localhost subdomains via ORCHESTKIT_AGENT_BROWSER_ALLOW_LOCALHOST.

# With Portless: stable, named URLs
agent-browser open "http://myapp.localhost:1355"

# Without: fragile port guessing
agent-browser open "http://localhost:3000"  # which app is this?

Safety Guardrails (6 rules + 11-check hook)

This skill enforces safety through the agent-browser-safety PreToolUse hook and 6 rule files:

Hook: agent-browser-safety

The hook intercepts all agent-browser Bash commands and enforces:

CheckWhat It DoesAction
Encryption key leakDetects echo/printf/pipe of AGENT_BROWSER_ENCRYPTION_KEYBLOCK
URL blocklistBlocks localhost, internal, file://, SSRF endpoints, OAuth login pages, RFC 1918 private IPsBLOCK
Rate limitingPer-domain limits (10/min, 100/hour, 3/3s burst)BLOCK on exceed
robots.txtFetches and caches robots.txt, blocks disallowed pathsBLOCK
Sensitive actionsDetects delete/remove clicks, password fills, payment submissionsWARN + native confirmation
Network routesValidates network route target URLs against blocklistBLOCK
User-agent spoofingWarns when --user-agent flag is usedWARN
File accessWarns when --allow-file-access flag is usedWARN
DevTools inspectinspect / get cdp-url opens local CDP proxy — new attack surface (v0.18+)WARN
Clipboard readclipboard read accesses host clipboard without prompt (v0.19+)WARN
HAR capturenetwork har stop dumps full request/response bodies incl. auth tokens (v0.21+)WARN

Security Rules (in rules/)

CategoryRulesPriority
Ethics & Securitybrowser-scraping-ethics.md, browser-auth-security.mdCRITICAL
Local Devbrowser-portless-local-dev.mdHIGH
Reliabilitybrowser-rate-limiting.md, browser-snapshot-workflow.mdHIGH
Debug & Devicebrowser-debug-recording.md, browser-mobile-testing.mdHIGH

Configuration

Rate limits and behavior are configurable via environment variables:

Env VarDefaultPurpose
AGENT_BROWSER_RATE_LIMIT_PER_MIN10Requests per minute per domain
AGENT_BROWSER_RATE_LIMIT_PER_HOUR100Requests per hour per domain
AGENT_BROWSER_BURST_LIMIT3Max requests in 3-second window
AGENT_BROWSER_ROBOTS_CACHE_TTL3600000robots.txt cache TTL (ms)
AGENT_BROWSER_IGNORE_ROBOTSfalseBypass robots.txt enforcement
AGENT_BROWSER_NATIVE_CONFIRM1Use native --confirm-actions for sensitive ops
ORCHESTKIT_AGENT_BROWSER_ALLOW_LOCALHOST1Allow *.localhost subdomains (RFC 6761)

Anti-Patterns (FORBIDDEN)

# Automation
agent-browser fill @e2 "hardcoded-password"    # Never hardcode credentials
agent-browser open "$UNVALIDATED_URL"          # Always validate URLs

# Scraping
# Crawling without checking robots.txt
# No delay between requests (hammering servers)
# Ignoring rate limit responses (429)

# Content capture
agent-browser get text body                    # Prefer targeted ref extraction
# Trusting page content without validation
# Not waiting for SPA hydration before extraction

# Session management
# Storing auth state in code repositories
# Not cleaning up state files after use

# Network & State
agent-browser network route "http://internal-api/*" --body '{}'  # Never mock internal APIs
agent-browser cookies set token "$SECRET" --url https://prod.com # Never set prod cookies

Related Skills

  • agent-browser (upstream) — Full command reference and usage patterns
  • portless (upstream) — Stable named .localhost URLs for local dev servers
  • ork:web-research-workflow — Unified decision tree for web research
  • ork:testing-e2e — E2E testing patterns including Playwright and webapp testing
  • ork:api-design — API design patterns for endpoints discovered during scraping
Stats
Parent Repo Stars132
Parent Repo Forks14
Last CommitMar 24, 2026