skills/golem-powers/html-dashboard/SKILL.md
Use when Etan asks for a dashboard, make me a dashboard, summarize work, compare these, status report, digest, what changed, or what moved. Produces gen-12-quality static HTML by cloning the proven dashboard template/reference; never build from scratch.
npx skillsauth add etanhey/golems html-dashboardInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Produce gen-12-quality HTML dashboards by cloning the aesthetic of record, not by improvising a weaker static page.
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.
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.htmlskills/golem-powers/html-dashboard/templates/template.htmlCopy 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:
clamp() headline and accent-gradient word.g[data-gloss] and plain-language drawer definitionsGLOSS, TRACKS, FINDINGS or equivalent) feeding render logicHelium 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 done
Attach the screenshot + /never-fabricate verification receipt before merge.
Dashboards consolidate/publish to Lakebed via agent-html-publisher MCP:
0.0.0.0 binds)Evidence: 71a8e3f5 [4103] — "Not republished dashboards with share tokens. I want it to be under my account."
docs.local/dashboards/ before writing anything.
templates/template.html.docs.local/dashboards/YYYY-MM-DD-<topic>.htmlTRACKSGLOSSSendUserFile when the environment supports it. If not, give the exact path.Do not claim done until every item is true:
docs.local/dashboards/YYYY-MM-DD-<topic>.html..verdict-word and .accent.TRACKS and open the drawer..g[data-gloss] terms exist and each has a matching GLOSS entry..pill elements are used for state.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/3
Also include:
tools
The human-eval UX contract for Phoenix views: turn-by-turn scrollable replay (not a scorecard), hide-but-copyable IDs, collapsed thinking, identity chips, tool filters, tiny frozen starter datasets, mark-wrong-in-thread, mobile-first. Use when: building or reviewing ANY Phoenix/eval view, annotation UI, session replay, or human-grading surface. Triggers: phoenix view, eval UI, annotation view, session replay, human eval UX, grading interface. NOT for: Phoenix data pipelines/ingest (capture scripts have their own specs).
tools
macOS systems specialist — AppKit NSPanel architecture, launchd services, socket activation, MCP bridge resilience, syspolicyd, and high-frequency SwiftUI dashboards. Use when building menu-bar apps, LaunchAgents, debugging syspolicyd/Gatekeeper/TCC, resilient UDS/MCP bridges, or SwiftUI dashboards at 10Hz+.
development
Bulk LLM-judging protocol for fleet-dispatched verdict runs (KG cluster, eval harness). Use when: dispatching or running judge workers (J1/J2/RT), planning bulk-apply from verdict JSONL, or triaging evidence_degraded outputs. Triggers: judge fleet, bulk judge, R3 verdicts, kg-judge, RT gate, evidence_degraded. NOT for: single-item code review, Phoenix view UX (use phoenix-human-view), or non-judge eval pipelines.
development
Quiet-down protocol for sprint close: when the fleet wraps, delete ALL polling crons and monitors, send ONE final dashboard + ONE message, then go SILENT. Use when: fleet wraps, all workers done, overnight queue exhausted, sprint close, Etan asleep/away with nothing approved left. Triggers: fleet wrap, wrap the fleet, stand down, going quiet, sprint close. NOT for: mid-sprint monitoring (keep your loops), spawning a successor (use /session-handoff first).