← ClaudeAtlas

tmdl-reviewlisted

Review a TMDL semantic-model diff for breaking schema changes before merging a PBIP change. Compares two versions of the *.tmdl files (a PR, or two git refs) and classifies every change as BREAKING / WARNING / INFO. Use when the user wants to know whether a Power BI / Fabric model change is safe to merge. Triggers — "revisa el diff TMDL", "breaking changes del modelo", "compara el modelo semántico", "¿este cambio rompe el modelo?", "review the TMDL diff", "detect breaking schema changes".
CSalcedoDataBI/agentic-board · ★ 0 · Code & Development · score 67
Install: claude install-skill CSalcedoDataBI/agentic-board
# tmdl-review — detect breaking semantic-model changes PBIP repos store the Power BI / Fabric semantic model as **TMDL** (`*.tmdl`) text files. A diff over those files is hard to read by eye: a dropped column, a changed `dataType`, or a deleted measure will break downstream reports, DAX, and refreshes, but looks the same in raw text as a harmless display-folder rename. `scripts/Tmdl-DiffReview.ps1` parses the model before/after a change and classifies every schema change by severity. ## When to use - A PR edits `*.tmdl` and you need to know whether it is safe to merge. - Before opening a PR, to self-check your own model change. - As part of `/board work` step 5 — `Board-ReviewGate.ps1` runs this automatically when the PR touches `*.tmdl` (warn-only; it does not change the gate verdict). ## Two modes **PR mode** (no local clone needed) — reads the PR's changed `*.tmdl` via the GitHub API, fetching base and head content by ref: ```powershell $env:GH_TOKEN = [Environment]::GetEnvironmentVariable('GITHUB_TOKEN_PERSONAL','User') .\scripts\Tmdl-DiffReview.ps1 -Repo <owner/name> -PR <n> ``` **Local mode** — diffs `*.tmdl` with git in the current working copy: ```powershell .\scripts\Tmdl-DiffReview.ps1 -Base main -Head HEAD ``` ## Severity rules | Severity | Change | |---|---| | **BREAKING** | table / column / measure / hierarchy / relationship / role **deleted**; column `dataType` changed; column `sourceColumn` changed; column/measure **renamed** | | **WARNING** | meas