fabric-tmdl-api

fabric-tmdl-api is a skill for Claude Code from wardawgmalvicious/agent-config. It costs 136 tokens per session (1,056 once invoked), scanned A, original, MIT.

A guide for using Microsoft Fabric's Semantic Model Definition API, which lets developers create, read, and update the definition of a data model. It explains the required files, encoding, API separation, and long-running requests.

In plain words
What is it for?
Use it to create, retrieve, or update Fabric semantic model definitions, including TMDL files, model tables, roles, partitions, and connection settings.
Why use it?
It helps avoid errors that can delete omitted model parts, use the wrong Microsoft API, or treat unfinished requests as complete.

Skill for Claude Code

Written for Claude Code: disable-model-invocation in frontmatter.

Good fit Use it to create, retrieve, or update Fabric semantic model definitions, including TMDL files, model tables, roles, partitions, and connection settings.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/wardawgmalvicious/agent-config/fabric-tmdl-api
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add wardawgmalvicious/agent-config --skill fabric-tmdl-api
Clone the repo
git clone --depth 1 https://github.com/wardawgmalvicious/agent-config

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for fabric-tmdl-api

README.md
[![agentmods](https://agentmods.dev/badge/skills/wardawgmalvicious/agent-config/fabric-tmdl-api/github.svg)](https://agentmods.dev/skills/wardawgmalvicious/agent-config/fabric-tmdl-api)
Your own site
<a href="https://agentmods.dev/skills/wardawgmalvicious/agent-config/fabric-tmdl-api"><img src="https://agentmods.dev/badge/skills/wardawgmalvicious/agent-config/fabric-tmdl-api/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for fabric-tmdl-api

Your own site · 80×15
<a href="https://agentmods.dev/skills/wardawgmalvicious/agent-config/fabric-tmdl-api"><img src="https://agentmods.dev/badge/skills/wardawgmalvicious/agent-config/fabric-tmdl-api.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 136 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,056 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00136 $0.01056
Opus 5 $0.00068 $0.00528
Sonnet 5 $0.00027 $0.00211
Haiku 4.5 $0.00014 $0.00106

Measured today against content hash 4d5c85434e8e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-10, from the pricing page.

Security

Grade A, and why

fabric-tmdl-api scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

skills/fabric/fabric-tmdl-api/SKILL.md · 82 lines

How it starts

The opening of the file, as written. The whole thing — 82 lines — stays where its author put it; the contents beside it link to each section on GitHub.

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
  • updateDefinition must include ALL parts — modified AND unmodified. The API replaces the entire definition; omitting parts deletes them.
  • Never include .platform in updateDefinition payloads — it is Git integration metadata and causes errors
  • Base64-encode all TMDL content in definition payloads
  • getDefinition is a POST (not GET) — requires --body '{}'
  • Poll LRO to completioncreateItemWithDefinition, getDefinition, and updateDefinition return 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/<TableName>.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:

    expression DL_Lakehouse =
        let
            Source = AzureStorage.DataLake("https://onelake.dfs.fabric.microsoft.com/<WorkspaceId>/<LakehouseId>", [HierarchicalNavigation=true])
        in
            Source
    
  • Each table partition references the expression:

Read the full file on GitHub · 82 lines

Files

What ships with it

1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today Changed 4d5c85434e8e
  2. yesterday Changed e95b415969c0
  3. 6d ago Changed · +5 lines 28483f47d617
  4. 10d ago First seen · 77 lines · 136 tokens per session scan A b21f274b84c0

Subscribe to this mod's changes

fabric-tmdl-api is a skill published in the GitHub repository wardawgmalvicious/agent-config (1 stars, last pushed today), licensed MIT. It adds 136 tokens to every session and 1,056 once invoked, about $0.0007 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

gemini-api-agent-platform

Guides the usage of the Gemini API on Agent Platform with the Google Gen AI SDK for enterprise AI applications. Covers SDK usage (Python, JS/TS, Go, Java, C#), capabilities like Live API, tools, multimedia generation, caching, and batch prediction.

davila7/claude-code-templates · 61 tokens

sglang

Fast structured generation and serving for LLMs with RadixAttention prefix caching. Use for JSON/regex outputs, constrained decoding, agentic workflows with tool calls, or when you need 5× faster inference than vLLM with prefix sharing. Powers 300,000+ GPUs at xAI, AMD, NVIDIA, and LinkedIn.

davila7/claude-code-templates · 72 tokens

serving-llms-vllm

Serves LLMs with high throughput using vLLM's PagedAttention and continuous batching. Use when deploying production LLM APIs, optimizing inference latency/throughput, or serving models with limited GPU memory. Supports OpenAI-compatible endpoints, quantization (GPTQ/AWQ/FP8), and tensor parallelism.

davila7/claude-code-templates · 75 tokens

mcp-server-dev

Create MCP servers — multi-tool services exposed via Model Context Protocol. Use this skill whenever users mention MCP servers, building servers, server scaffolding, tool registration, or want to package tools for distribution via uvx or npx. Also use when the conversation involves stdio transport, server lifecycle…

andisab/swe-marketplace · 175 tokens

mcp-tool-dev

Create MCP tools — individual tool functions exposed via Model Context Protocol. Use this skill whenever users mention MCP tools, tool handlers, tool functions, tool definitions, or want to add capabilities to an MCP server. Also use when the conversation involves designing tool schemas, writing tool descriptions, or…

andisab/swe-marketplace · 158 tokens

ccc-saas

Skill "ccc-saas" from KevinZai/commander, covering $ccc-saas — saas domain hub, what's inside, routing matrix, campaign templates and greenfield saas (zero to mvp).

KevinZai/commander · 35 tokens