Install
$ agentstack add skill-kpbray-power-bi-agent-skills-pbip-project ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
PBIP Project Skill
This skill helps create and manage Power BI Desktop Project (PBIP) structure for source control-friendly Power BI development.
When to Use This Skill
- Starting a new Power BI project from scratch
- Converting an existing concept into a PBIP structure
- Setting up the folder structure for semantic models and reports
- Creating pointer files (
.pbip,.pbism,.pbir) - Configuring project-level settings
PBIP Project Structure
A complete PBIP project has this structure:
.pbip # Project pointer file
├── .SemanticModel/ # Semantic model folder
│ ├── definition.pbism # Semantic model pointer
│ ├── model.bim # Model metadata (auto-generated)
│ └── definition/ # TMDL files
│ ├── database.tmdl
│ ├── model.tmdl
│ ├── relationships.tmdl
│ ├── tables/
│ │ └── .tmdl
│ └── expressions.tmdl
├── .Report/ # Report folder
│ ├── definition.pbir # Report pointer
│ ├── report.json # Report configuration
│ └── definition/ # Report definition files
│ ├── pages/
│ │ └── /
│ │ └── page.json
│ └── ...
└── .pbi/ # Local settings (gitignored)
└── localSettings.json
Creating a New PBIP Project
Step 1: Create the Project Pointer File
Create .pbip:
{
"version": "1.0",
"artifacts": [
{
"report": {
"path": ".Report"
}
}
],
"settings": {
"enableAutoRecovery": true
}
}
Step 2: Create the Semantic Model Folder
Create .SemanticModel/definition.pbism:
{
"version": "1.0",
"datasetReference": {
"byPath": null,
"byConnection": null
}
}
Step 3: Create Core TMDL Files
Create .SemanticModel/definition/database.tmdl:
database ''
compatibilityLevel: 1567
Create .SemanticModel/definition/model.tmdl:
model Model
culture: en-US
defaultPowerBIDataSourceVersion: powerBI_V3
discourageImplicitMeasures: true
sourceQueryCulture: en-US
Step 4: Create the Report Folder
Create .Report/definition.pbir:
{
"version": "1.0",
"datasetReference": {
"byPath": {
"path": "../.SemanticModel"
},
"byConnection": null
}
}
Create .Report/report.json:
{
"$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/report/1.0.0/schema.json",
"themeCollection": {
"baseTheme": {
"name": "CY24SU06",
"reportVersionAtImport": "5.55",
"type": "SharedResources"
}
},
"config": {
"version": 5,
"defaultDrillFilterOtherVisuals": true
},
"objects": {}
}
File Format Requirements
Encoding
- All text files MUST be UTF-8 without BOM
- JSON files use 2-space indentation
- TMDL files use tab indentation
Line Endings
- Use LF (Unix-style) line endings for cross-platform compatibility
- Configure
.gitattributesfor consistent line endings:
*.tmdl text eol=lf
*.json text eol=lf
*.pbip text eol=lf
*.pbism text eol=lf
*.pbir text eol=lf
Git Configuration
Recommended .gitignore
# Local Power BI settings (contains user-specific paths)
.pbi/
**/localSettings.json
# Cache files
*.abf
**/cache.abf
# Temporary files
*.tmp
~$*
Recommended .gitattributes
# Ensure consistent line endings
*.tmdl text eol=lf
*.json text eol=lf
*.pbip text eol=lf
*.pbism text eol=lf
*.pbir text eol=lf
# Treat binary files appropriately
*.abf binary
*.pbix binary
Naming Conventions
| Item | Convention | Example | |------|------------|---------| | Project name | PascalCase | SalesAnalytics | | Folder names | Match project name | SalesAnalytics.SemanticModel | | TMDL files | lowercase with hyphens | date-table.tmdl | | Page folders | GUID format | ReportSection1a2b3c4d |
Boundaries and Constraints
DO
- Always create files with UTF-8 encoding (no BOM)
- Always include
compatibilityLevelin database.tmdl - Always set
discourageImplicitMeasures: truein model.tmdl - Create
.gitignoreto exclude local settings - Use relative paths in pointer files
DO NOT
- Never modify
.pbi/localSettings.json- this is user-specific - Never commit
cache.abffiles - Never hardcode absolute file paths
- Never include credentials in source files
Workflow Integration
After creating the project structure:
- Add tables - Use the
semantic-modelskill to add tables and relationships - Add measures - Use the
daxskill to create measures - Create visuals - Use the
report-visualsskill to build reports - Validate - Use the
best-practicesskill to check quality
Opening in Power BI Desktop
- Open Power BI Desktop
- File > Open report
- Select the
.pbipfile - Power BI will load the project from source files
Common Issues
"Cannot find semantic model"
- Verify the path in
definition.pbirpoints to the correct semantic model folder - Ensure
definition.pbismexists in the semantic model folder
"Invalid TMDL syntax"
- Check for proper indentation (tabs for TMDL)
- Verify quotes match the expected style (single quotes for identifiers)
- Ensure compatibility level is supported
"Report won't load"
- Check that
report.jsonhas valid JSON syntax - Verify the schema reference is correct
- Ensure page folders contain valid
page.jsonfiles
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: kpbray
- Source: kpbray/power-bi-agent-skills
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.