/brave
Use as fallback browser automation when Claude-in-Chrome MCP is unavailable. Covers browser control, navigation, screenshots, clicking, typing. NOT for: headless testing (use Playwright). Claude Code users should prefer MCP first.
$ golems-cli skills install braveUpdated 2 weeks ago
Browser automation via brave-manager CLI. Claude Code should prefer Claude-in-Chrome MCP - use brave-manager as fallback.
Prerequisites Check
1. Check brave-manager installed:
which brave-manager || echo "Not installed"2. Launch Brave with debug port enabled:
# Close Brave completely first, then:
open -a 'Brave Browser' --args --remote-debugging-port=9222If Brave is already running without the debug flag, quit it completely and relaunch.
3. Verify connection:
brave-manager tabsIf not installed or connection issues: See workflows/debugging.md
Quick Actions
| What you want to do | Workflow |
|---|---|
| Navigate, switch tabs, page history | workflows/navigation.md |
| Get element IDs, take screenshots, see errors | workflows/inspection.md |
| Click, type, scroll, drag elements | workflows/interaction.md |
| Run JS eval, verify state, debug | workflows/debugging.md |
Core Concept: ID-Based Interaction
Always inspect first! Before clicking or typing:
brave-manager inspectThis:
- Numbers all interactive elements on the page
- Draws red labels for visual reference
- Returns the ID mapping for use with click/type/hover
Full SKILL.md source — includes LLM directives, anti-patterns, and technical instructions stripped from the Overview tab.
Browser automation via brave-manager CLI. Claude Code should prefer Claude-in-Chrome MCP - use brave-manager as fallback.
Prerequisites Check
1. Check brave-manager installed:
which brave-manager || echo "Not installed"2. Launch Brave with debug port enabled:
# Close Brave completely first, then:
open -a 'Brave Browser' --args --remote-debugging-port=9222If Brave is already running without the debug flag, quit it completely and relaunch.
3. Verify connection:
brave-manager tabsIf not installed or connection issues: See workflows/debugging.md
Quick Actions
| What you want to do | Workflow |
|---|---|
| Navigate, switch tabs, page history | workflows/navigation.md |
| Get element IDs, take screenshots, see errors | workflows/inspection.md |
| Click, type, scroll, drag elements | workflows/interaction.md |
| Run JS eval, verify state, debug | workflows/debugging.md |
Core Concept: ID-Based Interaction
Always inspect first! Before clicking or typing:
brave-manager inspectThis:
- Numbers all interactive elements on the page
- Draws red labels for visual reference
- Returns the ID mapping for use with click/type/hover
Decision Tree
Need to navigate?
- Open URL, switch tabs, go back/forward
- Use: workflows/navigation.md
Need to see the page state?
- Inspect elements, take screenshots, check errors
- Use: workflows/inspection.md
Need to interact with elements?
- Click buttons, fill forms, scroll, drag
- Use: workflows/interaction.md
Need to verify/debug?
- Run JavaScript, check localStorage, debug state
- Use: workflows/debugging.md
Command Quick Reference
| Command | Purpose |
|---|---|
tabs | List all open tabs |
switch <index> | Focus specific tab |
navigate <url> | Go to URL |
back / forward | Browser history |
inspect | Get element IDs (REQUIRED before interaction) |
screenshot | Save visual state |
errors | Last 5 network/console errors |
click <id> | Click element |
type <id> "text" | Type into element |
hover <id> | Hover element |
scroll <up|down|id> | Scroll page or to element |
press <key> | Press keyboard key |
drag <from> <to> | Drag between elements |
eval "code" | Run JavaScript |
Safety Rules
- Always inspect first - Element IDs change between page loads
- Check errors - Use
errorsbefore reproducing bugs - Screenshot often - Visual verification prevents assumptions
- Scroll before click - Off-screen elements may not be clickable
Best Pass Rate
92%
Opus 4.6
Assertions
13
5 models tested
Avg Cost / Run
$0.1481
across models
Fastest (p50)
3.0s
Gemini 2.5
Behavior Evals
Phase 2 baseline — skill quality on ClaudeBehavior Baseline
Adapter Evals
Phase 2C — cross-AI portabilityAdapter Portability
| Assertion | Opus 4.6 | Sonnet 4.6 | Haiku 4.5 | Codex | Gemini 2.5 | Consensus |
|---|---|---|---|---|---|---|
| prerequisites-check-before-action | 4/5 | |||||
| inspect-before-click | 5/5 | |||||
| correct-command-sequence | 4/5 | |||||
| uses-brave-manager-cli | 4/5 | |||||
| debug-port-launch | 4/5 | |||||
| refuses-blind-click | 3/5 | |||||
| warns-about-stale-ids | 4/5 | |||||
| connection-verification | 5/5 | |||||
| checks-errors-command | 4/5 | |||||
| screenshot-for-verification | 4/5 | |||||
| uses-eval-for-debugging | 4/5 | |||||
| scroll-before-interact | 4/5 | |||||
| no-destructive-actions-without-confirmation | 5/5 |
Token Usage
Cost per Run
| Model | Input Tokens | Output Tokens | Cost / Run | Cost / 1K Runs |
|---|---|---|---|---|
| Opus 4.6 | 4,012 | 5,416 | $0.4664 | $466.40 |
| Sonnet 4.6 | 4,449 | 4,108 | $0.0750 | $75.00 |
| Haiku 4.5 | 1,451 | 1,389 | $0.0021 | $2.10 |
| Codex | 5,124 | 5,584 | $0.1373 | $137.30 |
| Gemini 2.5 | 4,470 | 4,830 | $0.0595 | $59.50 |
Response Time (p50)
Response Time (p95)
| Model | p50 | p95 | Overhead |
|---|---|---|---|
| Opus 4.6 | 7.6s | 13.6s | +80% |
| Sonnet 4.6 | 3.1s | 4.5s | +48% |
| Haiku 4.5 | 3.9s | 6.5s | +66% |
| Codex | 3.8s | 5.7s | +52% |
| Gemini 2.5 | 3.0s | 4.3s | +42% |
Last evaluated: 2026-03-12 · Data is generated from skill assertions (real cross-model benchmarks coming soon)
Changelog entries are derived from eval runs and skill version updates. Full cascading changelog (Phase 4D) coming soon.
Best Pass Rate
92%
Assertions
13
Models Tested
5
Evals Run
3
- +Initial release to Golems skill library
- +13 assertions across 3 eval scenarios
- +4 workflows included: inspection, navigation, interaction, debugging