deneb-visuals
Deneb visual creation, Vega/Vega-Lite spec authoring, and Deneb best practices for PBIR reports. Automatically invoke whenever…
DAX performance optimization for semantic models. Automatically invoke when the user asks to "optimize DAX", "fix slow DAX", "DAX performance", "tune a measure", "debug a measure", "DAX anti-patterns", or mentions slow queries, server timings, or DAX authoring.
Claude Code
$ npx -y skills add data-goblin/power-bi-agentic-development --skill dax --agent claude-code
Codex
$ npx skills add data-goblin/power-bi-agentic-development --skill dax -a codex -y
Cursor
$ npx skills add data-goblin/power-bi-agentic-development --skill dax -a cursor -y
Gemini CLI
$ npx skills add data-goblin/power-bi-agentic-development --skill dax -a gemini-cli -y
GitHub Copilot
$ npx skills add data-goblin/power-bi-agentic-development --skill dax -a github-copilot -y
OpenCode
$ npx skills add data-goblin/power-bi-agentic-development --skill dax -a opencode -y
Windsurf
$ npx skills add data-goblin/power-bi-agentic-development --skill dax -a windsurf -y
name: dax description: DAX performance optimization for semantic models. Automatically invoke when the user asks to "optimize DAX", "fix slow DAX", "DAX performance", "tune a measure", "debug a measure", "DAX anti-patterns", or mentions slow queries, server timings, or DAX authoring.
Skills and references for writing, debugging, and optimizing DAX in semantic models.
Write column references as `'Table'[Column]`: the table name is always present and always in single quotes. Write measure references as `[Measure]`, never prefixed with a table. This applies everywhere DAX or model metadata names an object: measure, calculated column and calculation item expressions, RLS filters, format string expressions, DAX queries (`te query`, `pbir model -q`), and descriptions or annotations that mention an object.
Why: a measure belongs to the model rather than to its home table, so moving it between tables must not change any expression that uses it; a bare `[Measure]` also tells the reader at a glance that it is a measure and not a column. An unqualified column is ambiguous as soon as two tables share a column name, and quoting every table name keeps one consistent form whether or not the name needs quotes.
For systematic DAX query performance optimization, read the workflow reference first:
**[`references/dax-performance-optimization.md`](./references/dax-performance-optimization.md)** — Tiered framework (4 tiers), phased workflow, decision guide, and error handling.
Detailed reference files (progressive disclosure — consult as directed by the workflow):
Trace capture and performance profiling:
Power BI AI skills and Power BI agents for Claude Code and GitHub Copilot: a plugin marketplace of Power BI skills, subagents, and hooks for semantic models, DAX, TMDL, reports, and AI dashboards. Includes Microsoft Fabric skills and Fabric agents. Weekly updates.
Deneb visual creation, Vega/Vega-Lite spec authoring, and Deneb best practices for PBIR reports. Automatically invoke whenever…
Power BI custom visual (.pbiviz) development with the pbiviz toolchain and its MCP server. Automatically invoke when the user…
Python visual creation and matplotlib/seaborn patterns for PBIR reports. Automatically invoke when the user mentions "Python…
R visual creation and ggplot2 patterns for PBIR reports. Automatically invoke when the user mentions "R visual", "ggplot2",…
SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports,…
Design and revise Claude Dashboards that people trust and can read at a glance, and handle the comments people leave on them. Use…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.