diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/package.json hydrogen-bootstrap/package.json --- hydrogen-bootstrap.orig/package.json 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/package.json 2026-10-22 14:48:21.603090005 -0500 @@ -4,7 +4,7 @@ "type": "bootstrap", "title": "Adom Hydrogen (platform base)", "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.", - "version": "0.5.77", + "version": "0.5.79", "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.", "org": "adom", "tags": [ @@ -48,5 +48,5 @@ "grok bot", "connect grok" ], - "changelog": "0.5.68: memory guardrails in every Hydrogen workspace (section 4g): earlyoom stops a runaway job at 8% free memory before the workspace thrashes, code-server's inherited OOM protection is removed so the runaway is the one chosen, and swappiness drops to 10. Proven on AdomLapper: a 12 GB hog stopped in 39 s, code-server untouched." + "changelog": "0.5.79: hydrogen-overview tells you how to list the platform layer's skills; hydrogen-adom-bridge names the pup_record_* verbs. Includes 0.5.78: skill cleanup (shorter valid descriptions, retired names replaced, dead skill links fixed, single Hydrogen index, dev-only skills hidden, AppleDouble junk removed)." } diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/page.json hydrogen-bootstrap/page.json --- hydrogen-bootstrap.orig/page.json 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/page.json 2026-10-22 14:48:21.603090005 -0500 @@ -4,7 +4,7 @@ "type": "bootstrap", "title": "Adom Hydrogen (platform base)", "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.", - "version": "0.5.77", + "version": "0.5.79", "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.", "org": "adom", "tags": [ @@ -64,5 +64,5 @@ "grok bot", "connect grok" ], - "changelog": "0.5.68: memory guardrails in every Hydrogen workspace (section 4g): earlyoom stops a runaway job at 8% free memory before the workspace thrashes, code-server's inherited OOM protection is removed so the runaway is the one chosen, and swappiness drops to 10. Proven on AdomLapper: a 12 GB hog stopped in 39 s, code-server untouched." -} \ No newline at end of file + "changelog": "0.5.79: hydrogen-overview tells you how to list the platform layer's skills; hydrogen-adom-bridge names the pup_record_* verbs. Includes 0.5.78: skill cleanup (shorter valid descriptions, retired names replaced, dead skill links fixed, single Hydrogen index, dev-only skills hidden, AppleDouble junk removed)." +} diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-adom-auth/SKILL.md hydrogen-bootstrap/skills/hydrogen-adom-auth/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-adom-auth/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-adom-auth/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,14 +1,9 @@ --- name: hydrogen-adom-auth -description: > - Adom 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. +description: >- + Adom sign-in inside Hydrogen: the login/logout auth intent flow, where the session token + lives, and how the session feeds setup. Use when Adom login fails, the session token + expired, the user wants to sign in or out of Adom, or clear the Adom session. --- # Hydrogen -- Authentication Reference diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-adom-bridge/SKILL.md hydrogen-bootstrap/skills/hydrogen-adom-bridge/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-adom-bridge/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-adom-bridge/SKILL.md 2026-10-22 14:48:21.603090005 -0500 @@ -1,23 +1,10 @@ --- name: hydrogen-adom-bridge -description: > - 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 machine (Windows, macOS, Ubuntu) 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. +description: >- + What Hydrogen (ah) and Adom Bridge (ab) are and how they work together: ab is your hands + on the user's real computer (files, shell, OS screenshots, apps, KiCad/Fusion). Use when + asked what can you do on my computer, run a command on my PC, screenshot my screen, or + send a file to my desktop. --- # Hydrogen ↔ Adom Bridge — your reach onto the user's real machine @@ -100,7 +87,7 @@ | **Pull files from the host** | `pull_file` (desktop → container, SHA256-verified); browse + watch via `list_files` / `watch_files` | **hydrogen-file-transfer** (platform bootstrap) | | **Run a shell command on the host** | `shell_execute` (real PowerShell/shell) | shell-trust model below | | **Screen/window control + screenshots** | `desktop_screenshot_screen` / `desktop_screenshot_window` / `desktop_list_windows`, `desktop_set_window_state`, `desktop_bring_to_front` | **hydrogen-self-screenshot** (platform bootstrap; `hydrogen-self-screenshot-mac` on macOS) | -| **Record the screen / a tab** | `desktop_record_*` (whole screen), `browser_record_*` (one tab) | **hydrogen-recording** (platform bootstrap; `hydrogen-recording-mac` on macOS) — ab-served, verify `record` capability | +| **Record the screen / a tab** | `desktop_record_*` (whole screen), `pup_record_*` (one pup tab) | **hydrogen-recording** (platform bootstrap; `hydrogen-recording-mac` on macOS) — ab-served, verify `record` capability | | **Desktop notifications** | `notify_user` (title/body/level + action buttons) | **hydrogen-notifications** (platform bootstrap) | | **On-screen captions** | `caption` (always-on-top click-through overlay) | **hydrogen-captions** (platform bootstrap) | | **Open browsers** | `browser_*` (Pup) | **hydrogen-open-url** (platform bootstrap), `pup` | diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-adom-menu/SKILL.md hydrogen-bootstrap/skills/hydrogen-adom-menu/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-adom-menu/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-adom-menu/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,21 +1,9 @@ --- name: hydrogen-adom-menu -description: > - 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. +description: >- + The Adom logo menu in Hydrogen's upper-left corner (Settings, Ports, API Explorer, + DevTools, Setup Steps, Virgin Reset) and the About dialog. Use when asked what's in the + Adom menu, where settings or devtools are, or what version am I running. --- # The Adom menu (upper-left logo dropdown) diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-ai-agents/SKILL.md hydrogen-bootstrap/skills/hydrogen-ai-agents/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-ai-agents/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-ai-agents/SKILL.md 2026-10-22 14:33:46.135369695 -0500 @@ -1,6 +1,10 @@ --- name: hydrogen-ai-agents -description: 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, quota, usage, how much usage is left, out of codex usage, usage across my accounts, weekly limit, five hour limit, rate limit reset. +description: >- + Install, sign in, sign out and check quota for the AIs in a Hydrogen workspace (Claude + Code, Codex, Kimi Code, Antigravity) through the /agents API. Use when asked to install + antigravity or kimi, sign in to codex, which AIs are signed in, how much usage is left, + or why an AI button is missing. --- # Hydrogen AI agents: install and sign in from a session @@ -113,11 +117,11 @@ | Claude Code | `~/.claude/.credentials.json` (`claudeAiOauth.accessToken`), `GET https://api.anthropic.com/api/oauth/usage` with `anthropic-beta: oauth-2025-04-20`; `GET .../api/oauth/profile` gives the account email | `five_hour.utilization`, `seven_day.utilization` (percent used) with `resets_at`; `limits` is the list `/usage` draws, including weekly limits scoped to one model | | Codex | `~/.codex/auth.json` (`tokens.access_token`, `tokens.account_id`), `GET https://chatgpt.com/backend-api/wham/usage` with `ChatGPT-Account-Id` | `rate_limit.primary_window.used_percent` and `reset_at` (epoch), `limit_reached`; also `credits.balance` and `rate_limit_reset_credits.available_count` (what `/status` shows) | | Antigravity | the running hub `agy --hub` (port and CSRF token on its command line), `POST http://127.0.0.1:/exa.language_server_pb.LanguageServerService/RetrieveUserQuotaSummary` with `x-codeium-csrf-token`, body `{}` | `response.groups[].buckets[]`: `window` (`weekly` or `5h`), `remainingFraction`, `resetTime`, for the Gemini group and the Claude and GPT group; `GetLoadCodeAssist` gives the plan name and `GetUserStatus` the signed-in email | -| Grok Bot | Windows app, no file in the workspace: `grok_settings {"page":"usage"}` then `grok_screenshot` (see the `grok-account` skill) | the plan, weekly percent and reset, the on-demand cap | +| Grok Bot | Windows app, no file in the workspace: `grok_settings {"page":"usage"}` then `grok_screenshot` (the `grok-account` skill ships in adom/grok-bridge: `adom-wiki pkg install adom/grok-bridge`) | the plan, weekly percent and reset, the on-demand cap | | Kimi Code | not mapped yet | | On Windows, the Title Bar widgets `claude-usage`, `codex-usage` and `antigravity-usage` show the -same numbers for this workspace (the `hydrogen-widget` skill in the Windows layer). +same numbers for this workspace. ```bash python3 - <<'PY' @@ -186,4 +190,4 @@ removes it and restores the wrapper on its next run. If a user asks for the npm or native channel on purpose, say that the extension then carries the same binary twice. -For the design behind all of this read [hydrogen-ai-agents-dev](../hydrogen-ai-agents-dev/SKILL.md). +For the design behind all of this, Read `~/.claude/skills/hydrogen-ai-agents-dev/SKILL.md`. diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-ai-agents-dev/SKILL.md hydrogen-bootstrap/skills/hydrogen-ai-agents-dev/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-ai-agents-dev/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-ai-agents-dev/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,6 +1,10 @@ --- name: hydrogen-ai-agents-dev -description: 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. +description: >- + Maintainer design notes for Hydrogen's AI agent support: golden-image vs user installs, + auth oracles, how sign-in is driven, the VS Code toolbar and the Manage AIs dialog. Use + before touching agent_harness.rs, PanelAiAccounts.svelte or ai-titlebar.js. +disable-model-invocation: true --- # Hydrogen AI agents: how it is built diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-api/SKILL.md hydrogen-bootstrap/skills/hydrogen-api/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-api/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-api/SKILL.md 2026-10-22 14:33:46.135369695 -0500 @@ -1,19 +1,10 @@ --- name: hydrogen-api -description: > - 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. +description: >- + Reference for Hydrogen's control API: drive the workspace, Claude Code, VS Code, + workspace tabs and setup steps over HTTP; GET /_manifest is the live catalog. Use when + calling a Hydrogen endpoint, finding the control port, using the API Explorer, or + checking which endpoints are destructive. --- # Hydrogen Control API Reference @@ -107,7 +98,7 @@ - **Never hardcode the port.** It's dynamic (47084 is only the default and it auto-resolves conflicts). Read `~/.adom/hydrogen-control-url` from the workspace, or `GET /ports`. Hardcoding 47084 is what makes tools show Hydrogen as "down" when it's actually up on another port. -- **Calling from a REMOTE container (hw/cloud)? Use `adom-bridge hd_api`,** the relay's +- **Calling from a REMOTE container (hc/cloud)? Use `adom-bridge hd_api`,** the relay's pass-through verb: `hd_api {"method":"POST","path":"/...","body":{...}}`. It auto-discovers the port; never shell curl through the relay (quoting gets mangled). Long-blocking calls (typed injection) can outlive the relay timeout: the work still completes on Hydrogen's side, so @@ -128,7 +119,7 @@ a VM), `desktop_*` verbs need `--target ` (e.g. `AdomLapper`) or they no-route and look empty; `nbrowser_*`/`hd_*` auto-route. PowerShell emits **CRLF** — strip `\r` before string-comparing its output. Long calls can exceed the relay's per-call timeout — run - detached + poll a marker (see `hydrogen-cloud-relay-patterns`). + detached + poll a marker. ## Health & Status diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-avatar/SKILL.md hydrogen-bootstrap/skills/hydrogen-avatar/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-avatar/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-avatar/SKILL.md 2026-10-22 14:33:46.135369695 -0500 @@ -1,14 +1,9 @@ --- name: hydrogen-avatar -description: > - 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. +description: >- + Generate or change the user's Adom avatar and make Hydrogen show it immediately. Use + when the user says generate a new avatar, change my avatar, make me a profile picture, + set my avatar to this image, or reset my avatar. --- # hydrogen-avatar — generate a great avatar, then make Hydrogen show it @@ -40,8 +35,9 @@ - **GitHub** — languages, projects, existing avatar style. - **LinkedIn** — role, industry, how they present professionally. - A plain web search on `"" ` for talks, articles, a personal site. -- **Their signed-in browser via adom-bridge** (`nbrowser_*`, the abe extension) can reach a - Google profile or anything else they're already logged into — see `driving-the-extension`. +- **Their signed-in browser via adom-bridge** (`nbrowser_*`, the nbe extension) can reach a + Google profile or anything else they're already logged into — see the `driving-the-extension` + skill (ships in adom/nb-bridge: `adom-wiki pkg install adom/nb-bridge`). Prefer this over pup for logged-in surfaces. **Boundaries that matter here.** This is a person, not a target. Use public sources, keep it diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-capture-share/SKILL.md hydrogen-bootstrap/skills/hydrogen-capture-share/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-capture-share/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-capture-share/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,20 +1,10 @@ --- name: hydrogen-capture-share -description: > - 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. +description: >- + Hydrogen's screen-share and AI-consent flow for screenshotting the editor or the whole + screen: the Screen Capture dropdown, the AI-wants-access approval and its countdown. Use + before screenshotting Hydrogen's own UI, or when asked to share this tab, share my + screen or stop sharing. --- # Hydrogen — Screen Capture & Sharing (the AI-consent surface) diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-claude-auth/SKILL.md hydrogen-bootstrap/skills/hydrogen-claude-auth/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-claude-auth/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-claude-auth/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,6 +1,10 @@ --- name: hydrogen-claude-auth -description: 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. +description: >- + How Claude Code signs in inside Hydrogen: the OAuth flow, where credentials live, the + backup that survives a workspace rebuild, and the auth cascade. Use when Claude is not + authenticated, the Claude token expired, or Claude needs to re-auth after a virgin + reset. --- # Hydrogen Claude Auth — how Claude Code signs in diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-claude-management/SKILL.md hydrogen-bootstrap/skills/hydrogen-claude-management/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-claude-management/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-claude-management/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,18 +1,10 @@ --- name: hydrogen-claude-management -description: > - 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. +description: >- + API for the Claude Code conversations inside Hydrogen: list, open, close and switch + tabs, read a conversation's state, type into a specific one, and Remote Control for a + claude.ai URL. Use when asked to open a new Claude tab, type into a conversation, list + conversations, or view this chat on mobile. --- # Hydrogen Claude Conversation Management diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-claude-permission-modes/SKILL.md hydrogen-bootstrap/skills/hydrogen-claude-permission-modes/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-claude-permission-modes/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-claude-permission-modes/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,20 +1,10 @@ --- name: hydrogen-claude-permission-modes -description: > - 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. +description: >- + Why Hydrogen shows Claude Code's Bypass permissions mode in the Modes menu while Auto + stays the default, and when to use it. Use when the user wants to turn off permissions, + a safety check keeps blocking actions, or before changing a permission default in + settings.json. --- Parent skill: **hydrogen-overview** (works with **hydrogen-settings**, **adom-vscode-settings**) diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-dock/SKILL.md hydrogen-bootstrap/skills/hydrogen-dock/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-dock/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-dock/SKILL.md 2026-10-22 14:34:21.837863740 -0500 @@ -1,6 +1,10 @@ --- name: hydrogen-dock -description: 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. +description: >- + The Hydrogen dock bar (the app launcher rail on the right edge) and how any wiki app + becomes a card in it through a dockbar.json manifest. Use when asked to add my app to + the dock, why my dock card does not work, set launch steps or an AI thread on launch, or + customize my dock. --- # hydrogen-dock: the Hydrogen app launcher @@ -273,4 +277,4 @@ on it is not required to be dock-ready. To request listing, open an issue on the adom/hydrogen-desktop wiki page. -Driving the dock from an AI thread (`/dock/*` on the control API) and resetting it to the defaults are Windows-only today: see **hydrogen-dock-windows**. +Driving the dock from an AI thread (`/dock/*` on the control API) and resetting it to the defaults are Windows-only today: see the **hydrogen-dock-windows** companion in the Windows layer (adom/hydrogen-windows-bootstrap). diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-doctor/SKILL.md hydrogen-bootstrap/skills/hydrogen-doctor/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-doctor/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-doctor/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,15 +1,10 @@ --- name: hydrogen-doctor -description: > - 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. +description: >- + The Hydrogen Doctor: a one-click health scan of the whole stack (workspace, code-server, + Claude, Adom auth, ports, relay, Adom Bridge) with a safe fix, also at GET/POST /doctor. + Use when something is broken and nobody knows what, things are weird after a laptop + sleep, or to run the doctor. --- # Hydrogen Doctor: diagnose and repair the whole stack in one place diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-eda-discovery/SKILL.md hydrogen-bootstrap/skills/hydrogen-eda-discovery/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-eda-discovery/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-eda-discovery/SKILL.md 2026-10-22 14:33:56.007784714 -0500 @@ -1,18 +1,10 @@ --- name: hydrogen-eda-discovery -description: > - 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. +description: >- + Post-setup playbook for discovering which EDA tools the user runs (KiCad, Fusion 360, + Altium, OrCAD) and onboarding them into the AI-first electronics workflow. Use when + asked to explore what EDA software I use, detect KiCad or Fusion, or on the post-setup + discovery pass. --- # EDA tool discovery & onboarding (run in the background after setup) @@ -22,16 +14,18 @@ **exploratory and opt-in** — detect first, then offer; never auto-install or auto-build. Do the detection in the background, then come back with a short, friendly summary + one clear offer. -## 1. Detect (via the bridge CLI — `adom-bridge` on Windows, `adom-bridge` on macOS; see `hydrogen-adom-bridge`, `pup`) +## 1. Detect (via the bridge CLI `adom-bridge`; see `hydrogen-adom-bridge`, `hydrogen-pup`) ```bash adom-bridge status # relay up? caps include kicad / fusion360? adom-bridge kicad_list_versions '{}' # KiCad installed (+ which versions) adom-bridge fusion_status '{}' # Fusion 360 installed? ("installed but not running" = yes) +adom-bridge altium_readiness '{}' # Altium Designer installed / running / licensed (altium-bridge) ``` -The KiCad/Fusion bridges work the same on every platform. For tools with **no bridge** (Altium, -OrCAD, Cadence/Allegro, EAGLE, DipTrace, Eplan, ...), there's no bridge verb — detect them by +The KiCad/Fusion bridges work the same on every platform. Altium Designer (Windows) has a +bridge too (adom/altium-bridge, the `altium-bridge` skill), so treat it like case A. For tools +with **no bridge** (OrCAD, Cadence/Allegro, EAGLE, DipTrace, Eplan, ...), there's no bridge verb — detect them by **install path / running process** using `adom-bridge run_script`. The exact probe (install directories, process listing) is platform-specific — see your platform bootstrap's EDA companion skill ([[hydrogen-eda-discovery-windows]] on Windows; @@ -52,7 +46,7 @@ ``` (Also worth a one-line memory note if you keep memories.) 2. **Show, don't tell** — offer to open an example so they *see* it work: - *"Want me to open a sample board in KiCad and pop the 3D viewer so you can see what I can drive?"* → use the `pic_programmer` demo flow (`hydrogen-self-screenshot`/`adom-bridge-cli-kicad`): open `.kicad_sch` + `.kicad_pcb`, symbol/footprint editors, then the **board** 3D viewer (close the footprint+symbol editors first — `kicad_open_3d_viewer` attaches to the active editor otherwise). + *"Want me to open a sample board in KiCad and pop the 3D viewer so you can see what I can drive?"* → use the `pic_programmer` demo flow (`hydrogen-self-screenshot` and the kicad-bridge skills, `adom-wiki pkg install adom/kicad-bridge`): open `.kicad_sch` + `.kicad_pcb`, symbol/footprint editors, then the **board** 3D viewer (close the footprint+symbol editors first — `kicad_open_3d_viewer` attaches to the active editor otherwise). 3. **Pitch the loop** that AI makes effortless — *"From here I can export gerbers and help you order the board — JLCPCB, PCBWay, or OSHPark."* If they're keen, that's the on-ramp to (4). 4. **The real unlock — build the glue, publish it.** Most fab vendors have no clean API, so the @@ -61,17 +55,17 @@ their fab of choice and **publish it to the Adom wiki** so the whole community gets it. This is exactly what the wiki is for (see §3). -### B) Altium / OrCAD / Allegro / EAGLE / other — no bridge yet (the community pitch) +### B) OrCAD / Allegro / EAGLE / other — no bridge yet (the community pitch) We don't have a bridge for these — **but that's an opportunity, not a dead end.** Offer: -> *"You're on **Altium** — we don't have an Adom bridge for it yet, but we have a wiki for +> *"You're on **OrCAD** — we don't have an Adom bridge for it yet, but we have a wiki for > sharing apps with the whole community, and we could **build one together right now**. The > KiCad and Fusion 360 bridges are great references for the AI to model the design on — it's -> probably ~30 minutes of vibe-coding. Then we publish it to the Adom wiki so every Altium +> probably ~30 minutes of vibe-coding. Then we publish it to the Adom wiki so every OrCAD > user gets it. We could all use it. Want to?"* - Reference bridges: `adom-inc/adom-bridge/plugins/kicad/` and `…/plugins/fusion360/` (a Python - bridge that the desktop app dispatches to; see `adom-bridge-cli-kicad`/`-fusion` for the verb + bridge that the desktop app dispatches to; see the adom/kicad-bridge and adom/fusion-bridge wiki pages for the verb shape). A new bridge = the same pattern (launch app, open files, screenshot, send keys, an optional in-process add-in for the richer API). - Publish flow: the Adom wiki hosts shared apps (`apps/`) — see the wiki publish skills. @@ -84,7 +78,7 @@ The electronics industry is moving **AI-first**, and the tools mostly aren't built for it yet. **Adom is where that comes together:** you build an AI-first app (a bridge, an uploader, a fab-automation glue), publish it to the **Adom wiki**, and the whole community can install and -improve it. KiCad/Fusion bridges, a JLCPCB/PCBWay/OSHPark uploader, an Altium bridge — each one +improve it. KiCad/Fusion bridges, a JLCPCB/PCBWay/OSHPark uploader, an OrCAD bridge — each one makes the next person's AI-first workflow turnkey. The user isn't just configuring their setup; they can **contribute the missing piece** in half an hour. @@ -93,7 +87,7 @@ unprompted. One clear offer beats five questions. - **Don't overpromise vendor APIs.** JLCPCB/PCBWay/OSHPark uploads are mostly UI automation (pup), not clean APIs — frame the uploader as AI-driven glue, and verify pages exist before - templating URLs (`pup` skill). + templating URLs (`hydrogen-pup`). - **Respect read-only states** (e.g. an expired Fusion subscription is view/query-only). - Report back to the user concisely: *what you found, one thing you can show them now, and one thing worth building.* @@ -101,5 +95,5 @@ ## Related skills - **hydrogen-adom-bridge** — the bridge relay; the KiCad/Fusion bridge verbs live in the platform bridge skill set (e.g. the adom-bridge-macos skills on mac) - [[hydrogen-eda-discovery-windows]] / `hydrogen-eda-install` (mac) — the per-platform no-bridge install-path + process probes -- `pup` — driving fab-vendor upload pages; **hydrogen-open-url** (platform bootstrap) — opening vendor sites +- **hydrogen-pup** — driving fab-vendor upload pages; **hydrogen-open-url** (platform bootstrap) — opening vendor sites - the Adom wiki publish skills — sharing the bridge/app you build with the community diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-eval/SKILL.md hydrogen-bootstrap/skills/hydrogen-eval/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-eval/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-eval/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,16 +1,10 @@ --- name: hydrogen-eval -description: > - 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. +description: >- + Inject JavaScript into any surface of the Hydrogen window (app shell, VS Code workbench, + wiki panel, Claude chat) through POST /eval-in. Use when asked to inject a UI add-on, + add a demo arrow or overlay, highlight an element, or read the DOM of the Hydrogen + window. --- # hydrogen-eval — inject JS into any Hydrogen surface (`POST /eval-in`) diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-key-values/SKILL.md hydrogen-bootstrap/skills/hydrogen-key-values/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-key-values/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-key-values/SKILL.md 2026-10-22 14:31:32.612983663 -0500 @@ -1,15 +1,10 @@ --- name: hydrogen-key-values -description: > - 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.), 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. +description: >- + The user's cloud key-value store (Carbon KV): what the hydrogen.* and bridge.* keys + mean, how to read and write them, and the ownership and no-secrets rules. Use before + writing a key, or when asked about my cloud settings, kv pairs, hydrogen.runtime or the + key-values viewer. --- # Cloud key-values: the user's Adom-account KV store diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-monitor/SKILL.md hydrogen-bootstrap/skills/hydrogen-monitor/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-monitor/SKILL.md 2026-10-22 14:26:54.700267859 -0500 +++ hydrogen-bootstrap/skills/hydrogen-monitor/SKILL.md 2026-10-22 14:31:32.616983837 -0500 @@ -1,15 +1,9 @@ --- name: hydrogen-monitor -description: > - 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. +description: >- + Watch the Hydrogen workspace in real time through its SSE event stream and the Monitor + tool: tab changes, sharing state, workspace mutations. Use when asked to wait until the + user opens something, react to a tab change, or watch for a new panel. --- # Hydrogen Real-Time Monitoring diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-naming/SKILL.md hydrogen-bootstrap/skills/hydrogen-naming/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-naming/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-naming/SKILL.md 2026-10-22 14:31:32.616983837 -0500 @@ -1,19 +1,10 @@ --- name: hydrogen-naming description: >- - 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. + Adom product naming rules: OS-visible install surfaces say "Adom Hydrogen", never bare + "Hydrogen"; plus the shorthand table (ah, ab, hc, nbe, hbw, pup) and the names no longer + used. Use when naming an installer, shortcut, window title or wiki page, or when unsure + what to call a product. --- # Adom Product Naming diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-overview/SKILL.md hydrogen-bootstrap/skills/hydrogen-overview/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-overview/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-overview/SKILL.md 2026-10-22 14:48:21.603090005 -0500 @@ -1,12 +1,9 @@ --- name: hydrogen-overview -description: > - 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. +description: >- + Index of the Hydrogen skills, one line each. Use when asked what Hydrogen can do, which + skill covers a Hydrogen feature, for Hydrogen help, or when a task is about the Hydrogen + app itself. --- # Hydrogen — Skill Index @@ -16,7 +13,7 @@ Claude Code, the bridges, and the Adom Wiki — zero cloud dependency. Hydrogen runs on Windows, macOS, and Ubuntu. -This index lists the **platform-generic** Hydrogen skills (the `hydrogen-bootstrap` set). +This index lists every skill the platform-generic `hydrogen-bootstrap` package ships. Every fact in these skills holds regardless of host OS. Host-specific mechanics (how the workspace is hosted, host networking, host-side recording, permissions) live in the platform layer installed alongside this set — `hydrogen-windows-bootstrap` @@ -29,6 +26,8 @@ | **hydrogen-adom-auth** | Adom login/logout, session token, auth proxy, credential replay, how auth feeds setup. | | **hydrogen-adom-bridge** | What Hydrogen and Adom Bridge (ab) are and how they work together — ab is your hands on the user's real OS (files, shell, OS screenshots, app launch, bridges). | | **hydrogen-adom-menu** | The upper-left Adom logo menu (Settings, Ports, API Explorer, DevTools, Setup/Virgin Reset) + About dialog + version readout. | +| **hydrogen-ai-agents** | Install, sign in/out and check quota for the AIs in the workspace (Claude Code, Codex, Kimi Code, Antigravity) via the `/agents` API. | +| **hydrogen-api** | The control API reference: endpoints, the control port, `GET /_manifest`, the API Explorer, which calls are destructive. | | **hydrogen-avatar** | Generate or change the user's Adom avatar and make Hydrogen show it immediately. | | **hydrogen-capture-share** | The screen-share + "AI wants access" approval + countdown the AI triggers to capture the editor; tab/screen scopes, Webview/Pup window mode. | | **hydrogen-claude-auth** | How Claude Code signs in: the OAuth flow, credential backup, the `claude-auth` step. | @@ -45,7 +44,6 @@ | **hydrogen-profile-menu** | The avatar dropdown: profile/repos/molecules links and logout. | | **hydrogen-pup** | What "pup" means and exactly how to open an AI-drivable Chrome window via the Puppeteer bridge. | | **hydrogen-self-update** | How Hydrogen updates itself. | -| **hydrogen-skill-loop** | The maintainer loop for fixing a wrong skill: verify against the live system, fix the live copy, publish the fix to its wiki package. | | **hydrogen-settings** | Hydrogen's Settings dialog + the preferences tree. | | **hydrogen-staying-current** | How workspace tooling stays current (`adom-wiki pkg update`, the adom/hook prompt hook, reload banner) and how to ship a skill/CLI/app. | | **hydrogen-tab-icons** | Webview tab icon system — `displayIcon` placeholder vs. the page's own favicon, SVG data URLs. | @@ -54,11 +52,29 @@ | **hydrogen-who-am-i** | Answer "who am I / what can I do here" — identity, resources, environment intro. | | **hydrogen-wiki-review** | After editing any wiki page, load it in pup so the user can review the rendered result. | +Maintainer-only (hidden from the skill listing; Read the file when you need it): + +| Skill | What it covers | +|---|---| +| `~/.claude/skills/hydrogen-ai-agents-dev/SKILL.md` | Design of Hydrogen's AI agent support: auth oracles, the no-duplicate-CLI rule, the toolbar and Manage AIs dialog. | +| `~/.claude/skills/hydrogen-skill-loop/SKILL.md` | Fixing a wrong Hydrogen skill: verify against the live system, fix it at its text source, publish. | + ## Platform layers Platform-specific mechanics live in a platform layer installed alongside this set: **`hydrogen-windows-bootstrap`** on Windows, **`hydrogen-mac-bootstrap`** on macOS. A platform layer adds companion skills (suffixed `*-windows` / `*-mac`) and same-named platform skills (e.g. `hydrogen-container`, -`hydrogen-networking`, `hydrogen-ports`). When a generic skill here has a -host-specific detail, look for the platform companion. +`hydrogen-networking`, `hydrogen-ports`, `hydrogen-volume`, +`hydrogen-workspace-lifecycle`). When a generic skill here has a host-specific +detail, look for the platform companion. Topics that depend on the host, such as +AI threads, setup steps, recording, captions, notifications, permissions and the +workspace container, are covered there as full skills (e.g. `hydrogen-topology`, +`hydrogen-setup`, `hydrogen-networking`, `hydrogen-ports`, +`hydrogen-workspace-lifecycle`; which ones exist varies by platform). To see +everything your platform layer added, with each skill's description: + +```bash +ls ~/.claude/skills | grep '^hydrogen-' # every installed Hydrogen skill +grep -h -A3 '^description' ~/.claude/skills/hydrogen-*-windows/SKILL.md # or -mac +``` diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-profile-menu/SKILL.md hydrogen-bootstrap/skills/hydrogen-profile-menu/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-profile-menu/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-profile-menu/SKILL.md 2026-10-22 14:31:32.616983837 -0500 @@ -1,6 +1,9 @@ --- name: hydrogen-profile-menu -description: 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. +description: >- + Hydrogen's profile menu, the avatar dropdown in the top-right corner: links to your Adom + profile, repositories and molecules, and logout behind a confirm dialog. Use when asked + how to log out, where Your profile is, about the login page, or why am I locked out. --- # Hydrogen Profile Menu diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-pup/SKILL.md hydrogen-bootstrap/skills/hydrogen-pup/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-pup/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-pup/SKILL.md 2026-10-22 14:34:40.650744772 -0500 @@ -1,16 +1,9 @@ --- name: hydrogen-pup -description: > - 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. +description: >- + What "pup" means in Hydrogen and how to open one: a real, AI-drivable Chrome window from + Adom Bridge's Puppeteer bridge, where localhost URLs work. Use when the user says show + me in pup, open it in pup, pup window, or drive a browser. --- # hydrogen-pup — "pup" is a real drivable browser window on this machine @@ -54,8 +47,10 @@ | Ask | Surface | Skill | |---|---|---| | "show me in **webview**" | native Hydrogen webview tab | `hydrogen-webview` | -| "show me in **pup**" / drive it | isolated Puppeteer Chrome (this skill) | `pup` for deep driving | +| "show me in **pup**" / drive it | isolated Puppeteer Chrome (this skill) | `pup` (adom/pup-bridge) for deep driving | | use **my** logins / my real browser | user's signed-in Chrome/Edge | nbrowser / adom-browser-extension | For deep pup driving (tabs, sessions, recording, eval), the full `pup` skill -applies — this skill exists so the word "pup" always routes correctly in Hydrogen. +applies (it ships in adom/pup-bridge: `adom-wiki pkg install adom/pup-bridge`, or read it with +`adom-wiki repo show adom/pup-bridge SKILL.md`) — this skill exists so the word "pup" always +routes correctly in Hydrogen. diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-self-update/SKILL.md hydrogen-bootstrap/skills/hydrogen-self-update/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-self-update/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-self-update/SKILL.md 2026-10-22 14:31:32.616983837 -0500 @@ -1,6 +1,10 @@ --- name: hydrogen-self-update -description: "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." +description: >- + How the Hydrogen app itself (not the workspace tooling) updates: the restart-to-update + banner and the consent-based AI path through /updater. Use when asked is there a + Hydrogen update, update Hydrogen, what version of Hydrogen am I on, or relaunch to + update. --- # Hydrogen Self-Update — the app updates itself (a banner + an AI path) diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-settings/SKILL.md hydrogen-bootstrap/skills/hydrogen-settings/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-settings/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-settings/SKILL.md 2026-10-22 14:31:32.616983837 -0500 @@ -1,20 +1,10 @@ --- name: hydrogen-settings -description: > - 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. +description: >- + Hydrogen's Settings dialog and its preferences: theme, vim mode, launch on boot, console + on startup, 3D control style, fonts, line numbers, the embedded Adom Bridge options. Use + when asked how to turn on vim mode, change the theme, make Hydrogen launch on boot, or + where the settings are. --- # Hydrogen Settings — the preference tree diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-skill-loop/SKILL.md hydrogen-bootstrap/skills/hydrogen-skill-loop/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-skill-loop/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-skill-loop/SKILL.md 2026-10-22 14:33:45.079326214 -0500 @@ -1,16 +1,10 @@ --- name: hydrogen-skill-loop -description: > - 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. +description: >- + Maintainer loop for fixing a wrong Hydrogen skill: verify against the running system, + fix the live copy, fix the text at its source, publish. Use when a skill is wrong or + stale, or to publish a skill fix. +disable-model-invocation: true --- # Hydrogen Skill Loop — verify → fix live → fix the source → publish @@ -27,12 +21,24 @@ code. Observe the real return shape. If you can't test a claim, don't state it as fact. (Most skill bugs are confident, untested assertions.) -## Where skills live — two copies +## Where skills live — the live copy and the text source | Copy | Where | Role | |---|---|---| | **Live (ephemeral)** | `~/.claude/skills//SKILL.md` (flat) | What the running AI reads NOW. Editing here fixes THIS session and lets you test — but the next package update replaces it. | -| **Canonical (wiki package)** | the wiki package that ships the skill (e.g. `adom/hydrogen-bootstrap`, `adom/hydrogen-mac-bootstrap`, `adom/hydrogen-windows-bootstrap`) | What every workspace installs. A fix isn't done until it's published here. | +| **Text source** | depends on the package (below) | Where the fix must land, or the next publish brings the old text back. | +| **Shipped (wiki package)** | the wiki package that ships the skill (`adom/hydrogen-bootstrap`, `adom/hydrogen-windows-bootstrap`, `adom/hydrogen-mac-bootstrap`, or any other) | What every workspace installs. A fix isn't done until it's published here. | + +**The text source:** +- **`hydrogen-*` skills in the Hydrogen bootstraps:** the ah (hydrogen-desktop) repo, + `skills/public-facing/`. `scripts/publish-skills-to-bootstrap.sh ...` ships them to + `adom/hydrogen-bootstrap`: it clones that wiki repo, refuses to clobber lines that exist only + in the wiki copy, bumps the patch version and publishes. So a direct wiki fix is safe (the + script will not overwrite it), but it must be back-ported into `skills/public-facing/` or the + next run of the script aborts on it. The script refuses a skill that lives in a platform + layer; those are published from that layer's page repo (e.g. + `adom/hydrogen-windows-bootstrap`), and the text is back-ported the same way. +- **Every other package:** its wiki page repo is the source. Clone it, edit, publish. Find which package owns a skill: `adom-wiki pkg list` shows installed packages; the skill's frontmatter and content usually name their set, and the package's @@ -55,15 +61,20 @@ then **re-run the failing action** to confirm the fix actually works. ### 4. Fix the source — BOTH wiki surfaces -A wiki package has two surfaces and a fix must land on both, or the wiki page -still shows the stale skill: +For a `hydrogen-*` bootstrap skill, edit `skills/public-facing/` in the ah repo and run +`scripts/publish-skills-to-bootstrap.sh `; it does the steps below for you. If you fix the +wiki copy directly instead, back-port the same edit into `skills/public-facing/`. + +For any other package, a fix must land on both wiki surfaces, or the wiki page still shows +the stale skill: 1. **The page repo** (what renders at `/skills`): clone it, apply the same edit, push with `adom-wiki repo push / --files skills//SKILL.md -m "..."`. 2. **The package artifact** (what `pkg install/update` delivers): from the same edited tree, bump `version` in `package.json`, strip AppleDouble junk (`find . -name "._*" -delete`), then - `COPYFILE_DISABLE=1 adom-wiki pkg publish --org --skip-lint -y`. + `COPYFILE_DISABLE=1 adom-wiki pkg publish --org `. Fix lint errors rather than + skipping the linter. Staging both from one clone of the page repo keeps them identical. diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-staying-current/SKILL.md hydrogen-bootstrap/skills/hydrogen-staying-current/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-staying-current/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-staying-current/SKILL.md 2026-10-22 14:33:46.135369695 -0500 @@ -1,6 +1,10 @@ --- name: hydrogen-staying-current -description: 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. +description: >- + How a Hydrogen workspace stays current: adom-wiki pkg update through the adom/hook + prompt hook, the code-server reload banner, and how to ship a skill, CLI or app to every + workspace. Use when asked how updates work, how to get the latest skills, or how to + distribute a tool to all users. --- # How this workspace stays up to date @@ -32,6 +36,6 @@ org members only: your org's `org-bootstrap` · Hydrogen skills: add the skill to the matching bootstrap package and republish it (`adom/hydrogen-bootstrap` for platform-generic, `adom/hydrogen-windows-bootstrap` / `adom/hydrogen-mac-bootstrap` - for platform-specific — see **hydrogen-skill-loop** for the publish recipe). + for platform-specific — see `~/.claude/skills/hydrogen-skill-loop/SKILL.md` for the publish recipe). The hook's re-resolve delivers it fleet-wide within ~30 minutes of users prompting. diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-tab-icons/SKILL.md hydrogen-bootstrap/skills/hydrogen-tab-icons/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-tab-icons/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-tab-icons/SKILL.md 2026-10-22 14:33:46.135369695 -0500 @@ -1,22 +1,9 @@ --- name: hydrogen-tab-icons -description: > - 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 `` - 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:` 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. +description: >- + How Hydrogen webview tab icons work: displayIcon is only a pre-load placeholder that the + page's own favicon overrides, so serve the favicon you want. Use when a webview tab icon + is not showing or reverts after page load, or for a custom mdi or SVG tab icon. --- # Hydrogen Webview Tab Icons @@ -327,12 +314,11 @@ ## See also -- `~/.claude/skills/adom/guides/adom-workspace-control.md` — the full - workspace API reference that documents `displayIcon` as a - `panelState` field (but buries the favicon-override behavior). -- `~/.claude/skills/adom/webview/SKILL.md` — Web View panel actions - (navigate, refresh, setHeaderHidden, setProxyEnabled). -- `~/.claude/skills/adom/guides/app-creator.md` — app conventions - including the `docs/icon.svg` brand-icon requirement. +- the `adom-workspace-control` skill — the full workspace API + reference that documents `displayIcon` as a `panelState` field + (but buries the favicon-override behavior). +- the `hydrogen-webview` skill and `adom-cli hydrogen webview --help` — + Web View panel actions (navigate, open-or-refresh, set-header, set-proxy). +- the `app-creator` skill — app conventions. - [iconify MDI catalog](https://icon-sets.iconify.design/mdi/) — the searchable list of every `mdi:`. diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-webview/SKILL.md hydrogen-bootstrap/skills/hydrogen-webview/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-webview/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-webview/SKILL.md 2026-10-22 14:33:46.139369861 -0500 @@ -1,18 +1,10 @@ --- name: hydrogen-webview -description: > - 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. +description: >- + What "webview" means in Hydrogen: a native workspace tab opened with adom-cli hydrogen + webview open-or-refresh, never VS Code's Simple Browser; plus the External Webview for + sites that refuse embedding. Use when the user says show me in webview, open in webview, + wv or extwv. --- # hydrogen-webview — "webview" means a native Hydrogen webview tab. Period. @@ -34,17 +26,17 @@ ## ⭐ URLs for YOUR OWN servers: direct port, NOT /proxy// -Hydrogen Desktop makes every port you bind inside the workspace reachable DIRECTLY from the +Hydrogen (ah) makes every port you bind inside the workspace reachable DIRECTLY from the host at `http://localhost:/` (WSL2 mirrored networking on Windows, Lima port forwarding on macOS). So when you launch a web server on port 8850, the webview URL is: ``` -http://localhost:8850/ ✅ the Hydrogen Desktop way -http://localhost:7380/proxy/8850/ ❌ Web Hydrogen habit — do not default to this here +http://localhost:8850/ ✅ the Hydrogen (ah) way +http://localhost:7380/proxy/8850/ ❌ Hydrogen Cloud (hc) habit — do not default to this here ``` The `/proxy//` route through code-server (what `VSCODE_PROXY_URI` points at) exists for -Web Hydrogen parity and as the fallback when mirrored networking is off. On Hydrogen Desktop +Hydrogen Cloud (hc) parity and as the fallback when mirrored networking is off. On ah it costs you: an extra code-server hop, absolute-path assets (`/style.css`) break, and the page dies whenever the editor reloads. Use the direct port; if it does not answer, check the host port mapping first (the `hydrogen-networking` skill) before reaching for /proxy. diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-welcome/SKILL.md hydrogen-bootstrap/skills/hydrogen-welcome/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-welcome/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-welcome/SKILL.md 2026-10-22 14:31:32.616983837 -0500 @@ -1,12 +1,9 @@ --- name: hydrogen-welcome -description: > - 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. +description: >- + The Hydrogen welcome page shown after setup completes: a local static page + (welcome.html) with an Open Claude Code button, not the adom.inc homepage. Use when + asked about the welcome page or tab, or to show the welcome page again. --- # Hydrogen Welcome Page diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-who-am-i/SKILL.md hydrogen-bootstrap/skills/hydrogen-who-am-i/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-who-am-i/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-who-am-i/SKILL.md 2026-10-22 14:31:32.616983837 -0500 @@ -1,6 +1,9 @@ --- name: hydrogen-who-am-i -description: 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. +description: >- + How to answer "who am I and what can I do here?", the first question Hydrogen's welcome + step asks: which data to pull, Linux vs Adom username, and a template answer. Use when + asked who am I, what can I do here, what is this environment, or what can Hydrogen do. --- # Hydrogen Who Am I — answer the welcome-step prompt coherently diff -ruN -x '._*' -x __pycache__ hydrogen-bootstrap.orig/skills/hydrogen-wiki-review/SKILL.md hydrogen-bootstrap/skills/hydrogen-wiki-review/SKILL.md --- hydrogen-bootstrap.orig/skills/hydrogen-wiki-review/SKILL.md 2026-10-22 14:26:54.704268034 -0500 +++ hydrogen-bootstrap/skills/hydrogen-wiki-review/SKILL.md 2026-10-22 14:31:32.616983837 -0500 @@ -1,12 +1,9 @@ --- name: hydrogen-wiki-review -description: > - 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. +description: >- + After editing any wiki.adom.inc page, load it in pup so the user can check the rendered + result, and post a screenshot to the shotlog. Use after an adom-wiki push or publish, or + when asked to show, review or verify a wiki page. --- # Show every wiki edit in pup for review