inspecting-hermes-desktop-dom

Inspect the live Hermes desktop DOM and computed CSS over the Chrome DevTools Protocol.

6|Updated Jul 12, 2026
One-click install
npx skills add https://github.com/josoroma/AppLoop --skill inspecting-hermes-desktop-dom-josoroma
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: inspecting-hermes-desktop-dom
Source: https://github.com/josoroma/AppLoop/tree/main/.hermes/skills/software-development/inspecting-hermes-desktop-dom
Command: npx skills add https://github.com/josoroma/AppLoop --skill inspecting-hermes-desktop-dom-josoroma

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When developing the Hermes desktop app, guessing why a style did not apply or whether a UI change actually rendered leads to wasted edits. This Skill reads the live rendered DOM of the running Electron window — computed styles, winning CSS rules, geometry, and console output — so you answer factual UI questions with real data instead of inference. ## Core Features & Use Cases - Live DOM inspection via CDP: Connect to the dev server's Chrome DevTools Protocol port (127.0.0.1:9222) and evaluate expressions against the real renderer using apps/desktop/scripts/eval.mjs or the shared CDP client. - Winning-rule diagnosis: Determine which CSS rule actually won on a node, including inherited values and plugin stylesheet overrides (e.g. @tailwindcss/typography), before editing any call sites. - Stable selector hooks: Use the maintained SELECTORS map of data-slot attributes instead of inventing fragile query selectors. - Isolated probe instances: Launch a separate Electron instance with its own HERMES_HOME, --user-data-dir, and CDP port so you never disturb the user's running session. - Use Case: A user reports a link inside an assistant message has the wrong font weight. Connect over CDP, read the node's computed style and ancestor classes, discover the value is inherited from a prose a rule, and fix the shared class instead of sweeping every call site. ## Quick Start Ask the agent to check whether the Hermes desktop dev server exposes its CDP port and then read the computed style of a specific element in the running app.

Frequently Asked Questions about inspecting-hermes-desktop-dom

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

FAQPage Schema
How do I inspect the DOM of a running Electron app?▼

Electron dev-server runs expose a Chrome DevTools Protocol port on 127.0.0.1:9222. Verify it with curl against /json/version, then evaluate expressions in the renderer using the eval.mjs script or a CDP client with target matching.

How do I find which CSS rule is overriding my style?▼

Read the real node's computed style and ancestor classes over CDP instead of editing call sites. If the node carries no class of its own, the value is inherited, and a plugin stylesheet like @tailwindcss/typography may beat your utility class.

Can I inspect the app without disturbing the user's running session?▼

Yes. Launch an isolated Electron instance with a separate --user-data-dir, a throwaway HERMES_HOME, and a different HERMES_DESKTOP_CDP_PORT. This dodges the single-instance lock and keeps the probe away from real sessions.

Why is the CDP port not responding on 9222?▼

The port is closed for packaged builds and for unpackaged runs without HERMES_DESKTOP_DEV_SERVER. It can also be moved or disabled via HERMES_DESKTOP_CDP_PORT. Poll for a second or two after launch, since a fresh app needs time to bind.

When should I not use CDP DOM inspection?▼

Do not use it for performance profiling or heap analysis, which belong to debugger-oriented tooling. It also cannot judge aesthetics — CDP answers factual questions about computed values, not whether the result looks good.