Control Browser
zai-org/ZCode
A skill your agent uses when opening, navigating, inspecting, testing, clicking, typing, filling, screenshotting, or verifying web pages and local HTTP targets (localhost, 127.0.0.1, ::1) inside…
Browser inspection and interaction for verifying rendered web UI during development.
$ npx skills add ntorga/agent-starter-kit --skill browser-inspect -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ntorga/agent-starter-kit browser-inspect --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ntorga/agent-starter-kit.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/browser-inspect .claude/skills/browser-inspect && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "browser-inspect" agent skill from https://github.com/ntorga/agent-starter-kit/tree/main/skills/browser-inspect into .claude/skills/browser-inspect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-inspect", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ntorga/agent-starter-kit/tree/main/skills/browser-inspectType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ntorga/agent-starter-kit --skill browser-inspect -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ntorga/agent-starter-kit browser-inspect --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ntorga/agent-starter-kit.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/browser-inspect .agents/skills/browser-inspect && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "browser-inspect" agent skill from https://github.com/ntorga/agent-starter-kit/tree/main/skills/browser-inspect into .agents/skills/browser-inspect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-inspect", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ntorga/agent-starter-kit --skill browser-inspect -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ntorga/agent-starter-kit browser-inspect --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ntorga/agent-starter-kit.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/browser-inspect .cursor/skills/browser-inspect && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "browser-inspect" agent skill from https://github.com/ntorga/agent-starter-kit/tree/main/skills/browser-inspect into .cursor/skills/browser-inspect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-inspect", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ntorga/agent-starter-kit.git --path skills/browser-inspect--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ntorga/agent-starter-kit --skill browser-inspect -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ntorga/agent-starter-kit browser-inspect --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ntorga/agent-starter-kit.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/browser-inspect .gemini/skills/browser-inspect && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "browser-inspect" agent skill from https://github.com/ntorga/agent-starter-kit/tree/main/skills/browser-inspect into .gemini/skills/browser-inspect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-inspect", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ntorga/agent-starter-kit browser-inspectInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ntorga/agent-starter-kit --skill browser-inspect -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ntorga/agent-starter-kit.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/browser-inspect .github/skills/browser-inspect && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "browser-inspect" agent skill from https://github.com/ntorga/agent-starter-kit/tree/main/skills/browser-inspect into .github/skills/browser-inspect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-inspect", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ntorga/agent-starter-kit --skill browser-inspect -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ntorga/agent-starter-kit browser-inspect --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ntorga/agent-starter-kit.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/browser-inspect .opencode/skills/browser-inspect && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "browser-inspect" agent skill from https://github.com/ntorga/agent-starter-kit/tree/main/skills/browser-inspect into .opencode/skills/browser-inspect/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "browser-inspect", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
browser-inspectBrowser inspection and interaction for verifying rendered web UI during development.
Browser Inspect is an agent skill from ntorga/agent-starter-kit. Browser inspection and interaction for verifying rendered web UI during development.
Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Productivity & Automation, covering Frontend development and Browser automation. It works with Model Context Protocol and Chrome DevTools. The repository describes itself as: The scaffold for your multi-model, personalized Natural Language AI Harness (NLAH) . The licence is MIT.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 851e942. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
npmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Browser Inspect loads about 2k tokens when it runs. Until then it costs about 25 tokens; SKILL.md has 861 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ntorga/agent-starter-kit at commit 851e942, republished under its MIT licence (© ntorga). 861 words, ~2,048 tokens.
.claude/skills/browser-inspect/SKILL.md (or your agent's skills folder).An agent editing UI code cannot confirm that the result is correct by reading source files alone. CSS can be purged or overridden, client-side JS only runs in the browser, and server-rendered markup may differ from what the template suggests. Without looking at the live page, an agent is guessing. This skill codifies how to inspect, interact with, and verify rendered web UI using two complementary tools that serve different purposes.
Two tools exist for browser work. They are not interchangeable — the distinction is which browser instance you connect to.
agent-browser is a free CLI tool — harness-agnostic, works everywhere, no API key:
npm install -g agent-browser
agent-browser install # downloads Chrome for Testing (first time only)Verify it before use: run command -v agent-browser. If it is missing, show the user the two install commands above and stop. Installing a global npm package and downloading a browser are system changes — the user runs them or explicitly approves them first. Once installed, continue.
Always use --engine chrome. Lightpanda has no rendering engine and cannot display visual output.
Chrome DevTools MCP is an MCP server — requires registration in the harness's MCP config. If the MCP server is not available, ask the user to add it to opencode.json (project) or ~/.config/opencode/opencode.json (global):
{
"mcp": {
"chrome-devtools": {
"type": "local",
"command": ["npx", "-y", "chrome-devtools-mcp@latest"]
}
}
}The harness must be restarted after adding the config. The MCP server starts Chrome automatically on first tool use.
When to use which:
Default to agent-browser for autonomous work. Switch to Chrome DevTools MCP when the user asks you to inspect something they're already looking at, or when reproducing the bug requires state that's hard to reconstruct.
After every UI change, run this cycle:
localhost:<port>.Never assume a component is correct without looking at it in the browser.
CSS. Check whether classes are actually applied to rendered elements:
agent-browser get styles "h1"
agent-browser get styles "@e3" # use refs from a prior snapshotDiagnose: missing classes (purged or misspelled), specificity conflicts, responsive breakpoint issues, or dynamic classes that weren't generated.
Console errors. After any UI change, always check for runtime errors:
agent-browser console # view console logs
agent-browser errors # view page errors onlyNetwork traffic. When the UI makes server requests, inspect them:
agent-browser network requests # list captured requestsDOM state. Evaluate client-side state via JS when the framework exposes it:
agent-browser eval "document.title"
agent-browser eval "document.querySelectorAll('.my-class').length"Core workflow: snapshot, ref, interact. Always follow this sequence:
# 1. Navigate to the page
agent-browser open http://localhost:3000/page
# 2. Get the accessibility snapshot with interactive element refs
agent-browser snapshot -i
# 3. Interact using stable refs (@e1, @e2, etc.)
agent-browser click @e3
# 4. Re-snapshot after any state change
agent-browser snapshot -i
# 5. Capture an annotated screenshot
agent-browser screenshot --annotate /tmp/component-state.pngRefs are scoped to the current snapshot. After any navigation, client-side state change, or DOM update, take a new snapshot before using refs. Never reuse refs across page states.
Forms. Fill fields and trigger blur/validation:
agent-browser snapshot -i
agent-browser fill @e2 "test value"
agent-browser press Tab # trigger blur/validation events
agent-browser snapshot -i
agent-browser screenshot --annotate /tmp/input-filled.pngDropdowns and modals. Hidden content (via display: none, visibility: hidden, or conditional rendering) won't appear until triggered. Click the trigger first, then re-snapshot to get refs for the now-visible elements:
agent-browser click @e4 # open dropdown/modal
agent-browser snapshot -i # get refs for visible content
agent-browser click @e7 # select an option
agent-browser snapshot -i # verify state updatedWaiting for async operations. After triggering a server request or animation, wait before re-snapshotting:
agent-browser click @e5 # trigger a request
agent-browser wait networkidle # wait for network to settle
agent-browser snapshot -i
agent-browser screenshot --annotate /tmp/result.pngResponsive testing. Compare viewport sizes to verify responsive behavior:
agent-browser set viewport 375 812
agent-browser screenshot --annotate /tmp/mobile.png
agent-browser set viewport 1280 800
agent-browser screenshot --annotate /tmp/desktop.pngReading screenshots. After taking an annotated screenshot, always read the file to close the loop. The annotation overlay shows element refs on top of the rendered page — both visual layout and interactive targets are visible together.
When using Chrome DevTools MCP (attached to the user's live browser), the MCP tools provide direct access to CSS, console, network, and DOM state without navigation — you're already on the page the user is looking at.
Use it for: checking computed styles on an element the user is pointing out, reading console errors from a sequence they just triggered, evaluating Alpine/React/Vue state in the live session, or inspecting network responses from an interaction they just performed.
The MCP tools return structured CDP responses. There is no snapshot/ref workflow — you identify elements by CSS selector or coordinate, same as you would in DevTools.
© ntorga, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/browser-inspect of ntorga/agent-starter-kit.
Open the folder on GitHubat commit 851e942
Browser Inspect next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Browser Inspect this skillntorga/agent-starter-kit | 146 | — | ~2k | Automated safety check: Pass | MIT | |
| Control Browserzai-org/ZCode | 7.5k | — | ~4.6k | Automated safety check: Pass | Apache-2.0 | |
| Browseragutinbaigo28/financial-agent-api | 128 | 1 repos | ~480 | Automated safety check: Pass | None | |
| Electron Devtools Testingankitvgupta/exo | 496 | — | ~2.4k | Automated safety check: Pass | Custom licence | |
| Browser NavigationFactory-AI/factory-plugins | 110 | — | ~2.7k | Automated safety check: Pass | None | |
| Browser UseQwenLM/qwen-code-examples | 143 | — | ~451 | Automated safety check: Pass | None |
zai-org/ZCode
A skill your agent uses when opening, navigating, inspecting, testing, clicking, typing, filling, screenshotting, or verifying web pages and local HTTP targets (localhost, 127.0.0.1, ::1) inside…
agutinbaigo28/financial-agent-api
This skill should be used for browser automation tasks using Chrome DevTools Protocol (CDP).
ankitvgupta/exo
Test the Electron app interactively using Chrome DevTools Protocol.
Factory-AI/factory-plugins
Automate browser interactions for web testing, form filling, screenshots, and data extraction.
QwenLM/qwen-code-examples
Control browser pages using the Playwright MCP server. An agent skill from QwenLM/qwen-code-examples.
adobe/skills
Connect Claude Code to an existing Chrome browser via CDP (Chrome DevTools Protocol).
ntorga/agent-starter-kit
Deterministic self-evaluation rubric for decision escalations — scored every run using the FRAME framework.
ntorga/agent-starter-kit
Long-term and session memory across sessions. An agent skill from ntorga/agent-starter-kit.
ntorga/agent-starter-kit
Builds the design tree for the grill — decisions mapped as nodes with dependencies, recommendations, and impact, pruned by path.
ntorga/agent-starter-kit
Grounds the grill's settled decisions in the codebase — annotates impl.md with file paths, signatures, reference files, test specs, and LOC; re-grounds the next epic after each landing.
ntorga/agent-starter-kit
Session startup — gitignore, auto-update, memory, rules, context, CLI config, and greet.
ntorga/agent-starter-kit
Reviews code and plans for logic coherence, correctness, and structural integrity.
Works with
Browser inspection and interaction for verifying rendered web UI during development. Browser Inspect is an agent skill from ntorga/agent-starter-kit. Browser inspection and interaction for verifying rendered web UI during development.
Browser Inspect fits situations like: tasks that involve Frontend development; tasks that involve Browser automation.
Run `npx skills add ntorga/agent-starter-kit --skill browser-inspect -a claude-code`. Or copy the skill folder (skills/browser-inspect in ntorga/agent-starter-kit) into .claude/skills/browser-inspect in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ntorga/agent-starter-kit --skill browser-inspect -a codex`. Or copy the skill folder (skills/browser-inspect in ntorga/agent-starter-kit) into .agents/skills/browser-inspect in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ntorga/agent-starter-kit --skill browser-inspect -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/browser-inspect, .gemini/skills/browser-inspect, .github/skills/browser-inspect and .opencode/skills/browser-inspect in your project.
Going by SKILL.md and its folder, Browser Inspect needs the command-line tools its instructions call (npm). Our summary lists: Node.js.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Browser Inspect is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Browser Inspect: Control Browser (zai-org/ZCode, 7.5k stars), Browser (agutinbaigo28/financial-agent-api, 128 stars), Electron Devtools Testing (ankitvgupta/exo, 496 stars) and Browser Navigation (Factory-AI/factory-plugins, 110 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ntorga (a GitHub user) maintains it in ntorga/agent-starter-kit, which has 146 GitHub stars. The repository holds 21 skills in this directory. The repository was last updated on September 12, 2026.
Source: ntorga/agent-starter-kit on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.