Use when the user asks to "validate my semantic model", "check my TMDL", "review my Fabric model", "audit my Power BI model", "run best practice checks", "lint my TMDL", or wants to verify correctness, naming conventions, relationship integrity, measure quality, or performance of a Microsoft Fabric semantic model. This skill validates TMDL files against Fabric best practices.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fabric-semantic-model:validating-semantic-modelThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Validate a TMDL semantic model for correctness, best practices, and common issues.
Validate a TMDL semantic model for correctness, best practices, and common issues.
dbt_project.yml). If found, read schema YAML files under models/marts/ to build a reference of expected tables, columns, types, descriptions, and relationships.model.tmdl or database.tmdl. Read all TMDL files in the model folder.Check for required files:
database.tmdl exists and has compatibilityLevelmodel.tmdl exists and has culturerelationships.tmdl exists (unless no relationships needed)tables/model.tmdl have corresponding filesCheck TMDL syntax:
dataType values are valid (string, int64, double, dateTime, decimal, boolean)*Key or *ID without relationships)/// descriptionsformatString'Table'[Column])[Measure])isHiddensummarizeBy: nonesummarizeBy: nonesourceColumn (for import/DirectLake) or expression (for calculated)Customer not customers)Product Name)dim_, fact_, fk_, pk_) — use clean business namesmodelPermission: readtablePermission filter expressions are valid DAXfct_*/dim_* dbt model has a corresponding TMDL tablesourceColumn values match dbt column namesrelationships tests are reflected in relationships.tmdl/// descriptions (warn if missing)entityName matches the dbt model's materialized table namePresent results grouped by severity:
For each finding: severity, category (Structure, Relationship, Measure, Column, Naming, Performance, Security), object affected, description, and recommended fix with specific TMDL code.
End with a summary count by severity and a pass/fail assessment.
npx claudepluginhub accelerate-data/vibedata-official --plugin fabric-semantic-modelBlocks Edit/Write/Bash actions until Claude investigates importers, data schemas, and user instructions. Improves output quality by forcing concrete facts before edits.