用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/bdarbaz/claude-stack-plugin --skill s-browse命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | s-browse |
| description | Headless browser control - navigate, screenshot, fill forms, click elements, handle dialogs |
Direct browser interaction for development, testing, and debugging. Provides a command interface to navigate pages, capture screenshots, fill forms, click elements, and execute JavaScript.
Prefer Playwright MCP if available (check for mcp__plugin_playwright_playwright__browser_navigate).
If Playwright MCP is not available, ensure the binary exists:
sh ${CLAUDE_PLUGIN_ROOT}/bin/setup-browser.sh
Use ~/.claude-stack/bin/gstack-browse as fallback.
The following commands are available. Accept them as arguments after /s:browse or interactively one at a time.
| Command | Description | Example |
|---|---|---|
navigate <url> | Navigate to a URL | navigate http://localhost:3000/dashboard |
back | Go back one page | back |
reload | Reload the current page | reload |
wait <selector|ms> | Wait for an element to appear or a fixed delay | wait .modal or wait 2000 |
| Command | Description | Example |
|---|---|---|
screenshot | Full-page screenshot | screenshot |
screenshot <selector> | Screenshot a specific element | screenshot .hero-section |
snapshot | Get accessibility tree snapshot of current page | snapshot |
| Command | Description | Example |
|---|---|---|
click <selector> | Click an element | click button.submit |
fill <selector> <value> | Fill an input field with a value | fill #email user@test.com |
type <text> | Type text into the currently focused element | type Hello World |
select <selector> <value> | Select a dropdown option by value | select #country US |
hover <selector> | Hover over an element | hover .tooltip-trigger |
press <key> | Press a keyboard key | press Enter or press Tab |
upload <selector> <filepath> | Upload a file to a file input | upload #avatar ./test.png |
| Command | Description | Example |
|---|---|---|
dialog accept | Accept the next browser dialog (alert, confirm, prompt) | dialog accept |
dialog accept <text> | Accept prompt dialog with input text | dialog accept "my input" |
dialog dismiss | Dismiss the next browser dialog | dialog dismiss |
| Command | Description | Example |
|---|---|---|
evaluate <js> | Execute JavaScript in the page context and return result | evaluate document.title |
cookies | List all cookies for the current page domain | cookies |
console | Show recent console messages | console |
network | Show recent network requests | network |
| Command | Description | Example |
|---|---|---|
resize <width> <height> | Resize the browser viewport | resize 375 812 |
When called without arguments (/s:browse), enter interactive mode:
When called with arguments (/s:browse navigate http://localhost:3000 screenshot click .btn screenshot):
When Playwright MCP is available, map commands to MCP tools:
| Browse Command | Playwright MCP Tool |
|---|---|
navigate | browser_navigate |
screenshot | browser_take_screenshot |
snapshot | browser_snapshot |
click | browser_click |
fill | browser_fill_form |
type | browser_type |
select | browser_select_option |
hover | browser_hover |
press | browser_press_key |
upload | browser_file_upload |
dialog accept/dismiss | browser_handle_dialog |
evaluate | browser_evaluate |
cookies | browser_evaluate with document.cookie |
console | browser_console_messages |
network | browser_network_requests |
resize | browser_resize |
back | browser_navigate_back |
wait | browser_wait_for |
snapshot.evaluate.After each command, output a brief result line:
[browse] navigate http://localhost:3000 -> OK (loaded in 450ms)
[browse] click .submit-btn -> OK (element clicked)
[browse] fill #email test@example.com -> OK (field filled)
[browse] screenshot -> Screenshot captured
[browse] evaluate document.title -> "My App - Dashboard"
[browse] click .nonexistent -> FAIL: Element not found matching ".nonexistent"
This skill is used by /s:qa and /s:qa-only as their browser interaction layer. Cookie sessions imported via /s:cookies are automatically available to this skill.
If cookies exist at ~/.claude-stack/cookies.json, load them into the browser context before navigation.