inspecting-hermes-desktop-dom

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

Updated Sep 20, 2026
One-click install
npx skills add https://github.com/GreenyZA/neo-light --skill inspecting-hermes-desktop-dom-greenyza
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: inspecting-hermes-desktop-dom
Source: https://github.com/GreenyZA/neo-light/tree/main/.hermes-home/skills/software-development/inspecting-hermes-desktop-dom
Command: npx skills add https://github.com/GreenyZA/neo-light --skill inspecting-hermes-desktop-dom-greenyza

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When developing the Hermes desktop app, inferring UI behavior from .tsx source files often leads to wrong conclusions about what actually rendered. This Skill lets you read the live DOM of the running Electron window — computed styles, geometry, winning CSS rules, and console output — so you verify facts instead of guessing. ## Core Features & Use Cases - Live DOM inspection via CDP: Connect to the dev server's Chrome DevTools Protocol port on 127.0.0.1:9222 and evaluate JavaScript against the real rendered page. - Winning-rule diagnosis: Determine which CSS rule actually applied to an element, including inherited values and plugin stylesheet overrides, before editing call sites. - Isolated probe instances: Launch a separate Electron instance with its own HERMES_HOME, user-data-dir, and CDP port so the user's running app is never disturbed. - Use Case: A style change "isn't applying" to assistant message links. Use the shared CDP client to read the node's computed font-weight and ancestor classes, discover that @tailwindcss/typography's prose rule beats the utility class, and override the shared class instead of sweeping every usage. ## Quick Start Ask the agent to check the CDP port and evaluate a small JSON projection against the running Hermes desktop window, such as reading a design token's computed value on a real node.

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 to /json/version, then evaluate JavaScript against the renderer page using a CDP client or the provided eval.mjs one-liner script.

How to find which CSS rule is styling an element?▼

Read the real node over CDP and inspect its className, computed style, and ancestor classes. If the node carries no class of its own, the value is inherited, so you must override the ancestor or plugin stylesheet rule rather than editing each call site.

Can I use CDP inspection without disturbing the user's running app?▼

Yes. Launch an isolated Electron instance with a separate --user-data-dir to dodge the single-instance lock, a throwaway HERMES_HOME, and a different HERMES_DESKTOP_CDP_PORT such as 9333. Never relaunch or kill the user's app to obtain a port.

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 set. A just-launched app also needs a second or two before the port answers, so poll rather than probing once, and never guess another port silently.

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

CDP answers factual questions like computed padding or whether an element rendered, but cannot judge aesthetics such as color balance or spacing feel. It is also unsuited for perf profiling or heap work, which require dedicated debugging tools.