deneb-visuals
Deneb visual creation, Vega/Vega-Lite spec authoring, and Deneb best practices for PBIR reports. Automatically invoke whenever the user mentions "Deneb" in any…
Format reference for Power BI Enhanced Report (PBIR) JSON schemas and patterns. Automatically invoke when the user asks about PBIR JSON structure, visual.json properties, PBIR expressions, objects vs visualContainerObjects, theme inheritance, conditional formatting patterns,
$ npx -y skills add data-goblin/power-bi-agentic-development --skill pbir-format --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/pbir-formatContext preview
The summary Claude sees to decide when to auto-load this skill.
Format reference for Power BI Enhanced Report (PBIR) JSON schemas and patterns. Automatically invoke when the user asks about PBIR JSON structure, visual.json properties, PBIR expressions, objects vs visualContainerObjects, theme inheritance, conditional formatting patterns,
name: pbir-format description: Format reference for Power BI Enhanced Report (PBIR) JSON schemas and patterns. Automatically invoke when the user asks about PBIR JSON structure, visual.json properties, PBIR expressions, objects vs visualContainerObjects, theme inheritance, conditional formatting patterns, extension measures, bookmarks, field references, filter formatting, query roles, PBIR page structure, report wallpaper, or any PBIR metadata format question.
Skill that teaches Claude about the Power BI Enhanced Report (PBIR) JSON format to read and use it. Doesn't support legacy `report.json` or `layout` report metadata. To convert from legacy to PBIR format, users have to open and save their reports in Power BI Desktop.
Follow within reason the [mental model](./important/MENTAL-MODEL.md) when working with reports.
**Hard rule:** Treat PBIR JSON as an implementation detail. Read it when schema context is useful, but make every report, visual, page, bookmark, filter, mobile-layout, and theme change through `pbir`. Never hand-edit, text-replace, or script writes to report JSON. If `pbir` cannot express a requested mutation, stop and report the capability gap instead of inventing a raw-JSON fallback.
Desktop or `pbir report convert` for supported conversions; do not unzip, rezip, or patch PBIX internals. Do not work directly on PBIT files.
Report.Report/
+-- .pbi/localSettings.json # Local-only, gitignored
+-- .platform # Fabric Git integration
+-- definition.pbir # Semantic model connection (byPath or byConnection) can open this file in Power BI Desktop to open the report
+-- mobileState.json # PBIR-Legacy artifact only; current PBIR stores phone layout per-visual in mobile.json
+-- semanticModelDiagramLayout.json # Model diagrams
+-- CustomVisuals/ # Private custom visuals only
+-- definition/
| +-- version.json # REQUIRED -- PBIR version
| +-- report.json # REQUIRED -- report-level config, including theme, report filters, settings
| +-- reportExtensions.json # Extension measures and visual calculations (report- and visual-level DAX)
| +-- pages/
| | +-- pages.json # Page order, active page
| | +-- [PageName]/ # Power BI Desktop may generate names with spaces; recommend no spaces for human-authored names
| | +-- page.json # Page-level properties, including size, background, filters
| | +-- visuals/
| | +-- [VisualName]/
| | +-- visual.json # Visual config, formatting, and field data bindings <-- most important and complex file for report dev and formatting
| | +-- mobile.json # Mobile formatting of the visual (niche)
| +-- bookmarks/ # Bookmarks are a bad practice and should be avoided if possible!
| +-- bookmarks.json # Bookmark order and groups
| +-- [id].bookmark.json # Individual bookmark state containing a snapshot of the report basically
+-- StaticResources/
+-- RegisteredResources/ # Custom themes, images
+-- [ThemeName].json # Custom theme <-- second most important and complex file for formatting
+-- SharedResources/BaseThemes/ # Microsoft base themesFollow within reason the [mental model](./important/MENTAL-MODEL.md) when reviewing or providing feedback on reports.
1. Understand the user's request. Ask questions if necessary to clarify the business context -- focus on the business process, the users, and the model 2. Explore the report efficiently to locate relevant pages and visuals 3. Check the connected semantic model. For thin reports (`byConnection`), use `fab`, `pbir`, or `te` CLI tools to explore the model. For `byPath`, connect to the local model in Power BI Desktop. Understanding the model reveals available fields and calculation logic 4. Identify the appropriate visuals and pages to modify. Ask the user for clarification if needed 5. Plan modifications with the correct PBIR structure and property values
1. Same workflow as modifying, except the report is generated with `pbir new`. Do not scaffold
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.
Repo: data-goblin/power-bi-agentic-development
Deneb visual creation, Vega/Vega-Lite spec authoring, and Deneb best practices for PBIR reports. Automatically invoke whenever the user mentions "Deneb" in any…
Power BI custom visual (.pbiviz) development with the pbiviz toolchain and its MCP server. Automatically invoke when the user mentions "custom visual",…
Python visual creation and matplotlib/seaborn patterns for PBIR reports. Automatically invoke when the user mentions "Python visual", "matplotlib in Power BI",…
R visual creation and ggplot2 patterns for PBIR reports. Automatically invoke when the user mentions "R visual", "ggplot2", "ggplot in Power BI", or asks to…
SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports. Automatically invoke when the…
Execute arbitrary Python or PySpark code on Fabric Spark compute without creating a notebook artifact; ephemeral Livy sessions with full Delta table access.…