# Browser Core Efficient

Use when working in the embedded browser and you want the cheapest reliable interaction...

- Repository: https://github.com/holaboss-ai/holaOS (11451 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-10-28
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add holaboss-ai/holaOS --skill browser-core-efficient -g -a claude-code -y`
Codex: `npx skills add holaboss-ai/holaOS --skill browser-core-efficient -g -a codex -y`
Cursor: `npx skills add holaboss-ai/holaOS --skill browser-core-efficient -g -a cursor -y`
Gemini CLI: `npx skills add holaboss-ai/holaOS --skill browser-core-efficient -g -a gemini-cli -y`

## Description

Use when working in the embedded browser and you want the cheapest reliable interaction loop.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Browser Core Efficient

Use this skill when operating the workspace-embedded browser and efficiency matters.

## Goals
- reduce browser tool round trips
- reduce large state snapshots
- reduce unnecessary screenshots and page text reads
- prefer reliable one-call actions over browse-then-browse-again loops

## Default Loop
1. If the target is already known, use `browser_act` directly with locator signals.
2. If the target is semantically known but the page is large, use `browser_find`.
3. Use `browser_get_state` only for orientation or when the target is still unclear.
4. After page-changing actions, use `wait_for` on the action itself when possible.
5. Re-read state only if the action result is ambiguous.

## Tool Selection
- Prefer `browser_act` over index-based tools when text, label, role, selector, or ref can identify the target.
- Prefer `browser_find` before `browser_get_state` when you know what you want but not where it is.
- Use `browser_click` and `browser_type` only when you already have a stable index from a fresh state snapshot.
- Use `browser_select_tab` and `browser_close_tab` instead of spending extra calls re-orienting around tabs.
- Use `browser_wait` for explicit stabilization, especially for URL changes, DOM changes, and download completion.

## State Discipline
- Default to `browser_get_state` with compact detail.
- Do not request page text unless the task is primarily about reading content.
- Do not request screenshots unless DOM-first signals are insufficient.
- When a fact may live in custom-element attributes, `data-*` attributes, `href`s, or hydration data rather than visible text, inspect that targeted page-local DOM source before concluding the fact is unavailable.
- If a page change likely invalidated earlier refs or indexes, treat them as stale and re-locate the target.

The rest: https://github.com/holaboss-ai/holaOS/blob/HEAD/runtime/harnesses/src/embedded-skills/browser-core-efficient/SKILL.md
