inspecting-hermes-desktop-dom

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

Updated Aug 19, 2026
One-click install
npx skills add https://github.com/jakubbartnik/honey-barrel-finale --skill inspecting-hermes-desktop-dom-jakubbartnik
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: inspecting-hermes-desktop-dom
Source: https://github.com/jakubbartnik/honey-barrel-finale/tree/main/honey-barrel-finale/workspace/hermes/skills/software-development/inspecting-hermes-desktop-dom
Command: npx skills add https://github.com/jakubbartnik/honey-barrel-finale --skill inspecting-hermes-desktop-dom-jakubbartnik

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When developing the Hermes Electron desktop app, guessing why a style did not apply or whether a UI change took effect wastes time. This Skill reads the live rendered DOM of the running app over the Chrome DevTools Protocol, answering factual questions about computed styles, winning CSS rules, element geometry, and renderer console output. ## Core Features & Use Cases - Live DOM Inspection: Connect to the CDP port on 127.0.0.1:9222 and evaluate JavaScript against the real renderer to read computed styles, class inheritance, and element presence. - Winning-Rule Diagnosis: Walk a node's class chain and ancestors to determine whether a value is inherited or set by a plugin stylesheet, so you fix the right rule instead of sweeping call sites. - Isolated Probe Instance: Launch a separate Electron instance with its own user-data dir, HERMES_HOME, and CDP port so you never disturb the user's running session. - Use Case: A link inside an assistant message renders with the wrong font weight. Use the shared CDP client to read the node's computed style and ancestor classes, discover that @tailwindcss/typography's prose rule beats the utility class, and override it on the shared class. ## Quick Start Ask the agent to check the computed style of a specific element in the running Hermes desktop app using the CDP port on 127.0.0.1:9222.

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 JavaScript in the renderer using the eval.mjs script or the shared CDP client in scripts/perf/lib/cdp.mjs.

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

Read the real node's computed style and walk its ancestor classes via CDP evaluation. If the node carries no class of its own, the value is inherited, and a plugin stylesheet like @tailwindcss/typography's prose rules may beat your utility class.

Why is the CDP port not responding on 127.0.0.1:9222?▼

The port is closed for packaged builds and for unpackaged runs without HERMES_DESKTOP_DEV_SERVER. It can also be moved with HERMES_DESKTOP_CDP_PORT or disabled with the value off, so check that environment variable before assuming the port exists.

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

Yes. Launch your own Electron instance with a separate --user-data-dir, a throwaway HERMES_HOME, and a different HERMES_DESKTOP_CDP_PORT such as 9333. This avoids the single-instance lock and keeps the probe away from real sessions.

What are the limitations of CDP-based DOM inspection?▼

CDP answers factual questions like computed values and element presence, but cannot judge aesthetics such as color balance or spacing feel. It is also not suited for performance profiling or heap analysis, which need dedicated debugging tools.