browser

browser is a skill for Codex from code-yeongyu/lazycodex. It costs 94 tokens per session (2,071 once invoked), scanned A, original, MIT.

A browser-control skill for using a real browser, including pages that need JavaScript, existing sign-ins, forms, clicks, screenshots, and extension popups. It can pause for a person when login, CAPTCHA, or a one-time code is required.

In plain words
What is it for?
Use it for browser-based testing, web forms, screenshots, page checks, and other actions on interactive websites.
Why use it?
It handles websites that ordinary text requests or simple HTTP fetching cannot use, while keeping the user's browser session available.

Skill for Codex

Written for Codex: agents/openai.yaml present.

Good fit Use it for browser-based testing, web forms, screenshots, page checks, and other actions on interactive websites.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/code-yeongyu/lazycodex/browser
About the project

LazyCodex is an agent harness for working on complex codebases, combining project memory, planning, execution, and completion checks inside Codex. It is for developers who want structured, repeatable assistance when handling substantial software projects. The catalogue contains the skills, hook, and MCP integration that provide its workflow inside Codex.

code-yeongyu/lazycodex · 3,782 stars · on GitHub · lazycodex.ai

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add code-yeongyu/lazycodex --skill browser
Clone the repo
git clone --depth 1 https://github.com/code-yeongyu/lazycodex

Made for: Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for browser

README.md
[![agentmods](https://agentmods.dev/badge/skills/code-yeongyu/lazycodex/browser/github.svg)](https://agentmods.dev/skills/code-yeongyu/lazycodex/browser)
Your own site
<a href="https://agentmods.dev/skills/code-yeongyu/lazycodex/browser"><img src="https://agentmods.dev/badge/skills/code-yeongyu/lazycodex/browser/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for browser

Your own site · 80×15
<a href="https://agentmods.dev/skills/code-yeongyu/lazycodex/browser"><img src="https://agentmods.dev/badge/skills/code-yeongyu/lazycodex/browser.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 94 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,071 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00094 $0.02071
Opus 5.5 $0.00038 $0.00828
Sonnet 5.5 $0.00019 $0.00414
Haiku 4.5 $0.00009 $0.00207

Measured 4d ago against content hash 76d063d0a112, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

browser scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.

The scan reads SKILL.md. This mod also ships 6 executable files (runtime/omowright/index.js, runtime/omowright/page-bundle.js, scripts/browser-doctor.mjs, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

plugins/omo/skills/browser/SKILL.md · 134 lines

How it starts

The opening of the file, as written. The whole thing — 134 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Browser

One library, two engines. omowright ships inside this skill; choose the engine before you act:

You need Engine Entry point
A site the user is signed into, their open tabs, a form, a click-through, a screenshot, web QA, an extension popup attached — the user's own browser through BrowserSkill connectBrowserSkill()
A throwaway profile, bot-scoring evasion, a CAPTCHA, network interception, a QA flight trace, coordinate control, headless runs owned — a browser your code launches connectPipe() / connectCloakProfile() — references/owned-engine/README.md
A 403/WAF host the attached engine cannot open, a platform with a native reader, an archive snapshot neither the ultimate-browsing skill

Attached is the default, because it is the only engine carrying the user's logins and the only one where a human is a single call away. Never substitute one engine for the other silently: if the attached engine is not set up, run the onboarding script and tell the user its one remaining step.

Step 0 — which engine this session is allowed to use

When OMO_BROWSER_ENGINE is set (the OmO desktop app sets it for every session), it wins over the table above:

Value What you do
connected Use connectBrowserSkill() only. If the user's browser is not connected you get a "Connect your browser" error: relay it and stop. Never open another browser
builtin Do not call connectBrowserSkill(); use the app's in-app browser tools
none Do not do browser work. Say that agent browser access is off for this project
unset The table above, as before (terminal use)

While any engine is set, loadOmowright() returns a guarded library. The owned engine (connectPipe, connectCloakProfile, connect) and every other export that acts on a browser is refused, so the table above does not apply: do not look for a way around it, and tell the user what the session allows. Under connected the app sees what the browser is doing, and before a click, Enter or script that sends, posts, pays, orders, subscribes, deletes or closes an account, and before Enter in a message box, it asks the user first. A "No" fails the action with BrowserActionDeclinedError: report that, never retry it or go around it (session.tool() lets only reads through; evaluate is guarded too). If the user presses Stop, the next call throws BrowserUserStoppedError: tell the user browser use was stopped and start no new session this turn.

Read the full file on GitHub · 134 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 4d ago Changed 76d063d0a112
  2. 12d ago Changed · +24 lines 8ffc0504459d
  3. 21d ago Changed · +7 lines e93740ad39c8
  4. 22d ago Changed · +13 lines · +5 tokens per session 1ed587a58522
  5. 23d ago First seen · 90 lines · 89 tokens per session scan A 46b69edd166d

Subscribe to this mod's changes

browser is a skill published in the GitHub repository code-yeongyu/lazycodex (3,782 stars, last pushed 2d ago), licensed MIT. It adds 94 tokens to every session and 2,071 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-23.

Related

Other skills, from other repositories

computer-use

Drives the GUI of a visible local app window through orca computer: accessibility tree, clicks, typing, menus, dialogs, and screenshots in native apps and external browser windows (Chrome, Edge, Safari) or webviews. Prefer a programmatic path (shell, filesystem, git, HTTP, existing CLIs) whenever it can complete the…

stablyai/orca · 100 tokens

browser-use

Control the user's Chrome through the existing persistent Node REPL and the Qwen Browser SDK.

QwenLM/qwen-code · 21 tokens

opencli-browser

Use when an agent needs to drive a real Chrome window via opencli — inspect a page, fill forms, click through logged-in flows, or extract data ad-hoc. Covers the selector-first target contract, compound form fields, stale-ref handling, network capture, and the agent-native envelopes the CLI returns. Not for writing…

jackwener/OpenCLI · 80 tokens

opencli-autofix

Automatically fix broken OpenCLI adapters when commands fail. Load this skill when an opencli command fails — it guides you through collecting a trace artifact, patching the adapter, retrying, and filing an upstream GitHub issue after a verified fix. Works with any AI agent.

jackwener/OpenCLI · 61 tokens

playwright

Use when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) via playwright-cli or the bundled wrapper script.

XiaomiMiMo/MiMo-Code · 45 tokens

webapp-testing

Start/reuse a local app, wait for readiness, inspect rendered state/console/network, act from observed selectors, and verify with evidence.

Hmbown/CodeWhale · 32 tokens