Skip to content
Back to skills

Optimize Agent Browsing

ASecurity

Analyze an OpenClaw agent's browser usage and recommend browsy migration

  • 586 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 2, 2026
ai-agentsgoreactvueperformance

Works with

  • cli

Security analysis

A100/100

Scanned September 2, 2026

npx -y skills add majiayu000/claude-skill-registry --skill optimize-agent-browsing --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Optimize Agent Browsing?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Optimize Agent Browsing
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-optimize-agent-browsing/badge)](https://www.skillsdirectory.com/skills/majiayu000-optimize-agent-browsing)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: optimize-agent-browsing
description: Analyze an OpenClaw agent's browser usage and recommend browsy migration
---

# Optimize Agent Browsing

Analyze an OpenClaw agent's browser tool usage patterns and identify which calls can be migrated from Playwright/CDP to browsy for faster, lighter execution.

## Usage

```
/optimize-agent-browsing path/to/agent-config.yaml
```

## What it does

Reviews how an agent uses browser tools and produces a migration plan:

- **Usage audit** — scans agent configuration, tool definitions, and execution logs for browser-related tool calls (`browser`, `web_browser`, `playwright_browser`, `browse_web`)
- **Pattern classification** — categorizes each browser usage into one of five patterns:
  - **Simple navigation** (read-only page fetching) — direct browsy replacement
  - **Form interaction** (login, search, data entry) — browsy handles natively
  - **Data extraction** (tables, lists, structured content) — browsy `tables`/`find` tools
  - **JS-heavy SPA** (React/Vue rendering required) — keep Playwright
  - **Screenshot/visual** (pixel-level inspection needed) — keep Playwright
- **Tool mapping** — for each migratable call, provides the exact browsy tool equivalent
- **Performance estimate** — projects speed improvement (typically 10x) and memory savings (typically 60x) based on the migration ratio

## Workflow

1. Read agent configuration file and tool registrations
2. Scan for browser tool calls in agent code/prompts
3. Classify each call into the 5 patterns above
4. For migratable patterns, map to browsy equivalents:
   - `browser.navigate(url)` → `browsy_browse`
   - `browser.click(selector)` → `browsy_click` (by element ID instead of CSS selector)
   - `browser.type(selector, text)` → `browsy_type_text`
   - `browser.get_text(selector)` → `browsy_find`
   - `browser.screenshot()` → keep Playwright (browsy has no pixel rendering)
5. Generate migration checklist

## Example output

```
=== Agent Browser Usage Analysis ===

Agent: research-assistant
Browser tool calls found: 12

=== Classification ===

| # | Call                          | Pattern         | Migratable |
|---|-------------------------------|-----------------|------------|
| 1 | browser.navigate(url)         | Navigation      | YES        |
| 2 | browser.get_text("h1")        | Data extraction | YES        |
| 3 | browser.get_text(".results")  | Data extraction | YES        |
| 4 | browser.click(".next")        | Navigation      | YES        |
| 5 | browser.navigate(url)         | Navigation      | YES        |
| 6 | browser.get_table("table")    | Data extraction | YES        |
| 7 | browser.screenshot()          | Visual          | NO         |
| 8 | browser.navigate(url)         | Navigation      | YES        |
| 9 | browser.type("#search", q)    | Form input      | YES        |
|10 | browser.click("#submit")      | Form submit     | YES        |
|11 | browser.wait_for(".loaded")   | JS-heavy SPA    | NO         |
|12 | browser.navigate(url)         | Navigation      | YES        |

=== Summary ===

Migratable: 10/12 calls (83%)
Keep Playwright: 2/12 calls (screenshot, JS wait)

=== Estimated Impact ===

                   Before (Playwright)    After (browsy)
Avg page load:     2.8s                   0.3s
Memory per page:   ~300MB                 ~5MB
Total speedup:     ~10x for migratable calls

=== Migration Checklist ===

- [ ] Install openclaw-browsy plugin
- [ ] Set preferBrowsy: true in plugin config
- [ ] Replace browser.get_text() calls with browsy_find
- [ ] Replace browser.get_table() calls with browsy_tables
- [ ] Keep browser.screenshot() on Playwright (no browsy equivalent)
- [ ] Keep browser.wait_for() on Playwright (JS rendering needed)
- [ ] Test migrated flows with /test-browsy-flow
```

## Requirements

- Agent configuration file or source code accessible in the workspace
- `openclaw-browsy` plugin available for migration target

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…