browser_session
Skill9 starsChanged 6 months agoApache-2.0View on GitHub
Multi-step browser automation via browser-use — the open-source framework for autonomous browser navigation (91K+ stars, MIT). Use INSTEAD of `web` when the task spans more than a single page fetch:
- Reads credentials
- Installs packages
In this repository22 other files it gives its agents.
- app_open_cleanSkill
- cerebellumSkill
- git_commitSkill
- imsg_sendSkill
- learnSkill
- locationSkill
- mail_draftSkill
- music_pauseSkill
- music_playSkill
- notes_attach_imageSkill
- notes_checklistSkill
- notes_export_pdfSkill
- notes_formatSkill
- notes_move_to_folderSkill
- notes_pinSkill
- notes_tableSkill
- sttSkill
- summarizeSkill
- translateSkill
- ttsSkill
- weatherSkill
- webSkill
The file
We split this skill into the rules it gives an agent
1 rule. About 0 are common, 0 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈0
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 126
If browser-use ships a new version, we re-run setup.sh — the SKILL.md interface stays the same.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
browser_session — multi-step browser automation
A web claw on steroids. While web is a one-shot Playwright
wrapper good for "fetch this page and read it", browser_session
hands the entire interaction loop to browser-use
— a framework that keeps a persistent browser, decorates the DOM
with numbered element IDs, and has its own LLM-driven planning loop
to execute multi-step tasks.
When to use which
| Need | Tool | Why |
| Read one page's content | web | Cheap (~3s cold start), trivial |
| Run one JS expression | web | Same |
| Take one screenshot | web | Same |
| Click + type once | web | Same — click= + type_text= |
| Login + then do stuff | browser_session | Persistent session |
| 5+ page navigation | browser_session | No cold-start per step |
| Form + multi-page wizard | browser_session | Framework handles state |
| Anything where a CSS selector won't survive | browser_session | Element-index targeting |
Why a super-skill
browser_session is the first member of LocalKin's super-skill
pattern: skills that wrap a battle-tested third-party OSS framework
(here, browser-use's 91K-star codebase) inside a thin SKILL.md
adapter. The kinclaw kernel doesn't care that there's an entire
LLM-driven planning agent inside; it just sees one tool call going
in, one result coming out.
This is "thin soul, fat skill" pushed to its useful extreme:
- We don't reinvent browser-use. We host it.
- Other LocalKin souls (researcher / marketer / curator) can also
enable
browser_sessionand get the same capability. - If browser-use ships a new version, we re-run
setup.sh— the SKILL.md interface stays the same.
Setup details
./setup.sh:
- Picks a Python ≥3.11 (homebrew, pyenv, or system) — browser-use doesn't support 3.10
- Creates
./.venv/(per-skill venv, isolated) pip install browser-use playwrightplaywright install chromium(~92 MB Chrome Headless Shell)- Verifies the imports work
The venv lives in ./.venv/. Add .venv/ to .gitignore so the
~500 MB of dependencies don't get committed.
LLM selection
The framework drives a real LLM internally. Pick one with vision support — browser-use feeds screenshots to the LLM for visual reasoning. Recommended (in descending preference):
claude-sonnet-4.5viaANTHROPIC_API_KEY— current SOTA for browser-use's WebVoyager benchmarkgpt-4oviaOPENAI_API_KEY— second-best, cheaper- Local Ollama with a vision model (e.g.
qwen2.5-vl:7b) viaOLLAMA_BASE_URL=http://localhost:11434— free but ~3-5x slower per step; good for long batch runs you don't want to pay for
Set BROWSER_USE_MODEL=<name> to override the default for the
selected provider.
Returns
stdout: the agent's final answer (a string — could be markdown if the task asked for structured output).
stderr: errors, warnings, the playwright/chromium boot noise.
Non-zero exit: agent failed or reported errors. The kernel will surface this as a tool error to the calling soul.
Costs
A typical 5-step task with Claude Sonnet:
- ~30-60 seconds wall-clock
- ~$0.05-0.15 in API tokens (browser-use sends DOM + screenshot at every step)
For dev/test use the local Ollama path; for production runs use Anthropic.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

