From Napkin
Builds optimized Power BI semantic models with star schemas, DAX measures, relationships, RLS, and performance tuning. Connects to live models via MCP tools for contextual guidance.
How this skill is triggered — by the user, by Claude, or both
Slash command
/napkin:powerbi-modelingThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Guide users in building optimized, well-documented Power BI semantic models following Microsoft best practices.
Guide users in building optimized, well-documented Power BI semantic models following Microsoft best practices.
Use this skill when users ask about:
Trigger phrases: "create a measure", "add relationship", "star schema", "optimize model", "DAX formula", "RLS", "naming convention", "model documentation", "cardinality", "cross-filter"
Before providing any modeling guidance, always examine the current model state:
1. List connections: connection_operations(operation: "ListConnections")
2. If no connection, check for local instances: connection_operations(operation: "ListLocalInstances")
3. Connect to the model (Desktop or Fabric)
4. Get model overview: model_operations(operation: "Get")
5. List tables: table_operations(operation: "List")
6. List relationships: relationship_operations(operation: "List")
7. List measures: measure_operations(operation: "List")
After connecting, assess the model against best practices:
Based on analysis, guide improvements using references:
| Area | Best Practice |
|---|---|
| Tables | Clear dimension vs fact classification |
| Naming | Human-readable: Customer Name not CUST_NM |
| Descriptions | All tables, columns, measures documented |
| Measures | Explicit DAX measures for business metrics |
| Relationships | One-to-many from dimension to fact |
| Cross-filter | Single direction unless specifically needed |
| Hidden fields | Hide technical keys, IDs from report view |
| Date table | Dedicated marked date table |
Use these Power BI Modeling MCP operations:
| Operation Category | Key Operations |
|---|---|
connection_operations | Connect, ListConnections, ListLocalInstances, ConnectFabric |
model_operations | Get, GetStats, ExportTMDL |
table_operations | List, Get, Create, Update, GetSchema |
column_operations | List, Get, Create, Update (descriptions, hidden, format) |
measure_operations | List, Get, Create, Update, Move |
relationship_operations | List, Get, Create, Update, Activate, Deactivate |
dax_query_operations | Execute, Validate |
calculation_group_operations | List, Create, Update |
security_role_operations | List, Create, Update, GetEffectivePermissions |
measure_operations(
operation: "Create",
definitions: [{
name: "Total Sales",
tableName: "Sales",
expression: "SUM(Sales[Amount])",
formatString: "$#,##0",
description: "Sum of all sales amounts"
}]
)
column_operations(
operation: "Update",
definitions: [{
tableName: "Customer",
name: "CustomerKey",
description: "Unique identifier for customer dimension",
isHidden: true
}]
)
relationship_operations(
operation: "Create",
definitions: [{
fromTable: "Sales",
fromColumn: "CustomerKey",
toTable: "Customer",
toColumn: "CustomerKey",
crossFilteringBehavior: "OneDirection"
}]
)
Research current best practices using microsoft_docs_search for:
npx claudepluginhub ani1797/forge --plugin copilot-sdk3plugins reuse this skill
First indexed Jun 6, 2026
Creates and manages Power BI semantic models across Desktop, PBIP projects, and Fabric Service. Handles measures, tables, relationships, deployment, refresh, and DAX optimization.
Designs, builds, refreshes, and reviews Power BI and Analysis Services tabular models. Routes operations through the `te` CLI, TOM, or TMDL as appropriate.
Reviews Power BI data model architecture, relationships, and storage modes for optimization and best practices. Useful for ensuring scalable, maintainable models.