ov-images/skills/hermes-playwright/SKILL.md
Hermes AI agent image with Playwright Chromium browser for web automation. Builds on top of the headless hermes image, adding Chromium and system deps. MUST be invoked before building, deploying, configuring, or troubleshooting the hermes-playwright image.
npx skillsauth add overthinkos/overthink-plugins hermes-playwrightInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Hermes AI agent with Playwright Chromium — web scraping, browser automation, and all headless agent capabilities.
| Property | Value | |----------|-------| | Base | fedora | | Layers | agent-forwarding, hermes, hermes-playwright, dbus, ov | | Platforms | linux/amd64 | | Security | shm_size: 1g | | Registry | ghcr.io/overthinkos |
Builds on the base hermes layer (not the hermes image), adding Playwright Chromium:
fedora base + agent-forwarding + hermes + hermes-playwright + dbus + ovhermes-playwright -- Playwright npm package + Chromium Headless Shell + system depsov image build hermes-playwright
ov config hermes-playwright -e OLLAMA_API_KEY=your-key # or OPENROUTER_API_KEY
ov start hermes-playwright
The hermes entrypoint performs single-phase, first-start-only auto-configuration of LLM providers and MCP servers from env vars. See /ov-images:hermes for full provider configuration and MCP auto-discovery details.
ov shell hermes-playwright -c "NODE_PATH=~/.npm-global/lib/node_modules node -e \"
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title());
await browser.close();
})();
\""
ov shell hermes-playwright -c "npx playwright --version"
/ov-layers:hermes -- core agent (inherited)/ov-layers:hermes-playwright -- Playwright + Chromium + system depsPlaywright's --with-deps flag does not support Fedora (falls back to Ubuntu's apt-get). The hermes-playwright layer works around this by:
layer.ymlnpx playwright install chromium in tasks:The PLAYWRIGHT_BROWSERS_PATH=/tmp/.cache/ms-playwright env var is set automatically.
/ov-images:hermes -- full-featured standalone hermes (no browser, uses cross-container CDP)/ov-images:openclaw-sway-browser -- alternative: OpenClaw with full desktop + ChromeAfter ov start:
ov status hermes-playwright # container running
ov service status hermes-playwright # all services RUNNING
ov shell hermes-playwright -c "hermes --version"
ov shell hermes-playwright -c "npx playwright --version"
# Full browser launch test:
ov shell hermes-playwright -c "NODE_PATH=~/.npm-global/lib/node_modules node -e \"
const { chromium } = require('playwright');
(async () => {
const b = await chromium.launch({ headless: true });
const p = await b.newPage();
await p.goto('https://example.com');
console.log('Title:', await p.title());
await b.close();
console.log('OK');
})();
\""
MUST be invoked when the task involves the hermes-playwright image, Hermes Agent with browser automation, or deploying hermes with Playwright. Invoke this skill BEFORE reading source code or launching Explore agents.
/ov:image — image family umbrella (image: entries in overthink.yml, build/validate/inspect/list)/ov:build — build.yml vocabulary (distros, builders, init-systems)development
Claude Code multi-agent support in Overthink — sub-agents, dynamic workflows, and agent teams, and how each drives the existing `ov eval` disposable beds to test and verify. MUST be invoked before authoring or invoking an ov sub-agent / dynamic workflow / agent team, wiring agent-lifecycle hooks, or asking "which primitive should drive the R10 beds?".
tools
Mounts a virtiofs share tagged `workspace` at /workspace inside a VM guest via a systemd .mount unit. Use when a kind:vm entity shares a host directory into the guest and you need it auto-mounted (and re-mounted at every boot).
development
MUST be invoked before any work involving: the `kind: android` schema kind, a `target: android` deploy, the `apk:` layer package format (installing Android apps declaratively), AndroidDeployTarget, an in-pod emulator OR a remote/physical adb-endpoint device, or nested `pod → android` deployment. The first-class Android device + app surface that sits above `ov eval adb`/`appium`.
tools
Use when committing, branching, pushing, merging, tagging, creating PRs, or approving/merging PRs with gh — the feat/-branch, R10-gated, never-force-push landing workflow across the main repo + the plugins submodule + image/<distro> submodules. Covers sync-to-upstream, branch/worktree pruning, the fork+PR path for contributors without write access, and cross-repo @github landing order.