CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

browser

Drives a real browser through the omowright library from the js eval kernel: sites the user is already signed into, forms and clicks, JS-rendered pages, screenshots, web QA, extension popups, a human handoff for login, CAPTCHA or OTP, and a browser you own for scraping, bot-scored targets, network capture and QA traces. Use for any interactive browser task; not for a plain search or an unblocked static fetch.

77

Quality

97%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

96%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

An exceptionally dense, actionable body: executable code for both engines, a doctor-driven validation loop with explicit state handling, a disciplined interaction loop with checklists, and safety rules with brief rationales. The only structural weakness is the owned-engine branch requiring two hops to reach ladder/network/frames content.

Suggestions

Add one-line pointers to references/owned-engine/ladder.md, network.md and frames-and-humans.md (or fold them into the 'Where the rest lives' table) so no content sits two hops from SKILL.md.

The Step 0 desktop section duplicates the engine-choice framing ('everything above works exactly as in the terminal... with the same table'); a single sentence plus the connectBuiltinBrowser block would trim it without losing information.

DimensionReasoningScore

Conciseness

Nearly every token is operational: engine-selection tables, doctor-state tables with next actions, and copy-paste code with inline comments. It never explains concepts Claude already knows (no 'what a browser is', no library intros); even rule rationales are one clause ("It is the user's real profile; clearing it logs them out everywhere"). This fits the 'lean and efficient; every token earns its place' anchor rather than the score-4 'minor instances of over-explanation'.

5 / 5

Actionability

Fully executable guidance throughout: the loadOmowright import, `node "<skill-root>/scripts/browser-doctor.mjs" --json`, a complete attached-session try/finally block (`connectBrowserSkill`, `bskSnapshot`, `click`, `fill`, `press`, `waitForNavigation`, `screenshot`, `stop`), the `connectBuiltinBrowser()` example, and `requestHelp({ prompt, targets, timeoutMs })`. Doctor states map directly to next actions. This matches the 'fully executable; copy-paste ready' anchor, not score 4's 'minor gaps'.

5 / 5

Workflow Clarity

The sequence is explicit (engine table → Step 1 doctor → the loop → handoff → stop) with real validation checkpoints and feedback loops: the doctor's state table ends in 'relay it verbatim, wait, re-run the doctor'; the numbered loop rules ('Read before every action', 'Navigation and large DOM changes stale every ref', 'Two identical failures mean change approach') act as a checklist; and `stop()` is mandated 'on success and on failure'. Error recovery paths (BuiltinBrowserUnavailableError codes, requestHelp outcomes) are enumerated. This is the score-5 anchor, above score 4's 'minor validation gaps'.

5 / 5

Progressive Disclosure

The body is a well-navigable overview with a clear 'Where the rest lives' table, and every referenced path (commands.md, install.md, remote.md, owned-engine/README.md, recipes/1password.md) plus all four scripts exist in the bundle. However, the owned-engine README is itself a hub linking three further files (ladder.md, network.md, frames-and-humans.md), making that branch a two-level reference chain, and it defers to an external authoritative skill. That is the 'good structure... minor organization gaps' of score 4 rather than the fully one-level-deep references of score 5.

4 / 5

Total

19

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

A model description: it enumerates concrete capabilities across both engines, uses natural trigger vocabulary with synonyms, answers what and when explicitly, and adds negative boundaries that prevent triggering for plain fetches or searches. Third person throughout with no padding.

DimensionReasoningScore

Specificity

The description lists many concrete, distinct actions — "sites the user is already signed into, forms and clicks, JS-rendered pages, screenshots, web QA, extension popups, a human handoff for login, CAPTCHA or OTP, and a browser you own for scraping, bot-scored targets, network capture and QA traces" — which is comprehensive, matching the anchor 'multiple specific concrete actions; comprehensive coverage'. It is above the score-4 anchor because coverage has no gaps across attached and owned engine use cases, and nothing is vague.

5 / 5

Completeness

Both halves are explicit: 'what' is the full action list after "Drives a real browser through the omowright library", and 'when' is a concrete trigger clause — "Use for any interactive browser task; not for a plain search or an unblocked static fetch" — which even adds negative boundaries. This is the score-5 anchor; score 4 would require the 'when' to be less explicit than it is.

5 / 5

Trigger Term Quality

Natural user phrasing is thorough and includes synonyms: "browser", "login"/"signed into", "forms", "screenshots", "CAPTCHA", "OTP", "scraping", "web QA", "network capture", "extension popups". This matches the 'comprehensive coverage of natural terms including synonyms' anchor; it is not score 4 because no common variation for interactive browser work is obviously missing.

5 / 5

Distinctiveness Conflict Risk

The niche (interactive browser automation) is distinct and the explicit negative triggers — "not for a plain search or an unblocked static fetch" — fence off plain fetch/search skills, and "any interactive browser task" claims exactly the right territory. Minimal conflict risk, matching the score-5 anchor rather than the 'minor overlap risk' of score 4.

5 / 5

Total

20

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

relative_links

Relative link issues: 3 deeper-than-1-level

Warning

referenced_paths_exist

Referenced path issues: 6 deeper-than-1-level

Warning

Total

14

/

16

Passed

Repository

code-yeongyu/lazycodex

Path

plugins/omo/skills/browser/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.