deneb-authoring
Deneb Authoring
Use this skill for Deneb in Power BI: dataset binding, PBIR, templates, interactivity, theme alignment, and editor workflow.
Use when
- The task is about Deneb, Power BI, PBIR, report-theme integration, dataset binding, template metadata, or Deneb interactivity.
- You need to author or debug a Vega or Vega-Lite visual that must run inside Deneb.
- The request mentions cross-filtering, cross-highlighting, Power BI tooltips, report themes, or editor workflow in Deneb.
Do not use when
- The task is plain Vega or plain Vega-Lite work outside Deneb and Power BI.
- The user only needs generic chart grammar advice with no Deneb host constraints.
- The requirement is a host-agnostic Vega or Vega-Lite example that should not be shaped by Power BI behavior.
Precedence / handoff
- This skill leads for Deneb and Power BI visual work, even when the embedded grammar is Vega or Vega-Lite.
- Lock host constraints first:
datasetbinding, row identity, external-resource limits, interactivity implications, runtime/version caveats, and PBIR persistence rules. - Default to Vega-Lite after host constraints are clear.
- Switch to raw Vega only when Vega-Lite cannot express the required behavior cleanly, especially for lower-level signal or event-stream work.
Required reasoning steps
- Confirm the Deneb host context, provider choice, and whether PBIR or template metadata is involved.
- Lock the
datasetcontract, actual field/display names, and any field sanitization concerns before writing encodings. - Identify whether interactivity depends on preserving row identity and call out transforms or aggregation that could break reconciliation.
- Choose Vega-Lite by default; escalate to raw Vega only when the requirement justifies it.
- Produce the smallest working Deneb-ready spec or PBIR payload first, then add optional interactivity, theme integration, or template metadata.
Output contract
Always return:
- the chosen grammar and why
- assumptions about host context, data shape, field names, and provider/runtime
- a minimal working Deneb-ready spec first
- optional refinements separately
- version caveats when Deneb's embedded runtime or PBIR behavior may lag upstream docs
- likely host-specific risks
- the next debugging step if the first attempt fails
Version policy
- Prefer stable Deneb docs over canary or
nextdocs. - Pin PBIR guidance in this skill to the stable 1.9 line for this pass.
- Treat Deneb's embedded Vega or Vega-Lite runtime as authoritative over upstream grammar docs when features conflict.
- Keep copied reference text short and curated; do not mirror large doc pages.
Known failure modes
- Forgetting to bind
datasetor using the wrong field names from the Values well. - Mutating or aggregating data in ways that break row reconciliation for Power BI interactivity.
- Assuming certified Deneb visuals can fetch external resources.
- Using upstream Vega or Vega-Lite features that are newer than Deneb's embedded runtime.
- Mixing plain Vega or Vega-Lite template JSON with Deneb template metadata rules.
Load references
- Load
references/overview-and-dataset.mdfirst for dataset binding, field naming, and host constraints. - Load
references/editor-workflow.mdfor advanced editor workflow, provider switching, debug panes, and runtime/version checks. - Load
references/interactivity.mdwhen selection, highlight, tooltips, or row reconciliation matter. - Load
references/performance-and-theme.mdwhen row limits, renderer choice, or report-theme integration matter. - Load
references/pbir-guide-1-9.mdfor PBIR persistence and property structure. - Load
references/template-structure.mdfor Deneb template metadata shape. - Load
references/templates-and-usermeta.mdwhen importing, exporting, or adapting templates.
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