Install
$ agentstack add skill-wardawgmalvicious-claude-config-fabric-tmdl-api ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Semantic Model Definition API rules
- Two audiences: Fabric API (
api.fabric.microsoft.com) for CRUD on definitions; Power BI API (analysis.windows.net/powerbi/api) for refresh, data sources, permissions updateDefinitionmust include ALL parts — modified AND unmodified. The API replaces the entire definition; omitting parts deletes them.- Never include
.platforminupdateDefinitionpayloads — it is Git integration metadata and causes errors - Base64-encode all TMDL content in definition payloads
getDefinitionis a POST (not GET) — requires--body '{}'- Poll LRO to completion —
createItemWithDefinition,getDefinition, andupdateDefinitionreturn 202
Required TMDL Parts
| Part Path | Content | |---|---| | definition.pbism | Semantic model connection settings (JSON) | | definition/database.tmdl | database declaration + compatibilityLevel: 1702 | | definition/model.tmdl | Model properties + ref declarations for tables/roles/etc. | | definition/tables/.tmdl | Per-table: measures, columns, partitions |
Critical: database.tmdl MUST start with database object declaration, not bare properties. Bare compatibilityLevel: causes InvalidLineType: Property! errors.
model.tmdl Required Properties
model Model
culture: en-US
defaultPowerBIDataSourceVersion: powerBI_V3
discourageImplicitMeasures
defaultPowerBIDataSourceVersion: powerBI_V3 is required for Import-mode models. Without it: Import from JSON supported for V3 models only.
Direct Lake Configuration
- ALL partitions must use
EntityPartitionSource— no M/Power Query - A named expression pointing to the Lakehouse/Warehouse must be defined before tables:
``tmdl expression DL_Lakehouse = let Source = AzureStorage.DataLake("https://onelake.dfs.fabric.microsoft.com//", [HierarchicalNavigation=true]) in Source ``
- Each table partition references the expression:
``tmdl partition Sales = entity mode: directLake source entityName: Sales schemaName: dbo expressionSource: DL_Lakehouse ``
dataType: binarycolumns are NOT supported in Direct Lake- Columns map directly via
sourceColumn— no transforms - Calculated columns / tables (April 2026 preview): Direct Lake on OneLake now supports unmaterialized calculated columns (and calculated tables that reference them). Direct Lake on SQL still does not. User-context-aware DAX (
USERCULTURE,USERPRINCIPALNAME,CUSTOMDATA, etc.) requiresexpressionContext: userContexton the column. See fabric-tmdl REFERENCE for the storage-mode × Expression-Context support matrix.
Reference
- Microsoft Learn: Item definition overview (Fabric REST)
- Microsoft Learn: SemanticModel definition envelope
- Microsoft Learn: Develop Direct Lake semantic models (TMDL partition mode)
- Comprehensive MS Learn link bundle (definition envelope / REST CRUD / TMDL language / required parts / Direct Lake configuration / refresh APIs): [references/REFERENCE.md](references/REFERENCE.md)
See also
- fabric-rest-api skill — LRO polling pattern, runtime item ID vs logicalId
- fabric-auth skill — Fabric vs Power BI audience selection
- fabric-cli skill —
fab export/fab importwrap these APIs
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: wardawgmalvicious
- Source: wardawgmalvicious/claude-config
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.