inspecting-hermes-desktop-dom

inspecting-hermes-desktop-dom is a skill for Claude Code, Codex from aivrar/portable-hermes-agent. It costs 20 tokens per session (1,618 once invoked), scanned A, a copy of inspecting-hermes-desktop-dom, MIT.

A tool for reading the live HTML structure and CSS details of a running Hermes desktop app through Chrome DevTools Protocol, a browser debugging interface.

In plain words
What is it for?
Checking whether a UI change took effect, finding computed styles and layout measurements, identifying the winning CSS rule, locating selectors, and reading renderer console output.
Why use it?
It answers factual questions about what the app actually rendered, which can differ from what the source code appears to say. It helps locate the CSS rule or selector responsible for a result.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node scripts/eval.mjs "document.querySelectorAll('[data-slot]').length".

Good fit Checking whether a UI change took effect, finding computed styles and layout measurements, identifying the winning CSS rule, locating selectors, and reading renderer console output.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/aivrar/portable-hermes-agent
agentmods
npx agentmods add skills/aivrar/portable-hermes-agent/inspecting-hermes-desktop-dom

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for inspecting-hermes-desktop-dom

README.md
[![agentmods](https://agentmods.dev/badge/skills/aivrar/portable-hermes-agent/inspecting-hermes-desktop-dom/github.svg)](https://agentmods.dev/skills/aivrar/portable-hermes-agent/inspecting-hermes-desktop-dom)
Your own site
<a href="https://agentmods.dev/skills/aivrar/portable-hermes-agent/inspecting-hermes-desktop-dom"><img src="https://agentmods.dev/badge/skills/aivrar/portable-hermes-agent/inspecting-hermes-desktop-dom/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for inspecting-hermes-desktop-dom

Your own site · 80×15
<a href="https://agentmods.dev/skills/aivrar/portable-hermes-agent/inspecting-hermes-desktop-dom"><img src="https://agentmods.dev/badge/skills/aivrar/portable-hermes-agent/inspecting-hermes-desktop-dom.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 20 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,618 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin 100% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00020 $0.01618
Opus 5 $0.00010 $0.00809
Sonnet 5 $0.00004 $0.00324
Haiku 4.5 $0.00002 $0.00162

Measured 8d ago against content hash a78a5f8d277a, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

inspecting-hermes-desktop-dom scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 8d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s --max-time 3 http://127.0.0.1:${HERMES_DESKTOP_CDP_PORT:-9222}/json/version
Origin

This is a copy

100% identical to inspecting-hermes-desktop-dom — 0 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

skills/software-development/inspecting-hermes-desktop-dom/SKILL.md · 160 lines

How it starts

The opening of the file, as written. The whole thing — 160 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Inspecting the live Hermes desktop DOM

Overview

When you are developing apps/desktop and the user is running that same app (hgui / npm run dev), you can read the live rendered DOM of the window they are looking at — computed styles, geometry, which CSS rule actually won, console output — instead of inferring it from .tsx and being wrong.

Dev-server runs open a Chrome DevTools Protocol port on 127.0.0.1:9222 automatically. The renderer is a Chromium page, so everything DevTools can read, a script can read.

This does not replace looking at it. CDP answers factual questions ("what is the computed padding", "did this element render", "which selector matches"). It cannot tell you whether the result looks good. Colour balance, spacing feel, and "is this ugly" still need the user's eyes or a screenshot. Answer facts with CDP; hand aesthetics to the user.

When to Use

  • Verifying a UI change actually took effect in the running app
  • "Why is this element still X?" — find the winning rule before editing anything
  • Locating a stable selector for a component you're about to change
  • Checking a design token's computed value on a real node
  • Reading renderer console errors the user mentions but can't copy out

Don't use for: perf profiling or heap work (node-inspect-debugger, debugging-hermes-desktop), or anything where the real question is "does this look right".

The port

Open on 127.0.0.1:9222 for any dev-server run. Closed in exactly two cases (apps/desktop/electron/dev-cdp.ts):

  • packaged builds — always, and no environment value overrides it;
  • no HERMES_DESKTOP_DEV_SERVER — an unpackaged electron . against dist/ is how the packaged app gets smoke tested, so it behaves like one.

HERMES_DESKTOP_CDP_PORT moves the port (=9333) or disables it (=off).

Check before doing anything else:

curl -s --max-time 3 http://127.0.0.1:${HERMES_DESKTOP_CDP_PORT:-9222}/json/version

Empty → no port. Do not guess another port silently.

Read the full file on GitHub · 160 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 8d ago First seen · 160 lines · 20 tokens per session scan A a78a5f8d277a

Subscribe to this mod's changes

inspecting-hermes-desktop-dom is a skill published in the GitHub repository aivrar/portable-hermes-agent (218 stars, last pushed 3d ago), licensed MIT. It adds 20 tokens to every session and 1,618 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). It is 100% identical to inspecting-hermes-desktop-dom, differing in 0 lines, and is treated as a copy.