Agent skill · Design & Presentation

pbir-cli

This skill should be used whenever the user mentions "pbir", "pbir-cli", "Power BI reports", or "PBI reports", works with .pbir, .pbip, or .pbix files, or wants to refresh, screenshot, or visually verify a report that is open in Power BI Desktop. Covers creating, exploring, formatting, validating, and publishing Power BI reports through the pbir CLI and object model, plus driving Power BI Desktop (canvas reload, page screenshots) and querying connected or local semantic models.

data-goblingithub.com/data-goblinGitHub ↗
claude-codecopilotships scriptsGPL-3.0
Install
npx skills add data-goblin/power-bi-agentic-development --skill pbir-cli --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 119
SKILL.md size: 36 KB
Bundled scripts: yes
Path: plugins/reports/skills/pbir-cli/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 833
Language: C#

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Conveys that the skill provides a CLI workflow for Power BI reports using the pbir toolset. It covers exploring, creating, formatting, validating, and publishing Power BI reports through the pbir CLI and its object model. It includes driving Power BI Desktop (canvas reload, page screenshots) and querying connected or local semantic models. It emphasizes using pbir commands for inspection and mutation, with read-only access via pbir cat/get if needed.

How it works

  • The skill instructs the agent to perform report-related tasks exclusively through pbir commands; never edit report JSON files directly. If a mutation is not exposed by pbir, report the missing capability instead of editing files.
  • It guides reading the mental model first, then exploring reports, discovering the model, planning changes, making changes via pbir, validating after coherent batches, and verifying rendering with the Desktop bridge when applicable.
  • It defines a general workflow including: pbir desktop list to locate running Desktop instances, pbir ls and pbir tree for structure, pbir validate, pbir get, and pbir pages json for page dimensions; model discovery via pbir model/fields. It recommends using additional tooling like te for semantic-model mutations when needed.
  • It specifies a sequence for visual rendering checks: pbir desktop refresh, pbir desktop screenshot, and inspection of the resulting PNGs after meaningful changes.

When to use it

  • Use when the user mentions pbir, pbir-cli, Power BI reports, PBI reports, or file types .pbir/.pbip/.pbix, and when refreshing, screenshotting, or visually verifying a report open in Power BI Desktop is requested.
  • Use as a workflow guide for creating, exploring, formatting, validating, and publishing Power BI reports through pbir, and for driving Desktop integration when available.

What it can touch

  • pbir command surface: pbir desktop list, pbir desktop refresh, pbir desktop screenshot, pbir validate, pbir get, pbir set/add, pbir publish, pbir ls, pbir tree, pbir model, pbir fields, pbir new report, pbir add visual, pbir visuals format, etc.
  • It also references tools and workflows that rely on the pbir CLI and its object model, and mentions optional integration with Tabular Editor CLI (te) for semantic-model mutations, and pbir components for workspace publishing.

Caveats

  • The skill requires pbir CLI availability; if pbir is missing, the recommended installation paths are provided (uv tool install pbir-cli or pip install). It warns to avoid editing report JSON directly and to report missing capabilities rather than fallback to file edits.
  • It notes platform limitations: pbir desktop is Windows-only; macOS/Linux should use publish-based verification via Fabric and browser rendering rather than Desktop bridge.
  • It emphasizes validating after coherent batches and using --all for final passes, and it cautions that rendering verification with Desktop is necessary since validation may not catch rendering issues.
From the SKILL.md

# Working with Power BI reports using `pbir` CLI for exploring, building, managing, formatting Power BI reports. All commands use `pbir`. **IMPORTANT:** ALWAYS use `pbir` CLI commands to inspect and modify reports. NEVER write, replace, copy, or patch report JSON files directly. If the CLI does not expose a required mutation, stop and report the missing capability; do not fall back to file editing. Reading JSON through `pbir cat`, `pbir get`, or read-only examples is allowed. **IMPORTANT:** FIRST Read and adhere to the mental model in [MENTAL-MODEL.md](important/MENTAL-MODEL.md). ## When `pbir` is missing Install it with `uv tool install pbir-cli` (or `pip install pbir-cli`). That is the route to use in every ordinary case, including when the command is missing entirely. `bin/fetch.sh` downloads a self-contained portable build instead. Reach for it **only** when `pbir` is not installed *and* installing it is not possible: no network access to PyPI, no Python, or a locked-down machine that forbids installs. A portable build does not update with `uv tool upgrade`, so preferring it when a normal install would have worked leaves the user on a stale CLI. If an install failed, fix the in

What's inside
Steps it walks through
  1. When pbir is missing
  2. Keeping the Fabric CLI current
  3. Learning from Mistakes
  4. How to use pbir
  5. General workflow
  6. Path syntax
  7. Critical Rules
  8. Core Workflows
  9. Exploration and Analysis
  10. Model Discovery (Required Before Binding Fields)
  11. Semantic Model + Report Workflows (te + pbir)
  12. Desktop Integration (Refresh and Screenshot)
  13. Creating Reports
  14. Adding and Formatting Visuals
Ships with 24 files
  • bin/README.md
  • bin/fetch.sh
  • examples/K201-MonthSlicer.Report/.platform
  • examples/K201-MonthSlicer.Report/StaticResources/RegisteredResources/SqlbiDataGoblinTheme.json
  • examples/K201-MonthSlicer.Report/StaticResources/SharedResources/BaseThemes/CY24SU10.json
  • examples/K201-MonthSlicer.Report/definition.pbir
  • examples/K201-MonthSlicer.Report/definition/bookmarks/54698b9cd0a0c57906b7.bookmark.json
  • examples/K201-MonthSlicer.Report/definition/bookmarks/71abeb475381792b035d.bookmark.json
  • examples/K201-MonthSlicer.Report/definition/bookmarks/82ce9a7f49847d03190a.bookmark.json
  • examples/K201-MonthSlicer.Report/definition/bookmarks/8f5a4883bde0d3bd075d.bookmark.json
  • examples/K201-MonthSlicer.Report/definition/bookmarks/958f29ad733c047ee0b8.bookmark.json
  • examples/K201-MonthSlicer.Report/definition/bookmarks/bookmarks.json
  • examples/K201-MonthSlicer.Report/definition/bookmarks/e5b8aa0b8e0565be9ce0.bookmark.json
  • examples/K201-MonthSlicer.Report/definition/pages/AfterReport.Page/page.json
  • examples/K201-MonthSlicer.Report/definition/pages/AfterReport.Page/visuals/ButtonSlicer_TopCenter.Visual/visual.json
  • examples/K201-MonthSlicer.Report/definition/pages/AfterReport.Page/visuals/ButtonSlicer_TopCenter_2.Visual/visual.json
  • examples/K201-MonthSlicer.Report/definition/pages/AfterReport.Page/visuals/KPI_TopLeft.Visual/visual.json
  • examples/K201-MonthSlicer.Report/definition/pages/AfterReport.Page/visuals/LineChart_TopLeft.Visual/visual.json
  • examples/K201-MonthSlicer.Report/definition/pages/AfterReport.Page/visuals/ScatterChart_MiddleLeft.Visual/visual.json
  • examples/K201-MonthSlicer.Report/definition/pages/AfterReport.Page/visuals/Table_TopCenter.Visual/visual.json
  • examples/K201-MonthSlicer.Report/definition/pages/AfterReport.Page/visuals/Textbox_TopLeft.Visual/visual.json
  • examples/K201-MonthSlicer.Report/definition/pages/Before Report.Page/page.json
  • examples/K201-MonthSlicer.Report/definition/pages/Before Report.Page/visuals/KPI_TopLeft.Visual/visual.json
  • examples/K201-MonthSlicer.Report/definition/pages/Before Report.Page/visuals/Line Chart_TopLeft.Visual/visual.json
first 24 of 119
Commands it runs
pbir desktop list                                # FIRST if Desktop is mentioned: instances (PID, open file)
pbir ls                                          # Find all reports
pbir ls "Report.Report"                          # List pages/filters/theme
pbir tree "Report.Report" -v                     # Full structure with fields
pbir validate "Report.Report"                    # Health check
pbir get "Report.Report"                         # Report properties
pbir pages json "Report.Report/Page.Page"        # Check page width/height
pbir model "Report.Report"                       # Connection info (workspace, model, thick/thin)
pbir model "Report.Report" -d                    # All tables, columns, measures
pbir model "Report.Report" -d -t Sales           # Filter to specific table
More from power-bi-agentic-development
All skills →
About this skill
What does the pbir-cli skill do?

This skill should be used whenever the user mentions "pbir", "pbir-cli", "Power BI reports", or "PBI reports", works with .pbir, .pbip, or .pbix files, or wants to refresh, screenshot, or visually verify a report that is open in Power BI Desktop. Covers creating, exploring, formatting, validating, and publishing Power BI reports through the pbir CLI and object model, plus driving Power BI Desktop (canvas reload, page screenshots) and querying connected or local semantic models.

How do I install it?

Run `npx skills add data-goblin/power-bi-agentic-development --skill pbir-cli --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From data-goblin/power-bi-agentic-development, a repository with 833 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going