Adom Hydrogen (platform base)
Public Made by Adomby adom
Layer Hydrogen's workspace onto a standard Adom workstation.
Skills
The skills this repo ships, by tier, each with a quick health read. Install the user skills with:
adom-wiki skills install adom/hydrogen-bootstrapAdom auth in Hydrogen — how login/logout works (auth intent flow), where the session token lives, the profile menu, and how the Adom session feeds the setup steps. For Claude Code auth specifically, see hydrogen-claude-auth. READ when troubleshooting Adom login failures, session token expiry, the profile dropdown, or virgin-reset Adom-auth options. Trigger words — adom login, login, logout, auth, session token, auth intent, confirmation code, profile menu, avatar, sign in, sign out, auth proxy, clear session, Hydrogen adom login, Your profile, Your repositories.
Triage Adom Bridge (ab) when it will not connect from a Hydrogen workspace — especially the case where ab CRASHES ON BOOT because a bad release shipped, which looks identical to "not installed" / "not signed in" from the container side. Teaches the cheapest-first diagnostic ladder (read ab's crash.log BEFORE touching any config), the two out-of-band channels that work while ab is dead (Hydrogen's control API and WSL2 interop), how to compare the installed build against the wiki and install the fix, and the config changes you must NOT make while guessing. Read this when `adom-bridge ping` says no desktop client is connected, when the user says the app "never actually starts", when it starts and vanishes, or when hydrogen-doctor's adom-bridge / adom-bridge-direct check fails. Trigger words: adom bridge won't start, ab won't connect, bridge not connected, no desktop client connected, ab never starts, ab starts then disappears, bridge offline, ab crash loop, ab crashing on boot, bad ab release, connectedClients 0, adom-bridge-direct failed, bridge keeps dying, ab tray missing.
What Hydrogen (ah) and Adom Bridge (ab) are, what each does, and how they work together — so the AI in the workspace knows it has HANDS on the user's real operating system. Hydrogen is the workspace app the user looks at; ab is the bridge that reaches the user's actual Windows machine (macOS/Linux coming soon) to create files & folders, run shell commands, take OS screenshots, launch apps, open browsers (Pup / native), and drive KiCad / Fusion 360. Hydrogen bundles ab during install and runs it in embedded mode, but ab is a standalone product that ALSO connects Adom cloud containers to a user's machine. Hydrogen also has a BUILT-IN desktop bridge of its own that serves a subset of ab's verbs. READ THIS to understand your reach beyond the workspace and how to invoke it. Trigger words — adom desktop, ab, ab cli, what can you do on my computer, reach my machine, create a file on my pc, make a folder on my desktop, run a command on my machine, control the host, host screenshot, screenshot my screen, os screenshot, open a file on my computer, control my desktop, bridge to my pc, send file to my desktop, pull file from my desktop, ah and ab, two apps, how do ah and ab work together, talk to hydrogen desktop, desktop bridge, relay, embedded mode, ab hidden, hd_status, hd_api, shell_execute, adom-bridge ping, adom-bridge status.
The Adom menu — the logo dropdown in the UPPER-LEFT corner of Hydrogen (click the teal Adom logo). It is the hub for app-level actions: Go to Dashboard, Settings, Ports, API Explorer, and a Desktop section (Adom Bridge, Zoom, Fullscreen, Console, Developer Tools, Dev Toolbar), a Container section (Start/Restart/Stop), and an Admin section (Setup Steps, Virgin Reset). Also covers the window TITLE BAR version readout and the About dialog (version/sha/build/signed + Adom Bridge version + wiki/repo links). Use when the user asks "what's in the Adom menu", "where's settings/devtools/about", "what version am I running", or about any upper-left menu item. NOTE: this is the upper-LEFT logo menu — the upper-RIGHT avatar dropdown is hydrogen-profile-menu. Trigger words: adom menu, logo menu, upper left menu, hamburger menu, settings, ports, api explorer, developer tools, devtools, dev toolbar, adom bridge, about, about dialog, what version, build info, setup steps menu, virgin reset menu, console, fullscreen, zoom.
The design of Hydrogen's AI agent support for developers working on hydrogen-desktop, adom-vscode, hydrogen-bootstrap or the golden image. What is baked into the golden image versus installed by the user, why the CLI must be the extension's own binary (no duplicates), how each AI's sign-in is detected (the auth oracles), how sign-in is driven for the user (pty login, device codes, paste-back, the extension panel), how the VS Code toolbar decides to show an AI's button, and how the Manage AIs dialog stays in sync with the container. READ before touching agent_harness.rs, PanelAiAccounts.svelte, adom-vscode's ai-titlebar.js or the AI sections of hydrogen-bootstrap and bake-in-distro.sh. Trigger words: agent_harness, agent harness, Provider struct, auth oracle, oracle_cmd, agent-bar.json, ai-titlebar, PanelAiAccounts, manage ais dialog, /agents/facts, no duplicates policy, golden image ai, claude wrapper, codex wrapper, DISABLE_AUTOUPDATER, kimi region, antigravity oauth token, ext_separate_signin, shared_auth.
Install, sign in, sign out and check any AI in a Hydrogen workspace (Claude Code, Codex, Kimi Code, Antigravity) from inside an AI session, through Hydrogen's /agents API, without hand-running installers. READ when the user says "install antigravity", "install kimi", "sign in to codex", "sign in to kimi", "is claude signed in", "sign out of antigravity", "add an AI", "manage AIs", "open the AI panel", or asks why an AI button is missing from the VS Code toolbar. Trigger words: install antigravity, install kimi, install codex, sign in antigravity, sign in kimi, kimi login, agy login, codex login, claude login, which AIs are signed in, manage ais, add an ai, ai toolbar button missing, agents catalog, /agents/install, /agents/login, agent-bar.json.
Annotate in Hydrogen Desktop: the pencil in the Title Bar (left of the bell) that lets the human draw on the whole Hydrogen window (a red circle, an arrow, a box, a text note, or a plain snip) and puts the marked-up area on the clipboard as a PNG, ready to paste into an AI thread. Covers the tools, Auto versus Multi capture, the keys, what the AI can do (POST /annotate opens the overlay for the human; the AI itself takes screenshots with POST /screenshot, not with annotate), and how to read what the user pasted. Trigger words: annotate, annotation, draw on the screen, red circle, circle it, mark it up, markup, pencil icon, pencil in the title bar, snip, snip a region, paste a screenshot into the chat, /annotate, annotate overlay, arrow on the screenshot, box on the screenshot.
Complete reference for Hydrogen control API endpoints. The control API runs on a dynamic port (find it in the Hydrogen log or via port discovery). Use these endpoints to drive Hydrogen programmatically: manage the workspace (the WSL2 `Adom-Workspace` distro), control Claude Code, manipulate VS Code, manage workspace tabs, run setup steps, trigger virgin reset, and more. The COMPLETE, always-current catalog is GET /_manifest (every route with a category + description; curated entries are richer). The API Explorer window (Adom menu > API Explorer, or POST /api-explorer/open) renders it with a runnable Try per endpoint. GET /test/help lists the gated /test/* diagnostics. NEVER blind-call destructive endpoints (see the Safety section). Trigger words: Hydrogen API, control API, Hydrogen endpoint, container exec, claude api, iframe eval, workspace tabs, setup run-all, workspace status, reload vscode, browser profiles, open url, virgin reset api, reboot api, diagnostics, ad health, test window-tree, ai cursor, setup panel, screenshot mode.
Generate or change the user's Adom avatar (profile picture), and make Hydrogen show the new one immediately. Use when the user says "generate a new avatar for me", "change my avatar", "make me a profile picture", "update my profile photo", "set my avatar to this image", "reset my avatar", or hands you an image. The headline flow is GENERATE: research who they actually are, propose a design, author it as an SVG, render, upload, and offer to archive the vector on a wiki page so future sizes come from a perfect source. Trigger words: avatar, generate an avatar, make me an avatar, profile picture, profile photo, change my avatar, update avatar, set avatar, reset avatar, remove avatar, my picture, headshot, profile image.
The in-Hydrogen screen-share + AI-consent surface that lets YOU (the AI) screenshot the editor or the whole screen into the container. Covers the Screen Capture dropdown in the editor toolbar (Share this tab / Share entire screen / Stop sharing, plus Workspace / Full-screen screenshot), the Webview-vs-Pup Window mode toggle, the panel/workspace/screen capture scopes + Element-Capture RestrictionTarget, and the AI sharing-approval flow: SharingApprovalDialog ("AI wants access" + your reason), the ~3s auto-approve in Hydrogen, and the cancelable CountdownToast before capture starts. READ THIS before trying to screenshot the editor — a screenshot of Hydrogen's own UI requires an active share. Trigger words — screen share, share this tab, share screen, screen capture dropdown, capture the editor, screenshot the workspace, workspace screenshot, AI wants access, sharing approval, consent dialog, countdown toast, start sharing, stop sharing, window mode, webview vs pup, RestrictionTarget, element capture, capture scope, panel screenshot, capture frame, share with the AI.
How Claude Code authenticates inside Hydrogen — the OAuth flow that opens in your browser, where credentials are stored on host vs workspace, how Hydrogen backs them up so a workspace rebuild doesn't make you re-auth, the virgin-reset toggle that wipes Claude creds, and the 4-technique auth cascade Hydrogen runs if Claude isn't authenticated. READ when troubleshooting "Claude not authenticated", expired Claude tokens, re-authenticating after a virgin reset, or wondering where Claude credentials live. Trigger words — claude auth, claude code login, claude code authentication, claude not authenticated, claude oauth, claude credentials, claude session, claude.ai subscription, replay-claude-credentials.json, claude-auth, claude credential backup, claude re-auth, claude expired, claude.ai subscription button.
First-class API for managing the Claude Code conversations inside Hydrogen: list/open/close/switch conversation tabs, read each conversation's full state (title, message count, compose box, and the on-disk session GUID), type messages into a SPECIFIC conversation (instant or with a human typing animation) and submit them, and turn on Remote Control to get a claude.ai cloud URL so the user can view+drive that exact conversation from claude.ai or the Claude mobile app. Every conversation is addressed by a stable execution-context id (deterministic, background, no foreground/focus needed). Also explains how a live conversation is matched to its ~/.claude/projects/*.jsonl log. Trigger words: claude tabs, claude conversations, list conversations, open claude tab, close claude tab, switch claude tab, new conversation, type into claude, inject prompt, remote control, claude.ai url, view on mobile, session id, conversation guid, jsonl, claude session, context_id, multi-tab claude, conversation management.
Why ah makes Claude Code's "Bypass permissions" mode VISIBLE in the editor's Modes menu, and when an Adom user should reach for it. ah ships claudeCode.allowDangerouslySkipPermissions: true so the row APPEARS, while leaving claudeCode.initialPermissionMode: "auto" so Auto is still the default, two settings doing two different jobs. Read this before telling a user to "switch off permissions", before editing ~/.claude/settings.json to change a permission default, or when a session reports that a safety check has blocked an action and will keep blocking it. Covers the auto-mode classifier's worst failure shape (it can disable Bash for the REST of a session while read-only tools keep working, so the thread looks alive but cannot act), the compound-command tell, what Adom shipped in response (natural-language agent_permissions on the whole wiki catalogue), and the honest case for NOT using bypass. Trigger words: bypass permissions, dangerously skip permissions, allowDangerouslySkipPermissions, permission mode, modes menu, auto mode, classifier blocked, blocked by classifier, safety check blocked, claude won't run, bricked session, defaultMode, bypassPermissions, turn off permissions.
The Hydrogen dock bar (the app launcher rail on the right edge of the workspace) and how ANY wiki app, including a third party's, becomes a card in it. Covers the dockbar.json manifest (dock.json support REMOVED: hard cutover, rename or your card falls back to the wiki page), the two rules that break every first attempt (a serve verb must self-background, and steps must set PATH for ~/.local/bin), the container_command step contract (--print-url, skip_if, await url, timeouts), the ai block (per-app named threads, staged vs auto), re-click behavior, the free orbital loading screen, testing a draft manifest, and troubleshooting by symptom. Read this when a user says - add an app to the dock, add my app to the dock, put this wiki page in the dock, make my app dock-ready, dock settings, dockbar.json, dock manifest, launch steps, AI thread on launch, auto submit prompt, staged prompt, draft manifest, how do dock apps launch, why does my dock card not work, command not found in my dock launch, my dock app never answers, app launcher, featured apps, pin an app, hover zoom, alt-pin, right click a dock card, hard refresh open, force refresh an app, my app published a fix but the dock shows the old one, refresh list from wiki, update the dock without a new build, change the dock for everyone, my own dock, personal dock, private dock, manifest url, a dock only i see, reset my dock bar, dock bar defaults, what other users see, what is that bar called, what do you call the launcher, the thing on the right edge, the icons on the side.
The Hydrogen Doctor: a one-click full health scan of the whole stack (workspace, code-server, Claude, Adom auth, ports, relay, Adom Bridge) with a safe one-click fix. Lives in the Adom menu ("Doctor...") and on the control API (GET/POST /doctor). Read this when the user says something is broken and they don't know what, after a laptop sleep left things weird, when chat or the editor went dark, or when you want a machine-readable health snapshot before and after a repair. Trigger words: doctor, health check, diagnose, diagnostics, something is broken, everything is broken, nothing works, run the doctor, fix problems, still failing, workspace restart, /doctor.
The onboarding playbook a (second, background) Claude conversation runs after Hydrogen setup to discover which EDA / electronics-design tools the user runs — KiCad, Fusion 360, Altium, OrCAD/Cadence — and onboard them into the AI-first electronics workflow. If KiCad/Fusion (we have bridges): remember their preferred tool in a prefs file, offer to open example files, and pitch the gerber-export → order-at-JLCPCB/PCBWay/OSHPark loop. If Altium/OrCAD (no bridge yet): pitch co-building a bridge with the AI and publishing it to the Adom wiki for the community (KiCad/Fusion bridges are the reference). READ + RUN this when a new thread is asked to "explore what EDA software I use" / on the post-setup discovery pass. Trigger words — eda discovery, what eda software, what cad do i use, electronics design tools, detect kicad, detect fusion, detect altium, detect orcad, onboard eda, pcb workflow, order pcb, gerbers, jlcpcb, pcbway, oshpark, write a bridge, altium bridge, orcad bridge, publish to adom wiki, ai-first electronics, who am i and what can i do, post-setup explore.
The Editor State Machine (ESM) — HOW to know the true state of the VS Code editor and the Claude Code conversations inside Hydrogen, and the HARD typing invariants. Use BEFORE typing into a Claude conversation, driving setup-step threads, diagnosing "state unknown", empty split panels, tab spam, prompts landing in the wrong conversation, or any Claude tab/webview confusion. Trigger words — editor state, /editor/state, claude tab state, conversation state, which tab is active, empty editor group, split panel, double-type, typed into two boxes, prompt in wrong conversation, census, safe to type, stray text, disk verified, msg_count wrong, workbench unknown.
Inject JavaScript into ANY surface of the Hydrogen window from inside the workspace — the app shell (top nav, dialogs), the VS Code workbench, the wiki panel, or the Claude chat webview. Backed by the control API's POST /eval-in, which connects directly to the right CDP target and returns the JS value. Use it to build add-ons (e.g. a usage meter in the top bar), demo overlays (a moving arrow that points at things), highlight elements, read DOM state, or drive the UI. Works in dev AND release builds. Trigger words: eval-in, inject ui, eval into hd, hd overlay, demo arrow, highlight element, add-on, addon, usage meter, inject script, target shell, target workbench, target claude, find probe, eval-in targets, point at element, nav widget.
The playbook a (second, background) Claude conversation runs after setup to wire up the user's InstaPCB quoting workflow inside Hydrogen: find any InstaPCB quotes they uploaded earlier, bring one up in the InstaPCB quoting engine in Hydrogen, and — if they want — set up a live loop so KiCad design changes auto-import and the quote re-quotes on-the-fly with zero manual steps. Detect + report + offer first; build the watch→reload loop only on a yes. READ + RUN this when a thread is asked about InstaPCB quotes / "bring up my instapcb quote" / "auto reload my quote as I change my board". Trigger words — instapcb, insta pcb, instapcb quote, quoting engine, bring up my quote, reload quote, on-the-fly quote, auto quote, requote, pcb quote, board quote, kicad to quote, watch kicad reload, live quote, instapcb-quote app.
The user's cloud key-value store (Carbon KV): what the hydrogen.* / bridge.* keys are, how to READ and WRITE them from the workspace (auth proxy or API key), the naming + value conventions, the runtime-discovery entries (hydrogen.runtime.<machine>), and the profile-menu "Your cloud key-values" viewer. READ THIS before touching any key so you follow the ownership and no-secrets rules. Trigger words: key-values, kv, kv pairs, cloud settings, hydrogen_preferences, carbon settings, user settings store, hydrogen.runtime, bridge.container, desktop.container, cloud key value, my cloud data, kv viewer, patch settings, runtime discovery.
The LIGHTBULB menu (sample prompts) in Hydrogen's title bar — the 💡 button just right of the Adom logo (top-left, 0.1.265+; it lived by the CPU/RAM badges before). Each item opens a FRESH Claude AI thread and types a curated demo prompt for the user (parts search, KiCad/Fusion, pup, native browser, adom-tsci, shotlog, webviews, hands-free, "Speak Adom" shorthand training). Covers: how items run, the samples-menu.open/close AI commands, GET /claude/sample-prompts, and sample-prompts.json — the overlay file that adds or rewords prompts WITHOUT a new Hydrogen release. Trigger words: lightbulb, light bulb menu, sample prompts, samples menu, demo prompts, sample threads, speak adom, add a sample prompt, sample-prompts.json.
Use when the AI needs to watch the Hydrogen workspace in real-time — react to tab changes, sharing state, user actions, or any workspace mutation as it happens. Covers the SSE event stream, Monitor tool patterns, and example scripts. For point-in-time checks, GET /workspace/health and the control-port GET /workspace/tabs / /workspace/tabs/find are lighter than the proxy SSE. Trigger words: watch workspace, react to tab change, wait until user opens X, workspace event, SSE event, monitor tool, on tab change, real-time react, react to workspace changes, wait for sharing, watch for new panel, workspace_updated, monitor hydrogen, live workspace events.
The Adom product naming doctrine, and the one rule that must never regress: every OS-visible install surface (Start Menu, desktop shortcut, taskbar search, Spotlight, app listings, installer filename) says "Adom Hydrogen", NEVER bare "Hydrogen" - because a new user types "adom" into taskbar search before they have memorized the product name. Also the shorthand table (ah, ab, hc, aw, nb, nbe, hbw, pup) and the dead legacy names (hd, ad, "Hydrogen Desktop" in copy, "Adom Desktop", hw, hdbw, abe). READ when naming anything user-visible: an installer, a shortcut, a window title, a wiki page, marketing copy, or when unsure what to call a product in prose. Trigger words - naming, product name, formal name, what do we call it, Adom Hydrogen vs Hydrogen, shortcut name, start menu name, installer name, search for adom, ah, ab, hc, aw, why adom in the name, naming rules, rename, brand name, app name.
Master index for the platform-generic Hydrogen skills (the hydrogen-bootstrap set). Start here to find the right skill for any Hydrogen topic. These skills are runtime-neutral and apply on every host Hydrogen runs on; platform layers (hydrogen-windows-bootstrap, hydrogen-mac-bootstrap) add their own host-specific skills. Trigger words: Hydrogen skills, hydrogen, what skills, find skill, Hydrogen help, Hydrogen overview, skill index, Hydrogen reference.
Hydrogen's profile menu — the user-avatar dropdown in the top-right corner that links to your Adom profile/repositories/molecules pages on adom.inc and contains the logout action. Logout is gated by a confirm dialog and returns you to the Hydrogen login page; logging in is the gate to using Hydrogen at all (no anonymous use). Use when the user asks about "log out", "logout", "sign out", "Your profile", "Your repositories", "Your molecules", the avatar dropdown, the login page, or "why am I locked out". Trigger words — profile menu, avatar menu, top-right avatar, user menu, log out, logout, sign out, confirm logout, login gate, login page, your profile, your repositories, your molecules, adom.inc profile, ah locked out, ah login required, return to login.
The Project workspaces menu in Hydrogen Desktop (the icon right of the Adom logo) and its control API, the desktop side of shared workspaces (hydrogen/workspace.json benches a project ships). Read this when a user says - project workspaces, shared workspace, apply a bench, unload a bench, workspace.json, hydrogen/workspace.json, save as project workspace, the layout a project ships, this project ships a workspace, apply / not now card, workspace offer, the icon next to the Adom logo, /workspaces/apply, /workspaces/benches, ztest-bench, bench placeholder, connect adom bridge for a bench, open the same layout as Colby. For the file format, the WORKSPACE_* hints and adom-cli export/apply use the wiki-workspaces skill; for the pane API (tabs, splits, moves) use adom-workspace-control; this skill covers only what Hydrogen Desktop adds.
PUP — what "pup" means in Hydrogen and exactly how to open one. When the user says "show me in pup", "open it in pup", "pup window", "in pup", or asks to demo/drive ANY page "in pup", it means a real, AI-drivable Chrome/Edge window opened by Adom Bridge's Puppeteer bridge (auto-installed with Hydrogen) on THIS machine — never a webview (see hydrogen-webview), never the user's personal signed-in browser (that's nbrowser). CRITICAL Hydrogen DIFFERENCE: in Hydrogen, localhost URLs are the NORM for pup (everything binds localhost on the same machine) — the cloud-container rule "pup can't see localhost" is INVERTED here. Trigger words — pup, open in pup, show me in pup, in pup, pup window, puppeteer, pup browser, drive a browser, show the page in pup.
How the AI keeps the Hydrogen APP itself (the Windows/macOS frontend, not the workspace) up to date — AI-first, consent-based. Use when asked \"is there an Hydrogen update\", \"update Hydrogen\", \"is my Hydrogen current\", \"what version of Hydrogen am I on\", \"update the app\", \"new Hydrogen version\". Trigger words: Hydrogen update, update hydrogen desktop, app update, is Hydrogen current, Hydrogen version, new version of Hydrogen, relaunch to update, self-update.
Hydrogen's Settings dialog and the full preference tree the user can change — theme, vim mode, launch-on-boot, console-on-startup, 3D control style, font, line numbers, schematic nudge, the embedded Adom Bridge options, and more. READ THIS when the user asks "how do I turn on vim mode", "change the theme", "make Hydrogen launch on boot", "stop Adom Bridge's window popping up", "switch to blender/solidworks orbit controls", "hide line numbers", "show the console on startup", "make the UI compact", or "where are the settings". Opened from the Adom logo menu → Settings. Trigger words — settings, preferences, settings dialog, options, config, theme, dark mode, light mode, high contrast, compact ui, developer mode, vim mode, vim emulation, line numbers, code font, editor font, launch on boot, start with windows, show console, console on startup, 3d controls, control style, fusion solidworks blender orbit, schematic nudge, auto approve, foreground hd, adom desktop window, turn on, turn off, change setting, how do I configure.
The maintainer loop for making Hydrogen's skills perfect: when a skill is wrong, stale, or confusing, verify the truth against the RUNNING system, fix the live copy in the workspace, then fix the skill at its source — the wiki package it ships in — and publish, so every workspace's next `adom-wiki pkg update` gets the fix. These skills are the ONLY thing the in-workspace AI knows about Hydrogen — a wrong one confuses every Adom user. For Adom devs improving Hydrogen. Trigger words — this skill is wrong, stale skill, fix the ah skill, update a skill, the AI got confused by a skill, improve ah skills, skill is inaccurate, skill loop, publish a skill fix, skill feedback loop, skill says X but it actually does Y.
How a Hydrogen workspace stays current — its Adom tooling (CLIs, skills, apps) updates registry-native via `adom-wiki pkg update` + the `adom/hook` prompt hook, plus the code-server reload banner — and how an Adom employee ships a skill / CLI / app to every workspace. Use when asked "how do I get the latest skills or tooling", "how do updates work here", "what's the reload banner", "how do I distribute a tool to all Adom users", or about the retired workspace-updater daemon (history). Trigger words: staying current, how do updates work, latest skills, get updates, auto update, keep tooling current, distribute a skill, publish to all users, reload banner, adom-wiki pkg update, workspace updater, adom-workspace-updater.
How Hydrogen **webview** tab icons work in the Adom editor — panels with `panelType: adom/a1b2c3d4-0031-4000-a000-000000000031`. (Native panels like Schematic Editor, 3D Editor, Desktop Demo, KiCad panel have their own icon mechanism and are NOT covered here.) The critical gotcha: `displayIcon` (HTTP API) / `--display-icon` (CLI) is only the **pre-load placeholder** — the loaded page's own `<link rel="icon">` overrides it as soon as the page loads. The only stable way to control a webview tab's icon is to serve the favicon you want from your own app. Covers the override mechanism, shipping a custom favicon from a Rust/Node/Python app, using `mdi:<name>` and `data:image/svg+xml;base64,...` placeholders, common icons, and troubleshooting. Trigger words: hydrogen webview tab icon, webview tab icon, mdi icon webview tab, displayIcon webview, display-icon, webview tab icon not showing, custom webview tab icon, colored webview tab icon, tab chip icon, webview tab icon svg, webview tab icon base64, favicon override webview tab, webview tab icon keeps resetting, webview tab icon reverts after page load.
WEBVIEW — what the word "webview" means in Hydrogen and exactly how to open one. When the user says "show me in webview", "open it in webview", "in a webview", "webview panel", "wv", or asks to show ANY app/page/tool "in webview", it ALWAYS means a native Hydrogen workspace webview tab opened via `adom-cli hydrogen webview open-or-refresh` — NEVER VS Code's built-in Simple Browser, never an editor-internal browser, never an iframe hack. ALSO covers the External Webview (extwv): the opt-in real-browser panel for sites that refuse to be embedded (Google, Amazon), and the "This site can't be embedded" handoff card. Read this the moment the word webview (or wv, or extwv) appears. Trigger words — webview, wv, extwv, external webview, show me in webview, open in webview, in a webview, webview tab, webview panel, native webview, show in webview, launch in webview, webview app, site can't be embedded, refuses to embed, x-frame-options.
The Hydrogen welcome page — shown after setup steps complete. Served from static/welcome.html at http://localhost:1420/welcome.html. Shows Adom branding, "Build and test electronics in the cloud", and an "Open Claude Code" button. This is NOT the adom.inc homepage — it's a local static page bundled with Hydrogen. Trigger words: welcome page, welcome tab, show welcome, onboarding page, setup complete page, first launch page.
How to answer "who am I and what can I do here?" — the auto-question Hydrogen's welcome step injects on first launch. Tells Claude what data sources to pull (Adom session token, adom-cli user/repo/container queries), the Linux-username-vs-Adom-username distinction (everyone is `adom` inside the container), and the template answer that names the user, shows their resources, and explains what Hydrogen + the Adom ecosystem can do for them. READ this skill when answering "who am i", "what can i do here", or "what is this environment". Trigger words — who am i, what can I do here, who is this user, welcome question, first AI question, introduce yourself, what is Hydrogen, what can hydrogen do, user identity, user introspection, my profile in Hydrogen, my repos, my containers, linux username vs adom username, adom username container.
Build, list, open and drive Hydrogen Widgets: small live panels in Hydrogen Desktop's Title Bar (Claude usage, Codex usage, a clock, or your own), each served by a binary inside the workspace and mounted in a sandboxed slot. Covers the hydrogen-widget.json facet a wiki repo carries (alone, or next to its dock manifest and project workspace), the per-widget page the pulldown links to, the launch contract (HYDROGEN_WIDGET_ID / _PORT / _SLOT / HYDROGEN_PROXY_PORT, the health URL, the explicit takeover, stop-first relaunch), the tall and compact layouts, vendor marks, private repos (read with the user's session), the curated list on adom/hydrogen-bootstrap, the Hydrogen Widgets pulldown, and the control API (GET /widgets, POST /widgets/open|close|navigate|refresh|menu, GET /widgets/status) so an AI can do all of it with no mouse. Trigger words: hydrogen widget, hydrogen-widget, title bar widget, widgets pulldown, widget slot, claude usage widget, codex usage widget, tokens left widget, usage meter in the title bar, hydrogen-widget.json, /widgets/open, make a widget, add a widget to hydrogen, private widget, widget SDK.
After editing ANY wiki.adom.inc page (an adom-wiki push/publish, a README/doc/hero change), immediately LOAD that page in pup so the user can see and double-check the rendered result — don't just report the commit hash and move on. Covers how to open the page in pup on the user's machine, refresh it, and post a screenshot to the shotlog for review. Trigger words: wiki update, adom-wiki push, adom-wiki publish, wiki page, show wiki in pup, review wiki, verify wiki page, load wiki page, wiki hero, wiki readme, double-check wiki.
No dev skills in this repo.
How to build, debug, and test this app. Source-only (dev-skills/), never shipped in the tarball.
No publish skills in this repo.
The app-to-wiki publish glue. Source-only (publish-skills/), never shipped in the tarball.
Health: the size chip is green when right-sized, yellow when getting long, red when the model likely skims it. A green check is a passed preamble/structure signal; an amber mark is a gentle nudge, not a hard failure.