Marketplace agentic-browser
install
source · Clone the upstream repo
git clone https://github.com/aiskillstore/marketplace
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/aiskillstore/marketplace "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/inference-sh/agentic-browser" ~/.claude/skills/aiskillstore-marketplace-agentic-browser && rm -rf "$T"
manifest:
skills/inference-sh/agentic-browser/SKILL.mdsource content
Agentic Browser
Browser automation for AI agents via inference.sh.
Quick Start
curl -fsSL https://cli.inference.sh | sh && infsh login # Open a page and get interactive elements infsh app run agentic-browser --function open --input '{"url": "https://example.com"}' --session new
Core Workflow
Every browser automation follows this pattern:
- Open: Navigate to URL, get element refs
- Snapshot: Re-fetch elements after DOM changes
- Interact: Use
refs to click, fill, etc.@e - Re-snapshot: After navigation, get fresh refs
# Start session RESULT=$(infsh app run agentic-browser --function open --session new --input '{ "url": "https://example.com/login" }') SESSION_ID=$(echo $RESULT | jq -r '.session_id') # Elements returned like: @e1 [input] "Email", @e2 [input] "Password", @e3 [button] "Sign In" # Fill form infsh app run agentic-browser --function interact --session $SESSION_ID --input '{ "action": "fill", "ref": "@e1", "text": "user@example.com" }' infsh app run agentic-browser --function interact --session $SESSION_ID --input '{ "action": "fill", "ref": "@e2", "text": "password123" }' # Click submit infsh app run agentic-browser --function interact --session $SESSION_ID --input '{ "action": "click", "ref": "@e3" }' # Close when done infsh app run agentic-browser --function close --session $SESSION_ID --input '{}'
Functions
open
Navigate to URL and configure browser. Returns page snapshot with
@e refs.
infsh app run agentic-browser --function open --session new --input '{ "url": "https://example.com", "width": 1280, "height": 720, "user_agent": "Mozilla/5.0..." }'
Returns:
: Current page URLurl
: Page titletitle
: List of interactive elements withelements
refs@e
: Page screenshot (for vision agents)screenshot
snapshot
Re-fetch page state after DOM changes. Always call after clicks that navigate.
infsh app run agentic-browser --function snapshot --session $SESSION_ID --input '{}'
interact
Interact with elements using
@e refs from snapshot.
| Action | Description | Required Fields |
|---|---|---|
| Click element | |
| Clear and type text | , |
| Type text (no clear) | |
| Press key | (e.g., "Enter") |
| Select dropdown | , |
| Hover over element | |
| Scroll page | (up/down) |
| Go back in history | - |
| Wait milliseconds | |
# Click infsh app run agentic-browser --function interact --session $SESSION_ID --input '{ "action": "click", "ref": "@e5" }' # Fill input infsh app run agentic-browser --function interact --session $SESSION_ID --input '{ "action": "fill", "ref": "@e1", "text": "hello@example.com" }' # Press Enter infsh app run agentic-browser --function interact --session $SESSION_ID --input '{ "action": "press", "text": "Enter" }' # Scroll down infsh app run agentic-browser --function interact --session $SESSION_ID --input '{ "action": "scroll", "direction": "down" }'
screenshot
Take page screenshot.
infsh app run agentic-browser --function screenshot --session $SESSION_ID --input '{ "full_page": true }'
execute
Run JavaScript on the page.
infsh app run agentic-browser --function execute --session $SESSION_ID --input '{ "code": "document.title" }'
close
Close browser session.
infsh app run agentic-browser --function close --session $SESSION_ID --input '{}'
Element Refs
Elements are returned with
@e refs like:
@e1 [a] "Home" href="/" @e2 [input type="text"] placeholder="Search" @e3 [button] "Submit" @e4 [select] "Choose option"
Important: Refs are invalidated after navigation. Always re-snapshot after:
- Clicking links/buttons that navigate
- Form submissions
- Dynamic content loading
Examples
Form Submission
SESSION=$(infsh app run agentic-browser --function open --session new --input '{ "url": "https://example.com/contact" }' | jq -r '.session_id') # Get elements: @e1 [input] "Name", @e2 [input] "Email", @e3 [textarea] "Message", @e4 [button] "Send" infsh app run agentic-browser --function interact --session $SESSION --input '{"action": "fill", "ref": "@e1", "text": "John Doe"}' infsh app run agentic-browser --function interact --session $SESSION --input '{"action": "fill", "ref": "@e2", "text": "john@example.com"}' infsh app run agentic-browser --function interact --session $SESSION --input '{"action": "fill", "ref": "@e3", "text": "Hello!"}' infsh app run agentic-browser --function interact --session $SESSION --input '{"action": "click", "ref": "@e4"}' # Check result infsh app run agentic-browser --function snapshot --session $SESSION --input '{}' infsh app run agentic-browser --function close --session $SESSION --input '{}'
Search and Extract
SESSION=$(infsh app run agentic-browser --function open --session new --input '{ "url": "https://google.com" }' | jq -r '.session_id') # Fill search box and submit infsh app run agentic-browser --function interact --session $SESSION --input '{"action": "fill", "ref": "@e1", "text": "weather today"}' infsh app run agentic-browser --function interact --session $SESSION --input '{"action": "press", "text": "Enter"}' infsh app run agentic-browser --function interact --session $SESSION --input '{"action": "wait", "wait_ms": 2000}' # Get results page infsh app run agentic-browser --function snapshot --session $SESSION --input '{}' infsh app run agentic-browser --function close --session $SESSION --input '{}'
Extract Data with JavaScript
infsh app run agentic-browser --function execute --session $SESSION --input '{ "code": "Array.from(document.querySelectorAll(\"h2\")).map(h => h.textContent)" }'
Sessions
Browser state persists within a session. Always:
- Start with
on first call--session new - Use returned
for subsequent callssession_id - Close session when done
Related Skills
# Web search (for research + browse) npx skills add inference-sh/skills@web-search # LLM models (analyze extracted content) npx skills add inference-sh/skills@llm-models
Documentation
- inference.sh Sessions - Session management
- Multi-function Apps - How functions work