
Power Bi Report
- 44 installs
- 6 repo stars
- Updated July 22, 2026
- julianobarbosa/claude-code-skills
Helps with ai & agent building tasks.
About
power-bi-report is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.
- power-bi-report
- AI & Agent Building
- AI-coding skill
Power Bi Report by the numbers
- 44 all-time installs (skills.sh)
- +1 installs in the week ending Aug 2, 2026 (Skillselion tracking)
- Ranked #7,851 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 3, 2026 (Skillselion catalog sync)
npx skills add https://github.com/julianobarbosa/claude-code-skills --skill power-bi-reportAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 44 |
|---|---|
| repo stars | ★ 6 |
| Last updated | July 22, 2026 |
| Repository | julianobarbosa/claude-code-skills ↗ |
What it does
Helps with ai & agent building tasks.
Files
Power BI Report Skill
Manage Power BI PBIR report projects at the top level -- scaffolding, validation, preview, and Desktop integration. No connection to Power BI Desktop is needed for most operations.
PBIR Format
PBIR (Enhanced Report Format) stores reports as a folder of JSON files:
MyReport.Report/
definition.pbir # dataset reference
definition/
version.json # PBIR version
report.json # report settings, theme
pages/
pages.json # page order
page_abc123/
page.json # page settings
visuals/
visual_def456/
visual.json # visual type, position, bindingsEach file has a public JSON schema from Microsoft for validation. PBIR is GA as of January 2026 and the default format in Desktop since March 2026.
Creating a Report
# Scaffold a new report project
pbi report create ./MyProject --name "Sales Report"
# With dataset reference
pbi report create ./MyProject --name "Sales" --dataset-path "../Sales.Dataset"This creates the full folder structure with definition.pbir, report.json, version.json, and an empty pages/ directory.
Report Info and Validation
# Show report metadata summary (pages, theme, dataset)
pbi report info
pbi report info --path ./MyReport.Report
# Validate report structure and JSON files
pbi report validateValidation checks:
- Required files exist (
definition.pbir,report.json,version.json) - All JSON files parse without errors
- Schema URLs are present and consistent
- Page references in
pages.jsonmatch actual page folders
Preview
Start a live HTML preview of the report layout:
pbi report previewOpens a browser showing all pages with visual placeholders, types, positions, and data bindings. The preview auto-refreshes when files change.
Requires the preview optional dependency: pip install pbi-cli-tool[preview]
Desktop Integration
# Trigger Power BI Desktop to reload the current report
pbi report reloadPower BI Desktop's Developer Mode auto-detects TMDL changes but not PBIR changes. This command sends a keyboard shortcut to the Desktop window to trigger a reload. Requires the reload optional dependency: pip install pbi-cli-tool[reload]
Suppressing Auto-Sync (--no-sync)
By default, every write command (add-page, delete-page, set-background, set-theme, etc.) automatically syncs Power BI Desktop after each operation. When building a report in multiple steps, this causes Desktop to reload after every single command.
Use --no-sync on the report command group to suppress per-command syncs, then call pbi report reload once at the end:
# BAD: Desktop reloads after every command
pbi report add-page --display-name "Overview" --name overview
pbi report set-background overview --color "#F2F2F2"
# GOOD: suppress sync during build, reload once at the end
pbi report --no-sync add-page --display-name "Overview" --name overview
pbi report --no-sync set-background overview --color "#F2F2F2"
pbi report reload--no-sync is available on: report, visual, filters, and bookmarks command groups.
Convert
# Convert a .Report folder into a distributable .pbip project
pbi report convert ./MyReport.Report --output ./distributable/Path Resolution
All report commands auto-detect the .Report folder:
1. Explicit: pbi report --path ./MyReport.Report info 2. Auto-detect: walks up from CWD looking for *.Report/definition/ 3. From .pbip: finds sibling .Report folder from .pbip file
Workflow: Build a Complete Report
This workflow uses commands from multiple skills:
# 1. Scaffold report (this skill)
pbi report create . --name "SalesDashboard" --dataset-path "../SalesModel.Dataset"
# 2. Add pages (power-bi-pages skill)
pbi report add-page --display-name "Overview" --name overview
pbi report add-page --display-name "Details" --name details
# 3. Add visuals (power-bi-visuals skill)
pbi visual add --page overview --type card --name revenue_card
pbi visual add --page overview --type bar --name sales_by_region
# 4. Bind data (power-bi-visuals skill)
pbi visual bind revenue_card --page overview --field "Sales[Total Revenue]"
pbi visual bind sales_by_region --page overview \
--category "Geo[Region]" --value "Sales[Amount]"
# 5. Apply theme (power-bi-themes skill)
pbi report set-theme --file brand-colors.json
# 6. Validate (this skill)
pbi report validateCombining Model and Report
pbi-cli covers both the semantic model layer and the report layer:
# Model layer (requires pbi connect)
pbi connect
pbi measure create Sales "Total Revenue" "SUM(Sales[Amount])"
# Report layer (no connection needed)
pbi report create . --name "Sales"
pbi visual add --page overview --type card --name rev_card
pbi visual bind rev_card --page overview --field "Sales[Total Revenue]"Related Skills
| Skill | When to use |
|---|---|
| power-bi-visuals | Add, bind, update, delete visuals |
| power-bi-pages | Add, remove, configure pages and bookmarks |
| power-bi-themes | Themes, conditional formatting |
| power-bi-filters | Page and visual filters |
JSON Output
pbi --json report info
pbi --json report validate---
Gotchas
- `report validate` passes a PBIR that Desktop refuses to open: Validation only checks JSON structure and required files — it does not verify dataset binding, schema-URL versions, or visual
queryStateconsistency. A clean validate followed by a Desktop "cannot open report" is a known footgun. - `--dataset-path` is relative to the `.Report` folder, not the CWD: A
../Sales.Datasetargument resolves correctly at create time, but if you later move the.Reportfolder the binding silently breaks. Use a stable workspace layout or absolute paths in CI. - `pbi report reload` sends keyboard shortcuts to whatever window has focus: If the user is typing in another app when the reload fires, keystrokes land in that app instead. Run reload only at the end of a batch and tell the user not to context-switch.
- `report convert` to `.pbip` does not bundle the semantic model: It produces a
.pbipshell referencing the dataset by path. Distributing the resulting folder without also packaging the.SemanticModeldirectory yields a "dataset not found" error on open. - PBIR schema versions are pinned per file, not per project: Mixing files written by different Desktop versions (e.g. one page edited in March-2026 build, another in January-2026 build) can fail validation in one and pass in another. Always upgrade the whole project together.
- `--no-sync` only applies to the command group it's on:
pbi visual --no-sync add ...followed bypbi report set-background ...will still sync after the second command. Set--no-syncon every group involved in the batch.