Skills slbrow-skills
Browser automation via SLBrow MCP and HTTP API. Use when the user needs to navigate pages, analyze content, manage tabs, search history, extract text, or control the browser. Supports both MCP tools and direct curl commands. Requires SLBrow server running and browser extension installed.
git clone https://github.com/openclaw/skills
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/adeted/slbrow-skill" ~/.claude/skills/clawdbot-skills-slbrow-skills && rm -rf "$T"
skills/adeted/slbrow-skill/SKILL.mdSLBrow Browser Automation (Skills for Browser)
Skills for browser-side AI assistant. The browser plugin (aiassist) connects to slbrow-mcp via MCP protocol; these skills guide when and how to use the tools. Can be used via MCP tools or direct HTTP API calls with curl.
Prerequisites
- SLBrow server running:
ornpx slbrow
innpm startai/slbrowmcp/slbrow-mcp/ - Browser extension installed and connected (Chrome/Firefox)
- MCP plugin enabled in aiassist:
(视联浏览器MCP),http://127.0.0.1:5556/mcp
(视联视频AI MCP)http://127.0.0.1:5556/vaimcp - Default ports: HTTP 5556, WebSocket 5555
Usage Methods
Method 1: MCP Tools (Browser Plugin + MCP)
When the MCP plugin is enabled, the AI has access to browser tools. Use these skills to guide tool selection and workflow:
- Navigation: Use
to open URLspage_navigate - Analysis: Use
with intent_hint (article, form submit, post_create) before extractionpage_analyze - Tabs: Use
first, then passtab_list
to target specific tabstab_id
Method 2: HTTP API with curl (Direct Control)
Always available - Use curl commands to control browser directly without MCP plugin dependency:
Basic format (PowerShell-friendly — no temp JSON file):
curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"TOOL_NAME\",\"args\":{\"PARAM\":\"VALUE\"}}'
Important notes for Windows PowerShell:
- Use
instead ofcurl.exe
(PowerShell aliasescurl
tocurl
)Invoke-WebRequest - Put the JSON body in
with single quotes around the whole argument; backslash-escape every double quote in the JSON (-d '...'
). That way the shell passes valid JSON to curl without needing\"--data-binary @file
Common curl examples:
# Create new tab and navigate curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"tab_create\",\"args\":{\"url\":\"https://www.163.com\"}}' # Navigate current tab curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"page_navigate\",\"args\":{\"url\":\"https://www.example.com\"}}' # List all tabs curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"tab_list\",\"args\":{}}' # Analyze page content curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"page_analyze\",\"args\":{\"intent_hint\":\"article\"}}' # Extract article content curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"page_extract_content\",\"args\":{\"content_type\":\"article\"}}' # Close specific tab curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"tab_close\",\"args\":{\"tab_id\":1234567890}}' # Search browser history curl.exe -X POST http://localhost:5556/api/execute -H 'Content-Type: application/json' -d '{\"tool\":\"get_history\",\"args\":{\"keywords\":\"search term\",\"max_results\":10}}'
Response format: API returns JSON with
success, tool, result, and formatted fields for easy parsing.
Available Tools
| Tool | Description |
|---|---|
| Navigate current tab to URL |
| Analyze page for elements (intent_hint: article, form submit, post_create, etc.) |
| Extract content (content_type: article, search_results, posts) |
| Wait for element or text (condition_type, selector, text) |
| Create tab(s) (url, urls[], or count) |
| Close tab(s) (tab_id, tab_ids[]) |
| List open tabs with IDs |
| Search browser history (keywords, start_date, end_date, domains, max_results) |
| Get selected text (optional tab_id) |
| Get page links (link_type: all/internal/external, domains, max_results) |
VAI Tools (Seelink)
| Tool | Description |
|---|---|
| Get all players on current page |
| Apply AI function to players (ai_function_name: reduce_fog, face_mosaic, dark_reduce, human_outline, vechicle_outline, none) |
Workflow Patterns
Multi-tab workflow:
to get tab IDstab_list- Add
to any tool to target a background tabtab_id
Content extraction:
to target URLpage_navigate
with intent_hint to find elementspage_analyze
for article/search_results/postspage_extract_content
Form filling:
with intent_hint "form submit" to discover form elementspage_analyze- Note the element IDs returned — use them with subsequent
orpage_analyze
to confirm statepage_extract_content
VAI (Seelink player AI):
to get player IDs and countget_page_seelink_player_list- Choose targets by
(zero-based index) orplayer_position_list
(not both)player_id_list
with chosen targets anduse_seelink_players_aiai_function_name- To apply different functions to different players, call
separately for eachuse_seelink_players_ai - To disable AI on a player, set
toai_function_name"none"
Fetching Skills in Browser
The browser plugin can fetch skills from the server to inject into AI context:
GET http://127.0.0.1:5556/api/skills
Returns the full SKILL.md content (text/markdown). Use when slbrow MCP plugins are enabled to guide tool usage.
API Reference
For full parameter schemas, see references/api-reference.md.
Additional resources
- One-page workflow checklist: SKILL_COMPACT.md
Error Handling
: Ensure extension is installed and server is running. CheckEXTENSION_DISCONNECTED
first.http://localhost:5556/health
: Operation took >30s; retry with simpler args or break into smaller steps.Tool call timeout
returns 0 elements: Page may still be loading — wait a moment and retry, orpage_analyze
again.page_navigate
invalid (tab was closed): Calltab_id
to refresh available tab IDs before retrying.tab_list- Server restarted (session lost): Client will receive 404; re-initialize MCP connection (refresh the page).
Quick Reference for curl Commands
Tab Management:
- Create tab:
withtab_create
parameterurl - List tabs:
with empty argstab_list - Close tab:
withtab_close
parametertab_id - Navigate:
withpage_navigate
parameterurl
Content Analysis:
- Analyze page:
withpage_analyze
(article, form_submit, post_create)intent_hint - Extract content:
withpage_extract_content
(article, search_results, posts)content_type - Get links:
withget_page_links
(all, internal, external)link_type
History & Text:
- Search history:
withget_history
,keywordsmax_results - Get selected text:
with optionalget_selected_texttab_id
Seelink AI:
- Get players:
get_page_seelink_player_list - Apply AI:
withuse_seelink_players_ai
orplayer_position_list
andplayer_id_listai_function_name
Troubleshooting
Server not responding:
- Check if SLBrow server is running:
curl.exe http://localhost:5556/health - Verify server is started with
ornpx slbrownpm start
Curl command fails:
- Ensure using
in PowerShellcurl.exe - For
, use single-quoted JSON with-d
around each JSON string delimiter (see Method 2 examples above)\" - Verify server is accessible on port 5556
Tab operations not working:
- Use
to get current tab IDs firsttab_list - Verify tab_id is valid and tab still exists
- Check if browser extension is connected