Update create-dashboard skill: add visualization rules, workflow, and review checklist
- Dominant language
- Go
- Stars
- 730
- Forks
- 33
- Avg merge
- 11h 47m
- Merged PRs (30d)
- 18
Description
## Summary
Update the `create-dashboard` skill (both `.claude/skills/create-dashboard/SKILL.md` and `cmd/skill_templates/create-dashboard/SKILL.md`) to a stronger version that emphasizes visualization quality, truthful charting, and a structured workflow — not just DAC authoring mechanics.
## Motivation
The current skill is mostly a syntax reference. It describes how to write YAML/TSX, connections, and named queries, but does not guide the agent on:
- How to approach a dashboard analytically (question-first, inspect data, prefer few strong charts).
- Visualization best practices (truthful axes, no pie/3D defaults, accessibility, encoding clarity).
- A reproducible CLI workflow (`dac validate` → `dac check` → `dac query` → `dac serve`).
- A review checklist before declaring a dashboard done.
Result: agents currently produce technically valid dashboards that can still be misleading, cluttered, or under-explained.
## Changes
### Metadata
- Update `description` to mention semantic models, CLI validation workflows, and visualization design.
### New sections
- **Workflow** — 8-step ordered process: inspect data → choose YAML/TSX → smallest dashboard → `dac validate` → `dac check` → `dac query` → `dac serve --port 8321` (always surface `http://localhost:8321`) → visual review.
- **Core Dashboard Rules** — start from the analytical question; match chart type to task; make each chart self-explanatory (title, takeaway, sources, units, legend). Introduces the default 3-widget pattern: text title → chart → text footnote.
- **Truthful Visualization Defaults** — zero-baseline for bars/area, no pie by default, no 3D, no default dual y-axes, labeled log scales, sorted categorical bars, consistent comparison scales, explicit benchmarks, clear actuals vs forecasts.
- **Accessibility And Readability** — colorblind-safe palette, never color alone, legends/encoding keys, readable tooltips, no pre-truncated labels, no cramped charts, prefer direct labels when appropriate.
- **DAC Guardrails** — enumerated widget types, chart types, and the rule to only use supported schema properties.
- **Query Sources** — mutually exclusive list (`query`, `sql`, `file`, `metric`, direct semantic fields).
- **Practical DAC Constraints** — `snake_case` output columns, compensate for weak legends with nearby text, keep semantic logic declarative.
- **Review Checklist** — 10-point pre-signoff list.
### Removed / simplified
- Drop `.bruin.yml` Connection Config section and `themes/` layout entry (out of skill scope).
- Drop `dac init` from the commands block; add `dac ls` and a port flag (`--port 8321`).
- Drop the separate Semantic Dashboard YAML example; keep one focused YAML example using the title/chart/footnote pattern.
- Simplify the TSX example to one metric widget; remove duplicate authoring rules now covered by the checklist.
- Fold Named Queries into Query Sources.
### Files touched
- `.claude/skills/create-dashboard/SKILL.md`
- `cmd/skill_templates/create-dashboard/SKILL.md`
Reference source for the new content: `data_playground/shanghai-v1/.claude/skills/create-dashboard/SKILL.md`.
Contributor guide
Assessment
This issue has not been assessed yet.