vega-lite-authoring
Vega-Lite Authoring
Guide for authoring and debugging Vega-Lite specifications.
Use when
- The task is general Vega-Lite authoring, chart design, encoding choice, transform design, or multi-view composition.
- You need params, selections, conditional encodings, or invalid-data handling in a Vega-Lite-first chart.
- The chart should stay high-level and declarative unless a lower-level grammar is clearly required.
Do not use when
- The real task is Deneb or Power BI host work;
deneb-authoringshould lead and apply Vega-Lite after host constraints are locked. - The requirement depends on lower-level signals, event streams, or scenegraph control that Vega-Lite cannot express cleanly.
- The user only needs raw Vega structure or debugging.
Precedence / handoff
- If the host is Deneb or Power BI, let
deneb-authoringlead and keep this skill focused on the Vega-Lite grammar portion. - If the design becomes awkward because of low-level interaction or scenegraph requirements, hand off to
vega-authoring. - Stay in Vega-Lite when a minimal spec with marks, encodings, transforms, params, and composition remains readable.
Required reasoning steps
- Confirm Vega-Lite is sufficient before escalating to raw Vega.
- Start with the smallest valid spec: data, mark, and the minimum encoding.
- Decide whether a transform belongs in top-level
transformor inline encoding shorthand. - For interaction, choose params deliberately and distinguish simple variables from selection params.
- For multi-view work, choose
layer,facet,concat, orrepeatintentionally and defineresolveonly when defaults are wrong.
Output contract
Always return:
- the chosen grammar and why Vega-Lite is appropriate
- assumptions about data shape, field names, and host/runtime
- a minimal working Vega-Lite spec first
- optional refinements separately
- version caveats when syntax may depend on runtime
- likely host or interaction risks
- the next debugging step if the first attempt fails
Version policy
- Default to stable Vega-Lite docs and the current v6 schema reference.
- If the host embeds an older Vega-Lite runtime, the host version wins over upstream docs.
- Keep the solution in Vega-Lite unless the requirement clearly needs raw Vega.
- Prefer curated references in this skill over copied tutorials; load the smallest relevant file first.
Known failure modes
- Escalating to raw Vega too early for work Vega-Lite handles well.
- Starting with layered or faceted complexity before proving the single-view spec.
- Treating params, invalid-data handling, or
resolveas afterthoughts. - Mixing incompatible composition operators or forgetting where
resolveapplies. - Relying on defaults when invalid values, sorting, or layout behavior actually need explicit control.
Load references
- Load
references/spec-structure.mdfirst for common and top-level Vega-Lite structure. - Load
references/encoding-and-marks.mdfor channels, field definitions, and mark choice. - Load
references/transforms.mdfor transformation order and shaping logic. - Load
references/view-composition.mdforlayer,facet,concat,repeat, andresolve. - Load
references/params-and-interactivity.mdfor params, selections, predicates, and interaction behavior. - Load
references/invalid-data.mdwhen nulls, NaNs, or missing values affect marks or scales.
More from mylesmcook/mcook-skills
adversarial-review
Use this skill when you need a serious code review, diff review, or implementation-plan review from independent reviewers. In Codex hosts, prefer a fresh Codex subagent for the Codex reviewer; otherwise use the Codex, Claude Code, and Gemini reviewer paths when available. Return a PASS, CONTESTED, or REJECT verdict.
13subagent-driven-development
Use after an implementation plan is approved to execute mostly independent tasks through fresh subagents with scoped context, harness-aware model routing, proportional review gates, and mandatory controller verification.
10brainerd
>
10simple-code
Reduce incidental complexity in code and design. Use when shaping APIs, module boundaries, refactors, tests, naming, and architecture tradeoffs with a bias toward concrete, local, reversible solutions.
7git-it-out
Use this skill when the user explicitly wants final end-of-session closeout and no more branch or PR limbo: proper verification, proper commits, main/mainline landing, push, repo-native merge/release/deploy/publish steps, tracker updates, Entire/checkpoint handling when configured, and a concise handoff. Reach for it on prompts like 'git it out', 'get it out', 'ship this', 'I'm done', 'I'm going to bed', 'take this off my plate', 'finish the session', or 'get this into production'. Do not use it for greenfield implementation, open-ended debugging, broad refactors, or inventing a release process from scratch.
7laws-of-taste
>-
6