pbir-format

Reference Power BI Enhanced Report (PBIR) JSON schemas, patterns, and formatting rules.

887|131|Updated Jan 15, 2026
One-click install
npx skills add https://github.com/data-goblin/power-bi-agentic-development --skill pbir-format
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pbir-format
Source: https://github.com/data-goblin/power-bi-agentic-development/tree/main/plugins/pbip/skills/pbir-format
Command: npx skills add https://github.com/data-goblin/power-bi-agentic-development --skill pbir-format

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Working with Power BI Enhanced Report (PBIR) JSON metadata is error-prone because valid JSON does not guarantee correct rendering, and the schema spans many files (visual.json, page.json, report.json, themes, bookmarks, filters). This Skill gives an AI agent the schema knowledge and patterns needed to read, validate, and safely modify PBIR report definitions.

Core Features & Use Cases

  • PBIR Schema Reference: Detailed documentation of visual.json expressions, field references, query roles, objects vs visualContainerObjects, selectors, and schema version coupling.
  • Formatting & Theme Guidance: Theme inheritance, wildcards, visual-type overrides, conditional formatting via extension measures, and filter pane styling.
  • How-To Workflows: Guides for fixing broken field references, converting legacy report.json to PBIR, adding filters, bookmarks, images, SVG measures, and annotations.
  • Use Case: A user asks the agent to add conditional formatting to a bar chart in a PBIP project. The Skill directs the agent to centralize the logic in an extension measure in reportExtensions.json, reference theme semantic colors, and apply it via the dataViewWildcard selector rather than hand-editing raw JSON.

Quick Start

Ask the agent to explain or modify the PBIR JSON structure of a visual in your .Report folder, such as adding a filter or changing a chart's formatting.

Frequently Asked Questions about pbir-format

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I modify a Power BI PBIR report JSON file safely?

Make all report, visual, page, bookmark, filter, and theme changes through the pbir CLI rather than hand-editing JSON. Take a backup copy of the report first, and treat PBIR JSON as a read-only reference for schema context.

What is the difference between objects and visualContainerObjects in visual.json?

Objects configure the visual's inner settings like data colors and labels, while visualContainerObjects control container chrome such as title, background, border, and altText. The Skill's visual-json and visual-container-formatting references detail both patterns.

How do I add conditional formatting to a Power BI visual in PBIR format?

Define an extension measure in reportExtensions.json with dataType Text returning theme color tokens like good or bad, then reference it in the visual with a dataViewWildcard selector for per-data-point evaluation. Centralizing logic in one measure keeps formatting consistent across visuals.

Does PBIR format support legacy report.json or layout files?

No, this Skill only supports the PBIR format and does not cover legacy report.json or layout metadata. To convert a legacy report, open and save it in Power BI Desktop or follow the convert-legacy-to-pbir how-to guide.

Why does my PBIR report fail to open after editing reportExtensions.json?

Power BI Desktop fails to deserialize an empty reportExtensions.json containing only an empty entities array. Delete the file entirely when no extension measures exist, and remove the Schema extension field from visual SourceRefs.

When should formatting go in the theme instead of visual.json?

Prefer theme-level formatting because the cascade order is defaults, theme wildcards, theme visualTypes, then bespoke visual.json. Centralizing formatting in the theme means changes only need to happen in one place.