pbip

Validates and manages Power BI Project structure, renames, forks, and cross-references.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Power BI Project (PBIP) folders contain many interdependent files (.pbip, .pbir, .pbism, .platform, TMDL, PBIR JSON) where renames, forks, or manual edits silently break references, orphan pages, or cause Power BI Desktop to ignore content without errors. This Skill provides the structural knowledge and validation tooling to keep PBIP projects consistent.

Core Features & Use Cases

  • Project Structure Guidance: Explains thick vs thin reports, byPath vs byConnection dataset references, page folder naming rules, and SharedResources path resolution.
  • Automated Validation: The validate_pbip.py script checks .platform identity, TMDL vs TMSL format conflicts, orphan page folders, invalid page names, missing theme resources, and M expression/table name collisions, delegating deep report checks to pbir validate.
  • Rename & Fork Workflows: Detailed cascade references show every location (visual JSON, bookmarks, filters, DAX queries, culture files) that must update when renaming tables, measures, or columns, plus step-by-step project forking.
  • Use Case: After renaming a table from Customers to Customer, run the validator and grep checks to confirm no stale Entity references remain in sparkline metadata, conditional formatting, or bookmark filters.

Quick Start

Ask the agent to validate my PBIP project at the current folder and report any broken references or structural errors.

Frequently Asked Questions about pbip

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

FAQPage Schema
How do I validate a Power BI Project (PBIP) folder?

Run validate_pbip.py against the .pbip file, project root, or .Report folder. It checks .platform identity, datasetReference resolution, orphan pages, and theme resources, and delegates deep report validation to pbir validate when available.

What is the difference between thick and thin Power BI reports?

A thick report bundles both .Report and .SemanticModel folders with a byPath reference in definition.pbir. A thin report has only .Report and connects to a remote semantic model via a byConnection connection string.

How do I rename a table in a PBIP project without breaking reports?

Rename the model object with te mv --save, then repair reports with pbir fields replace or replace-table. Verify with grep across JSON, TMDL, and DAX files, checking sparkline metadata, bookmarks, filters, and sort definitions.

Why does my Power BI page disappear after renaming its folder?

Power BI Desktop silently ignores page folders whose names contain characters outside letters, digits, underscore, and hyphen. The folder name must also exactly match the name field in page.json and the slug in pages.json pageOrder.

Can I convert a PBIX file to PBIP programmatically?

No supported external conversion exists. Use Power BI Desktop File > Save As > Power BI Project (.pbip). Treat PBIX as an opaque binary and do not unzip or patch its internals.

When should I use TMDL versus model.bim for the semantic model?

TMDL (the definition/ folder) is the preferred format for source control because it produces per-table files with readable diffs. model.bim (TMSL) is the legacy single-file alternative, and the two formats are mutually exclusive.