协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
browserbase-fix【开发与工程】Guide Claude through debugging and fixing failing browser automations
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
Guide Claude through debugging and fixing failing browser automations.
Use this skill when:
Before debugging, gather context from:
stagehand fn errors <function-name>
stagehand fn logs <function-name>
Start a Browserbase session to see what's happening:
stagehand session create
stagehand session live # Open in browser to watch
Navigate to the target URL:
stagehand goto <target-url>
Take a snapshot of the current page:
stagehand snapshot
Compare with what the automation expects:
The site updated their HTML:
stagehand snapshot
# Look for similar elements with new selectors
stagehand eval "document.querySelector('.new-class')?.textContent"
Fix: Update selectors in the function code.
Elements load slower than expected:
stagehand network on
stagehand goto <url>
stagehand network list
# Check if resources are slow to load
Fix: Add explicit waits or increase timeouts.
Session cookies no longer valid:
stagehand snapshot
# Look for login prompts
Fix: Re-authenticate or update auth flow. See skills/auth/SKILL.md.
Site is blocking automated access:
stagehand network list
# Look for 403, 429 status codes
stagehand screenshot -o blocked.png
Fix: Add delays, use proxies, or contact site owner.
Major structural changes:
stagehand snapshot
stagehand screenshot -o current.png
Fix: Rewrite affected portions of the automation.
Make changes to the function code, then test:
# Test locally first
stagehand fn invoke <name> --local
# If local works, deploy
stagehand fn publish <entrypoint>
# Test in production
stagehand fn invoke <name>
After fixing:
Once fixed, use git to commit changes:
git add <function-file>
git commit -m "fix(<function-name>): <description of fix>"
git push
If this is a PR workflow:
gh pr create --title "Fix <function-name>" --body "..."
| Command | Purpose |
|---|---|
stagehand session create | Start debug session |
stagehand session live | Open visual debugger |
stagehand goto <url> | Navigate to target |
stagehand snapshot | Inspect DOM structure |
stagehand screenshot | Capture visual state |
stagehand network on | Enable request capture |
stagehand network list | View captured requests |
stagehand network show <id> | Inspect specific request |
stagehand eval <js> | Run diagnostic JS |
stagehand fn errors <name> | View recent failures |
stagehand fn logs <name> | View function logs |
User: My price-monitor function stopped working yesterday
Claude: Let me investigate. First, let me check the recent errors:
> stagehand fn errors price-monitor
I see several failures with "Element not found: .price". Let me start a debug session:
> stagehand session create
> stagehand session live
> stagehand goto https://example.com/product/123
Opening in browser so you can watch. Let me check the page structure:
> stagehand snapshot
I can see the price element now uses a different class `.product-price` instead of `.price`. The site appears to have been redesigned.
Let me verify:
> stagehand eval "document.querySelector('.product-price')?.textContent"
Yes, that returns "$29.99". I'll update the selector in your function:
[edits price-monitor.ts to use '.product-price']
Testing locally:
> stagehand fn invoke price-monitor --local -p '{"productUrl": "https://example.com/product/123"}'
Works! Deploying fix:
> stagehand fn publish price-monitor.ts
The function should work now. Would you like me to commit this fix?