hefesto
Skill0 starsChanged 4 months agoMITView on GitHub
Build accessible, secure, verified standalone HTML dashboards from local or sanitized data, using an offline HTML/CSS/SVG mode by default and Highcharts CDN or self-hosted modes only after explicit license confirmation. Use for dashboards, KPI pages, data stories, Highcharts-inspired visualizations, or HTML reporting artifacts.
In this repository33 other files it gives its agents.
- AGENTS.mdAGENTS.md
- argosSkill
- ask-mattSkill
- atenaSkill
- clioSkill
- codebase-designSkill
- code-reviewSkill
- diagnosing-bugsSkill
- domain-modelingSkill
- grillingSkill
- grill-meSkill
- grill-with-docsSkill
- handoffSkill
- hermesSkill
- implementSkill
- improve-codebase-architectureSkill
- medusaSkill
- metisSkill
- prometeuSkill
- prototypeSkill
- researchSkill
- resolving-merge-conflictsSkill
- setup-matt-pocock-skillsSkill
- tddSkill
- teachSkill
- to-questionnaireSkill
- to-specSkill
- to-ticketsSkill
- triageSkill
- wait-whatSkill
- wayfinderSkill
- wizardSkill
- writing-for-agentsSkill
The file
We split this skill into the rules it gives an agent
4 rules. About 0 are common, 1 is distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
Use assets/dashboard-brief.md to capture audience, decision, grain, period, refresh time, units, definitions, sources, filters, privacy …
- Very specific: line 42
Run node scripts/build-dashboard.mjs --help.
- Very specific: line 46
Run node scripts/validate-dashboard.mjs <dashboard.html> --mode <mode>.
- Very specific: line 50
Read references/highcharts-safety.md before either Highcharts mode and for the complete chart/security/QA checklist.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Hefesto
Build the smallest dashboard that answers the decision. Reconcile every KPI and chart with the input data before polishing visuals.
Choose a rendering mode
offline-basic: default; use original HTML/CSS/SVG and embedded sanitized data. No Highcharts, network, or external export service.highcharts-cdn: require explicit user confirmation that their use and license permit it. Use only the fixed official CDN allowlist and provide an offline textual/table fallback.highcharts-self-hosted: require explicit confirmation and user-provided licensed files. Never download or redistribute vendor binaries.
AI-generated Highcharts output remains subject to Highsoft licensing. A platform that lets third parties generate dashboards may require OEM terms. State that this is an engineering precaution, not legal advice. Never copy demo code; use official demos only as visual/design references and create original configuration.
Progressive build
1. Freeze the dashboard contract
Use assets/dashboard-brief.md to capture audience, decision, grain, period, refresh time, units, definitions, sources, filters, privacy class, success criteria, and rendering/license mode. Resolve competing KPI definitions before coding.
Gate: each KPI has one formula, numerator/denominator where applicable, aggregation rule, owner, and reconciliation total.
2. Reconcile and profile data
Confirm row counts, uniqueness, missingness, duplicates, joins, and aggregate tie-outs against the source. Exercise empty, null, zero, negative, outlier, unordered-date, sparse-series, long-label, and single-point cases. Do not convert missing values to zero unless the metric definition says they are equivalent.
Gate: record reconciliation evidence and unresolved data-quality limitations. Stop if the dashboard could imply a false comparison.
3. Design the information path
Sketch in this order: orientation, decision-driving KPIs, comparison/trend, diagnostic detail, definitions/source. Choose a chart from the analytical question and data shape, not aesthetics. Every chart needs a title, plain-language insight description, named series, axes/units, time zone where relevant, source, and equivalent table.
Checkpoint: show the hierarchy and chart choices before investing in polish when they materially affect interpretation.
4. Build defensively
Use a responsive original layout. Do not use color as the only signal. Support keyboard access, 200% zoom/reflow, high contrast, and reduced motion. Embed sanitized data only; normalize accepted fields, escape HTML and </script>, reject callbacks/arbitrary URLs, keep Highcharts HTML filtering enabled, and use a restrictive Content Security Policy. Disable external export fallback.
Run node scripts/build-dashboard.mjs --help. The builder accepts a deliberately small schema; extend it only with equally strict normalization.
5. Verify behavior and meaning
Run node scripts/validate-dashboard.mjs <dashboard.html> --mode <mode>. Then inspect at approximately 320, 768, and 1440 pixels with keyboard, zoom, console, and network checks. Recompute every displayed KPI/chart point from its source, test filter combinations, and review screenshots for clipping and misleading scales.
Delivery evidence: include the frozen brief, data/reconciliation limitations, generated HTML, renderer/license mode, deterministic validator result, manual viewports/accessibility checks, and any untested behavior. Passing scripts do not prove visual quality, accessibility conformance, semantic correctness, or license sufficiency.
Read references/highcharts-safety.md before either Highcharts mode and for the complete chart/security/QA checklist.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

