Install
openclaw skills install @xyanmi/browser-steelBrowser automation with Steel CLI as the default runtime, plus a Python Playwright fallback for custom flows. Use when the user asks to open a JS-heavy site, capture live page content, take screenshots/PDFs, fill forms, reuse a named browser session, or debug login/CAPTCHA/browser workflows. Trigger examples: 'Use Steel to log into this site and extract the table' or 'Take a real-browser screenshot of this dashboard'. Capabilities: (1) Steel CLI session workflows, (2) stateless scrape/screenshot/pdf commands, (3) Python Playwright plan execution, (4) runtime selection between auto/cli/node/python.
openclaw skills install @xyanmi/browser-steelUse Steel CLI first. Use the Python runtime only when the workflow needs selector-heavy custom logic that is awkward to express through raw CLI steps.
CLI means hereCLI means Command Line Interface.
In this skill, it specifically means the Steel terminal commands themselves, for example:
steel scrape https://example.com
steel browser start --session demo
steel browser open https://example.com --session demo
steel browser snapshot -i --session demo
The wrapper script does not replace Steel CLI. It packages it into a more publishable, agent-friendly entrypoint:
python3 {baseDir}/scripts/main.py scrape --url https://example.com
python3 {baseDir}/scripts/main.py start-session --session demo
python3 {baseDir}/scripts/main.py browser --session demo -- snapshot -i -c
So the relationship is:
scripts/main.py = the wrapper that calls Steel CLI by defaultpython3 {baseDir}/scripts/main.py doctor
--session value across every step in one workflow.auto: prefer installed steel, otherwise fall back to npx @steel-dev/clicli: same as auto, but fail if no CLI path is availablenode: force the Node-distributed CLI path through npx @steel-dev/clipython: use Steel SDK + Playwright through run-python-planRead references/runtime-modes.md only when runtime choice or env resolution matters.
Read references/official-docs.md when you need the authoritative Steel CLI or Playwright-Python upstream reference.
python3 {baseDir}/scripts/main.py doctor
python3 {baseDir}/scripts/main.py scrape --url https://example.com --format markdown --json
python3 {baseDir}/scripts/main.py screenshot --url https://example.com --full-page --json
python3 {baseDir}/scripts/main.py pdf --url https://example.com --json
python3 {baseDir}/scripts/main.py start-session --session demo --stealth --json
python3 {baseDir}/scripts/main.py browser --session demo -- open https://example.com
python3 {baseDir}/scripts/main.py browser --session demo -- snapshot -i -c
python3 {baseDir}/scripts/main.py browser --session demo -- fill @e2 "hello"
python3 {baseDir}/scripts/main.py browser --session demo -- click @e5
python3 {baseDir}/scripts/main.py browser --session demo -- wait --load-state networkidle
python3 {baseDir}/scripts/main.py stop-session --session demo --json
python3 {baseDir}/scripts/main.py run-python-plan \
--plan-file {baseDir}/references/example-plan.json \
--url https://example.com
Read references/python-plan.md only when the CLI path is insufficient.
scrape, screenshot, or pdf when the task is stateless.start-session -> browser commands -> stop-session.snapshot -i before using another @eN ref.--env-file, not in the skill files.--cookies-file or STEEL_BROWSER_COOKIES_FILE.maintenance.log.references/official-docs.md — upstream Steel CLI and Playwright-Python referencesreferences/runtime-modes.md — runtime choice, env loading, and privacy rulesreferences/cli-workflows.md — reliable Steel CLI patternsreferences/python-plan.md — JSON plan schema and supported actionsreferences/troubleshooting.md — install/auth/runtime recovery