skills/validating-semantic-model/SKILL.md
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.
npx skillsauth add accelerate-data/fabric-semantic-model validating-semantic-modelInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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.
development
Use when the user asks to "design a Fabric semantic model", "create a TMDL model", "build a Fabric star schema", "convert dbt to TMDL", "scaffold a Fabric tabular model", "set up a Fabric dataset", "create a Power BI semantic model", or needs guidance on Microsoft Fabric TMDL file structure, naming conventions, DirectLake configuration, or Fabric semantic model architecture best practices. This skill is specifically for Microsoft Fabric and Power BI semantic models, not general data modeling.
development
Use when the user asks to "write a DAX measure", "create DAX calculations", "add time intelligence", "calculate YTD", "year over year", "running total", "semi-additive measure", "parent-child hierarchy", "ABC classification", "new and returning customers", "dynamic segmentation", "currency conversion", "ranking", "cumulative total", "budget allocation", or any DAX formula authoring for a Microsoft Fabric or Power BI semantic model. This skill provides DAX patterns specifically formatted as TMDL for Fabric semantic models.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.
development
Maintainer workflow for OpenClaw releases, prereleases, changelog release notes, and publish validation. Use when Codex needs to prepare or verify stable or beta release steps, align version naming, assemble release notes, check release auth requirements, or validate publish-time commands and artifacts.