powerbi-modeling
Power BI Modeling
Use this skill when the work is inside a Power BI semantic model rather than a generic SQL schema or spreadsheet.
Activation Conditions
- Designing or cleaning up a star schema
- Creating or reviewing DAX measures
- Configuring relationships and cross-filter direction
- Implementing row-level security
- Auditing model health and performance
Practical Workflow
- Inspect the current model before changing anything.
- Classify tables as dimension, fact, bridge, or helper tables.
- Prefer explicit measures over implicit aggregation.
- Keep relationships simple and single-direction unless the use case is proven.
- Hide technical fields from report authors.
MCP Reality
Power BI model tooling is host-specific. If your client exposes a Power BI modeling MCP server, inspect the available operations first and map them to the model areas you need: connections, tables, columns, measures, relationships, DAX queries, and security roles.
For Microsoft documentation, the Microsoft Learn MCP server is a good companion. Prefer:
microsoft_docs_search_by_productwithpower-bimicrosoft_docs_fetchfor the final page
References & Resources
Documentation
- STAR-SCHEMA - Dimension and fact modeling guidance
- RELATIONSHIPS - Relationship patterns and cross-filter tradeoffs
- MEASURES-DAX - DAX naming and measure design
- PERFORMANCE - High-impact optimization ideas
- RLS - Row-level security patterns
Scripts
- Power BI Model Audit - Local audit helper for naming, documentation, and modeling smells
Examples
- Model Examples - Example modeling patterns and DAX structure
Cross-Client Portability
This skill is written to stay usable across GitHub Copilot, Claude Code, Codex, and Gemini CLI.
- GitHub Copilot: keep the folder in a Copilot-visible skill or plugin path, or wrap the workflow as project instructions if the host does not support portable skill folders directly.
- Claude Code: keep the folder in a local skills directory or a compatible plugin or marketplace source.
- Codex: install or sync the folder into
$CODEX_HOME/skills/<skill-name>and restart Codex after major changes. - Gemini CLI: this repository generates a project command named
/skills:powerbi-modelingfrom this skill. Rebuild commands withpython scripts/export-gemini-skill.py powerbi-modelingand then run/commands reloadinside Gemini CLI.
MCP Availability And Fallback
Preferred MCP servers for this skill:
Power BI MCP(primary)
If MCP is unavailable in the current host:
- Use Power BI Desktop, Tabular Editor, DAX Studio, and exported model metadata when the MCP surface is unavailable.
- Validate measures, relationships, and performance with local model tools before completion.
Related Skills
| Skill | Relationship |
|---|---|
| microsoft-development | Official Microsoft docs for Power BI capabilities and limits |
| sql-development | Shape the upstream warehouse or SQL source feeding the model |
| excel-sheet | Excel as a data source or export target |
More from practicalswan/agent-skills
powerpoint-ppt
PowerPoint (.pptx) manipulation via MCP server. Use for creating slides, formatting presentations, managing placeholders, adding images, applying templates, or extracting text from .pptx files.
152word-document
Word (.docx) manipulation via MCP server. Use for reading, creating, editing, formatting Word documents including tables, footnotes, comments, images, headers, styles, and PDF conversion.
123serena-usage
Serena MCP for project memory and code navigation. Use when managing Serena memories, navigating symbols, performing intelligent refactoring, or maintaining context/continuity across AI agent sessions.
19php-development
PHP 8.0+ development — XAMPP, RESTful APIs, PDO/MySQL/MariaDB, and authentication. Use when building PHP backends, creating API endpoints, configuring XAMPP, or integrating PHP with databases.
15stitch-design
Google Stitch design toolkit — DESIGN.md generation, screen-to-React conversion, shadcn/ui integration, prompt enhancement, and Remotion walkthroughs. Use when working with Stitch MCP design projects.
15notion-docs
Notion workspace management via MCP - create databases, pages, comments, and knowledge bases. Use when building Notion documentation, organizing project wikis, or managing Notion content.
14