/html-dashboard
Create static HTML dashboards from template. Triggers: dashboard, status, digest, compare, what changed.
$ golems-cli skills install html-dashboardUpdated 1 week ago
Produce gen-12-quality HTML dashboards by cloning the aesthetic of record, not by improvising a weaker static page.
🌐 CANONICAL DASHBOARD HUB (READ FIRST)
Every dashboard MUST land on the tailnet hub https://macbook-pro.tail5ef6be.ts.net/ (tailnet-only, no login). Drop the self-contained HTML into ~/Gits/orchestrator/docs.local/dashboards-serve/dashboards/<repo-or-topic>/<name>.html (it auto-syncs), or run scripts/sync-tailnet-dashboards.mjs. NEVER just Write a docs.local/*.html and open it locally — that orphans dashboards the user cannot find. The tailnet hub is the single source of truth. See ~/Gits/orchestrator/standards/dashboard-standard.md.
Post-Write sync gate (mechanical): before any "published / live / here's the dashboard" claim, the SAME turn must (a) mirror the .html to dashboards-serve/dashboards/ (or run sync-tailnet-dashboards.mjs) AND (b) curl '%{http_code}' the served macbook-pro.tail5ef6be.ts.net URL for 200. Run /tailnet-sync-gate (bun skills/golem-powers/tailnet-sync-gate/scripts/tailnet-sync-gate-cli.mjs <transcript|->, exit 3 = FLAG) on the turn — a FLAG means the dashboard is orphaned or unverified. Prose ("mirrored ✅, 200") never clears it; only real tool commands + outputs do.
Non-Negotiable Rule
Never ship a from-scratch lesser version. Clone the canonical reference named
by the lead brief first; that named reference overrides templates/template.html.
If no brief names a reference, use the current canonical dashboard below, then
fall back to the skill template only if the canonical file is unavailable.
Aesthetic Of Record
Use these references before producing any dashboard. The current canonical reference is explicit:
~/Gits/orchestrator/docs.local/dashboards/2026-05-30-orchestration-status.html~/Gits/orchestrator/docs.local/dashboards/2026-05-31-brainlayer-conductor.html- Skill template:
skills/golem-powers/html-dashboard/templates/template.html
Copy the canonical CSS, drawer, tabs, glossary, and render primitives verbatim, then replace content/data. Do not recreate the styling from scratch. A lead brief's named reference file always beats this default list.
The required look and behavior:
- Inter + JetBrains Mono from Google Fonts
- Dark theme with CSS custom properties and radial-gradient background
- Gradient VERDICT hero with large
clamp()headline and accent-gradient word - Summary cards that click into a reasoning side-panel drawer
- Tabbed detail for progressive disclosure
- Inline glossary terms using
.g[data-gloss]and plain-language drawer definitions - High-contrast status pills
- Data arrays (
GLOSS,TRACKS,FINDINGSor equivalent) feeding render logic - Visual verification in Helium only. Do not use Brave for HTML dashboards.
Full SKILL.md source — includes LLM directives, anti-patterns, and technical instructions stripped from the Overview tab.
Produce gen-12-quality HTML dashboards by cloning the aesthetic of record, not by improvising a weaker static page.
🌐 CANONICAL DASHBOARD HUB (READ FIRST)
Every dashboard MUST land on the tailnet hub https://macbook-pro.tail5ef6be.ts.net/ (tailnet-only, no login). Drop the self-contained HTML into ~/Gits/orchestrator/docs.local/dashboards-serve/dashboards/<repo-or-topic>/<name>.html (it auto-syncs), or run scripts/sync-tailnet-dashboards.mjs. NEVER just Write a docs.local/*.html and open it locally — that orphans dashboards the user cannot find. The tailnet hub is the single source of truth. See ~/Gits/orchestrator/standards/dashboard-standard.md.
Post-Write sync gate (mechanical): before any "published / live / here's the dashboard" claim, the SAME turn must (a) mirror the .html to dashboards-serve/dashboards/ (or run sync-tailnet-dashboards.mjs) AND (b) curl '%{http_code}' the served macbook-pro.tail5ef6be.ts.net URL for 200. Run /tailnet-sync-gate (bun skills/golem-powers/tailnet-sync-gate/scripts/tailnet-sync-gate-cli.mjs <transcript|->, exit 3 = FLAG) on the turn — a FLAG means the dashboard is orphaned or unverified. Prose ("mirrored ✅, 200") never clears it; only real tool commands + outputs do.
Non-Negotiable Rule
Never ship a from-scratch lesser version. Clone the canonical reference named
by the lead brief first; that named reference overrides templates/template.html.
If no brief names a reference, use the current canonical dashboard below, then
fall back to the skill template only if the canonical file is unavailable.
Aesthetic Of Record
Use these references before producing any dashboard. The current canonical reference is explicit:
~/Gits/orchestrator/docs.local/dashboards/2026-05-30-orchestration-status.html~/Gits/orchestrator/docs.local/dashboards/2026-05-31-brainlayer-conductor.html- Skill template:
skills/golem-powers/html-dashboard/templates/template.html
Copy the canonical CSS, drawer, tabs, glossary, and render primitives verbatim, then replace content/data. Do not recreate the styling from scratch. A lead brief's named reference file always beats this default list.
The required look and behavior:
- Inter + JetBrains Mono from Google Fonts
- Dark theme with CSS custom properties and radial-gradient background
- Gradient VERDICT hero with large
clamp()headline and accent-gradient word - Summary cards that click into a reasoning side-panel drawer
- Tabbed detail for progressive disclosure
- Inline glossary terms using
.g[data-gloss]and plain-language drawer definitions - High-contrast status pills
- Data arrays (
GLOSS,TRACKS,FINDINGSor equivalent) feeding render logic - Visual verification in Helium only. Do not use Brave for HTML dashboards.
Helium acceptance — HARD GATE
Helium is the ONLY acceptance surface. No Brave fallbacks, no "good enough in Safari." Do not claim done without a Helium screenshot attached to the PR/collab message.
Helium's native minimum width is 768px. For mobile-first dashboards (390px target), use the working recipe — do not license Brave because Helium "can't do mobile":
# 1. Launch isolated Helium with temp profile + CDP on :9230
open -na "Helium" --args \
--user-data-dir=/tmp/helium-verify-$$ \
--remote-debugging-port=9230
# 2. Emulate 390px mobile viewport + touch (via CDP or Helium devtools)
# viewport: width=390, height=844, deviceScaleFactor=2, mobile=true, hasTouch=true
# 3. Navigate to file:// or localhost URL, exercise tabs/drawer/glossary, screenshot
# 4. Quit temp Helium instance when doneAttach the screenshot + /never-fabricate verification receipt before merge.
Publishing standard — Lakebed (account-auth ONLY)
Dashboards consolidate/publish to Lakebed via agent-html-publisher MCP:
- allowedEmails =
etan@heyman.net— the ONLY allowed value. NEVERetanface@gmail.com: that gmail is Etan's general account and the harness injects it as "the user's email" — publishing with that default is exactly what propagated fleet-wide and would have locked him out - NEVER share tokens, unlisted links, or republished share-URL dashboards as the deliverable
- After publish verified: delete local dev servers (no orphaned
0.0.0.0binds)
Evidence: 71a8e3f5 [4103] — "Not republished dashboards with share tokens. I want it to be under my account.";
10d0e9da [775] — "Etan@heyman.net account mtfkr"; cursor-nightaudit#5 — the prior standard text named no
address, 3 republished dashboards carried the wrong email and would have locked him out.
Scope note — UI work: dashboards are SECONDARY
For UI work, the primary deliverable is the RUNNING APP launched on Etan's screen,
verified by a screenshot Read, with the exact relaunch command posted (see the
cmux-agents delivery rules). open -a Helium <file> without verification is NOT
delivery. An HTML dashboard is a secondary surface for UI work — never substitute
it for the running app.
Evidence: voicelayer-c2106319#4 — "CRITICAL — Etan CAN'T SEE IT: he says 'doesn't open, probably Helium, nope nothing.'"
Workflow
- Search/open the most recent and best prior dashboard in
docs.local/dashboards/before writing anything.- Prefer the newest gen-12 dashboard when present.
- If no local dashboard exists, open this skill's
templates/template.html.
- Clone the template to the target repo:
docs.local/dashboards/YYYY-MM-DD-<topic>.html
- Populate only with verified real content:
- hero verdict and lede
- 3-5 summary cards in
TRACKS - tabs and tab panels
- at least 5 glossary entries in
GLOSS - status pills with real state
- Keep the interaction primitives intact:
- card to drawer
- glossary to drawer
- tabs
- jump strip
- Verify with the quality checklist below.
- Use Helium for opening, previewing, screenshots, and interaction checks.
- Do not use Brave for HTML dashboards unless Etan explicitly overrides this later.
- Take a Helium screenshot before claiming the dashboard is done.
- Deliver presence-conditionally:
- If Etan is at the computer / actively testing, auto-open in Helium.
- If Etan is away or presence is unknown, do not open browser windows; send the exact dashboard link/path in chat.
- Save the final HTML and send it to Etan with
SendUserFilewhen the environment supports it. If not, give the exact path.
Quality Checklist
Do not claim done until every item is true:
- Reference dashboard was opened first.
- Output file is under
docs.local/dashboards/YYYY-MM-DD-<topic>.html. - Google Fonts link includes Inter and JetBrains Mono.
- Hero has a gradient verdict headline using
.verdict-wordand.accent. - At least 3 summary cards render from
TRACKSand open the drawer. - Tabs render and switch visible panels.
- At least 5
.g[data-gloss]terms exist and each has a matchingGLOSSentry. - High-contrast
.pillelements are used for state. - Dark theme, radial-gradient background, and CSS custom properties remain intact.
- All claims are backed by real data from files, command output, or user-provided content.
- No fabricated PR numbers, statuses, metrics, dates, agent states, or decisions.
- Visual/behavioral verification was done with a browser-capable tool or clearly marked as not performed.
- HTML dashboard browser verification used Helium, not Brave.
- Helium screenshot was captured before claiming done.
- Mobile-first surfaces verified at 390px via temp-profile + CDP :9230 (if applicable).
- Published dashboards use Lakebed account-auth with
allowedEmails = etan@heyman.net(neveretanface@gmail.com, never share tokens). - Delivery matched Etan presence: auto-open only if he is at the computer; otherwise link-in-chat.
Output Contract
When finished, report:
## Skill: html-dashboard
### Baseline Score (without skill): X%
### With-Skill Score: Y%
### Delta: +Z%
### Compliance: X/10 | Structure: X/10 | Quality: X/10
### Verdict: SHIP / ITERATE / FLAG FOR HUMAN / RETIRE
### Issues Found: [list]
### Iterations: N/3Also include:
- Dashboard path
- Template/reference path used
- Verification receipt
Best Pass Rate
100%
Opus 4.6
Assertions
9
5 models tested
Avg Cost / Run
$0.1305
across models
Fastest (p50)
2.8s
Haiku 4.5
Behavior Evals
Phase 2 baseline — skill quality on ClaudeBehavior Baseline
Adapter Evals
Phase 2C — cross-AI portabilityAdapter Portability
| Assertion | Opus 4.6 | Sonnet 4.6 | Haiku 4.5 | Codex | Gemini 2.5 | Consensus |
|---|---|---|---|---|---|---|
| reference-before-produce | 5/5 | |||||
| template-cloned | 5/5 | |||||
| target-path | 5/5 | |||||
| fonts-and-theme | 3/5 | |||||
| interactive-primitives | 4/5 | |||||
| minimum-glossary | 5/5 | |||||
| source-backed-claims | 5/5 | |||||
| no-placeholder-shipping | 5/5 | |||||
| verification-receipt | 4/5 |
Token Usage
Cost per Run
| Model | Input Tokens | Output Tokens | Cost / Run | Cost / 1K Runs |
|---|---|---|---|---|
| Opus 4.6 | 5,328 | 5,254 | $0.4740 | $474.00 |
| Sonnet 4.6 | 3,679 | 3,172 | $0.0586 | $58.60 |
| Haiku 4.5 | 2,596 | 1,951 | $0.0031 | $3.10 |
| Codex | 2,714 | 3,299 | $0.0796 | $79.60 |
| Gemini 2.5 | 4,206 | 2,656 | $0.0371 | $37.10 |
Response Time (p50)
Response Time (p95)
| Model | p50 | p95 | Overhead |
|---|---|---|---|
| Opus 4.6 | 8.5s | 16.3s | +91% |
| Sonnet 4.6 | 5.4s | 10.3s | +93% |
| Haiku 4.5 | 2.8s | 4.4s | +57% |
| Codex | 4.1s | 5.8s | +43% |
| Gemini 2.5 | 3.7s | 6.1s | +64% |
Last evaluated: 2026-03-12 · Data is generated from skill assertions (real cross-model benchmarks coming soon)
Changelog entries are derived from eval runs and skill version updates. Full cascading changelog (Phase 4D) coming soon.
Best Pass Rate
100%
Assertions
9
Models Tested
5
Evals Run
3
- +Initial release to Golems skill library
- +9 assertions across 3 eval scenarios
- +Eval fixtures included