hive.browser-automation

Automates Chrome browser interactions via the hive-browser CLI over Chrome DevTools Protocol.

11.0k|5.7k|Updated Jan 12, 2026
One-click install
npx skills add https://github.com/aden-hive/hive --skill hive-browser-automation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hive.browser-automation
Source: https://github.com/aden-hive/hive/tree/main/core/framework/skills/_default_skills/browser-automation
Command: npx skills add https://github.com/aden-hive/hive --skill hive-browser-automation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Web automation agents often fail on modern sites because synthetic events, shadow DOM boundaries, and framework-controlled editors break naive click-and-type scripts. This Skill teaches agents how to drive the user's real Chrome browser through the hive-browser CLI and CDP, with proven workflows for shadow-DOM inputs, rich-text editors, and multi-profile sessions.

Core Features & Use Cases

  • Terminal-driven browser control: Every action runs as hive-browser <command> --json via terminal_exec, covering navigation, clicking, typing, scrolling, screenshots, and tab management against the user's live Chrome.
  • Shadow-DOM-safe interaction: Screenshot plus fractional viewport coordinates route clicks through Chrome's native hit testing, reaching inputs nested inside shadow roots that CSS selectors cannot see.
  • Rich-text editor handling: Click-before-type patterns and Input.insertText ensure React, Draft.js, Lexical, ProseMirror, and Monaco editors accept input and enable their submit buttons.
  • Use Case: An agent needs to post a comment on Reddit, where the search input lives three shadow roots deep. It screenshots the page, clicks by fractional coordinates, types without a selector, and verifies the submit button enabled before sending.

Quick Start

Ask the agent to open a website in Chrome with hive-browser, take a screenshot, click a target by coordinates, and type text into the focused field.

Frequently Asked Questions about hive.browser-automation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate Chrome browser actions from the terminal?

Run hive-browser commands with the --json flag through terminal_exec, such as hive-browser navigate, interact, and screenshot. The CLI drives the user's already-running Chrome via the Beeline extension and Chrome DevTools Protocol, so clicks and keystrokes use native hit testing and focus.

How do I click elements inside shadow DOM?

Take a hive-browser screenshot, estimate the target's fractional viewport position, and click with hive-browser interact --action left_click --coordinate x,y. CDP hit testing traverses open shadow roots natively, and hive-browser page shadow-query supports >>> shadow-piercing selectors when you know the structure.

Why does the send button stay disabled after typing into a text editor?

Frameworks like React, Draft.js, and Lexical bind submit buttons to internal state that only updates after real input events. Click the editor first with a real CDP click, then type using the default Input.insertText method, and verify the button's disabled or aria-disabled attribute before submitting.

Can I launch or restart Chrome when the browser connection fails?

No. The bridge attaches to the user's already-running Chrome, and launching or killing browser processes is forbidden and blocked. For timeouts, wait about 30 seconds and retry once with a smaller request, close your own tabs, or report the failure and continue with non-browser work.

How do I target a specific Chrome profile with multiple accounts?

Pass --browser-profile <label> to hive-browser open, navigate, or script commands. Discover connected profile labels from the connected_profiles list in hive-browser status --json, and verify each command's JSON output echoes the profile you intended.

What coordinate system does hive-browser use for clicks?

All coordinates are fractions of the viewport from 0 to 1 on both axes, not pixels. Read positions proportionally from a screenshot, and note that rect-returning commands like page shadow-query also return fractions ready to feed into --coordinate.