ov-hermes/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-hermes: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-hermes:hermes -- core agent (inherited)/ov-hermes: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-hermes:hermes -- full-featured standalone hermes (no browser, uses cross-container CDP)/ov-openclaw: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-build:image — image family umbrella (image: entries in overthink.yml, build/validate/inspect/list)/ov-build:build — build.yml vocabulary (distros, builders, init-systems)tools
Use when authoring or modifying a charly PLUGIN — a candy with a `plugin:` block that contributes Providers (verbs/kinds/deploy-targets/steps/builders/commands), its own CUE schema, builtin (compiled-in) or external (out-of-tree git repo). Covers the unified Provider model, the per-plugin CUE-schema contract (single source → Go params for dev + schema-over-Describe RPC for runtime), the SDK, and the loader.
tools
The CUE data-validation / configuration CLI (cue), pinned to v0.16.1. Use when working with the cue candy, installing the cue binary into a box or onto a target:local dev host, or running the offline schema-vendoring pipeline that feeds charly's egress validation.
tools
CUE EGRESS validation — validating (and, where it adds value, generating) the config files charly WRITES to a system BEFORE the bytes hit disk. MUST be invoked before working on charly/egress.go, the vendored schemas under candy/plugin-egress/egress-schemas/vendor/, the ValidateEgress / registerVendoredEgressKind path, the offline `task cue:vendor` pipeline, or adding an egress schema for any written artifact (cloud-init, k8s manifests, traefik routes, runtime config, install ledger, systemd/quadlet units, ssh_config, libvirt XML).
tools
Kubernetes cluster-probe declarative check verb — the `kube:` check verb (nodes, pods, ingress, storage class, addon health, apply/delete, and arbitrary resource GETs) served out-of-process by the candy/plugin-kube plugin (vendored client-go; no external kubectl required).