Writing Skills
writing-skills
效率与协作技能,来自 obra/superpowers,查看原文获取完整用途和操作说明。
stealth-browser【部署与运维】Invisible Chrome automation for web scraping via CDP. Use when WebFetch fails or gets blocked (403, 429, Cloudflare, bot protection, JS-rendered pages). Launches your real Chrome install completely hidden, sends commands via Chrome DevTools Protocol. Sites see a normal browser with real extensions - no detectable automation. Learns which domains bloc…
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Invisible Chrome automation via CDP. Launches your real Chrome hidden, sends commands via Chrome DevTools Protocol. Sites see a normal browser - no detectable automation.
macOS only. Uses AppleScript and
open -gto hide Chrome.
Read ~/.claude/skills/stealth-browser/LEARNED.md at the start of every task. If it doesn't exist, create it with a # Learned header.
Capture learnings when you detect:
Before appending, check:
Format: One line, actionable. Write the rule, not the story.
Don't ask permission. Append and move on.
# 1. Read a page as markdown (most common)
stealth-browser read <url>
# 2. Full automation (open, interact, close)
stealth-browser open <url> --hidden
agent-browser --cdp 9222 snapshot -i
agent-browser --cdp 9222 click @e1
stealth-browser close
stealth-browser is at scripts/stealth-browser relative to this skill. Use full path:
~/.claude/skills/stealth-browser/scripts/stealth-browser read <url>
stealth-browser read <url> # Fetch as markdown (waits for JS render)
stealth-browser open <url> --hidden # Launch hidden Chrome
stealth-browser close # Stop Chrome
stealth-browser status # Check state
stealth-browser screenshot [path] # CDP screenshot (auto unhide/re-hide)
stealth-browser hide / unhide # Toggle visibility
stealth-browser doctor # Check dependencies
stealth-browser setup # Reset Chrome profile
agent-browser --cdp 9222 open <url> # Navigate
agent-browser --cdp 9222 snapshot -i # Get interactive elements
agent-browser --cdp 9222 click @e1 # Click by ref
agent-browser --cdp 9222 fill @e2 "text" # Fill input
agent-browser --cdp 9222 type @e2 "text" # Type without clearing
agent-browser --cdp 9222 press Enter # Press key
agent-browser --cdp 9222 scroll down 500 # Scroll
agent-browser --cdp 9222 get text @e1 # Get text
agent-browser --cdp 9222 get url # Get current URL
agent-browser --cdp 9222 eval "document.title" # Run JavaScript
agent-browser --cdp 9222 screenshot path.png # Screenshot
agent-browser --cdp 9222 wait 2000 # Wait
agent-browser --cdp 9222 back # Navigate back
Always re-snapshot after navigation or DOM changes - element refs change.
Chrome stays running and hidden after read or open --hidden:
stealth-browser closeBlocked domains are remembered at data/blocked-domains.txt. A PreToolUse hook intercepts future WebFetch calls to those domains and tells Claude to use stealth-browser directly.
See hooks/README.md for Claude Code integration setup. See README.md for full human documentation.