/te2-cli
CLI syntax reference for Tabular Editor 2 (TabularEditor.exe); deployment, scripting, BPA analysis, and CI/CD integration. Automatically invoke when the user mentions "TabularEditor.exe", TE2 CLI flags (-D, -S, -A, -B, -TMDL, -O, -C), or asks to "deploy a model via CLI", "set up
$ npx -y skills add data-goblin/power-bi-agentic-development --skill te2-cli --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/te2-cli
Context preview
The summary Claude sees to decide when to auto-load this skill.
CLI syntax reference for Tabular Editor 2 (TabularEditor.exe); deployment, scripting, BPA analysis, and CI/CD integration. Automatically invoke when the user mentions "TabularEditor.exe", TE2 CLI flags (-D, -S, -A, -B, -TMDL, -O, -C), or asks to "deploy a model via CLI", "set up
SKILL.md
te2-cli.SKILL.mdname: te2-cli
description: CLI syntax reference for Tabular Editor 2 (TabularEditor.exe); deployment, scripting, BPA analysis, and CI/CD integration. Automatically invoke when the user mentions "TabularEditor.exe", TE2 CLI flags (-D, -S, -A, -B, -TMDL, -O, -C), or asks to "deploy a model via CLI", "set up CI/CD for Power BI", "automate model deployment", "run BPA from command line", "save model as TMDL".
Tabular Editor 2 CLI
Command-line interface for Tabular Editor 2 (TE2). This skill covers the `TabularEditor.exe` executable; TE3 has its own CLI and is a separate product.
> [!NOTE] > The TE2 CLI (`TabularEditor.exe`) is still supported and stable, and remains a solid choice for existing Windows CI/CD pipelines. It is now considered outdated against the newer cross-platform Tabular Editor CLI (`te`), which is built on TE3 and is in preview until Q4 2026. For the `te` command set and a flag-by-flag migration, see the `te-cli` skill. Download `te` preview binaries from the [Tabular Editor CLI downloads page](https://tabulareditor.com/download-tabular-editor-cli).
Installation
Tabular Editor 2 (Free)
- Download: https://github.com/TabularEditor/TabularEditor/releases
- Extract to preferred location or use Chocolatey: `choco install tabulareditor2`
Executable
`TabularEditor.exe` -- free, Windows-only. For Mac/Linux, run via a Windows VM or container.
Connection Sources
Local Files
# model.bim (JSON format)
TabularEditor.exe Model.bim
# TMDL folder
TabularEditor.exe definition/
# PBIP project
TabularEditor.exe MyReport.pbip
Remote XMLA Endpoints
# Analysis Services
TabularEditor.exe "localhost\tabular" "AdventureWorks"
# Power BI Premium/Fabric
TabularEditor.exe "powerbi://api.powerbi.com/v1.0/myorg/WorkspaceName" "ModelName"
Power BI Desktop
# Auto-detect running instance
TabularEditor.exe localhost:PORT DatabaseName
Note: Find the port in PBIDesktop diagnostic files or use tools like DAX Studio.
Command-Line Reference
Basic Syntax
TabularEditor.exe <source> [options]
Script Execution
# Inline C# script
TabularEditor.exe Model.bim -S "Info(Model.Name);"
# Script file
TabularEditor.exe Model.bim -S script.csx
# Multiple scripts (executed in order)
TabularEditor.exe Model.bim -S script1.csx -S script2.csx
Deployment
# Deploy to XMLA endpoint
TabularEditor.exe Model.bim -D "server" "database"
# Deploy with options
TabularEditor.exe Model.bim -D "server" "database" -O -C -P -R -M -E -V -W
Deployment Options
| Flag | Long Form | Description | |------|-----------|-------------| | `-O` | `-OVERWRITE` | Overwrite existing database | | `-C` | `-CONNECTIONS` | Deploy/overwrite data sources (supports connection string placeholder substitution) | | `-P` | `-PARTITIONS` | Deploy/overwrite existing table partitions | | `-R` | `-ROLES` | Deploy roles | | `-M` | `-MEMBERS` | Deploy role members | | `-S` | `-SHARED` | Deploy shared expressions (within `-D` context; note: `-S` also means script outside `-D`) | | `-E` | `-ERR` | Return non-zero exit code if AS returns error messages after deployment | | `-V` | `-VSTS` | Output Azure DevOps logging commands | | `-W` | `-WARN` | Output warnings for unprocessed objects | | `-F` | `-FULL` | Full deployment (equivalent to `-O -C -P -S -R -M`) | | `-X` | `-XMLA` | Generate XMLA/TMSL script instead of deploying | | `-L` | `-LOGIN` | Disable integrated security for deployment | | `-Y` | `-SKIPPOLICY` | Skip incremental refresh policy partitions |
Save Output
# Save to model.bim
TabularEditor.exe Model.bim -S script.csx -B Output.bim
# Save to TMDL folder
TabularEditor.exe Model.bim -S script.csx -TMDL output/
# Save to legacy folder structure
TabularEditor.exe Model.bim -S script.csx -F output/
Best Practice Analyzer
# Run BPA rules
TabularEditor.exe Model.bim -A rules.json
# Run BPA with Azure DevOps logging output
TabularEditor.exe Model.bim -A rules.json -V
# Run BPA with GitHub Actions logging output
TabularEditor.exe Model.bim -A rules.json -G
# Analyze excluding rules embedded in model annotations
TabularEditor.exe Model.bim -AX rules.json
Schema Check
# Validate data source schemas against the model
TabularEditor.exe Model.bim -SC
Common Operations
1. Deploy Local Model to Service
TabularEditor.exe Model.bim ^
-D "powerbi://api.powerbi.com/v1.0/myorg/Workspace" "SemanticModel" ^
-O -C2. Run Script and Save
TabularEditor.exe Model.bim -S format-dax.csx -B Model.bim
3. Run BPA Analysis
TabularEditor.exe Model.bim ^
-A https://raw.githubusercontent.com/microsoft/Analysis-Services/master/BestPracticeRules/BPARules.json ^
-V4. Refresh Model Data
TabularEditor.exe "server" "database" ^
-S "Model.RequestRefresh(RefreshType.Full);" ^
-D "server" "database"5. Export Model from Service
TabularEditor.exe "powerbi://api.powerbi.com/v1.0/myorg/Workspace" "Model" ^
-TMDL output/definitionAuthentication
For authentication methods (Windows, Service Principal, Interactive) and CI/CD integration (Azure DevOps, GitHub Actions), see **`references/auth-and-cicd.md`**.
Exit Codes
| Code | Description | |------|-------------| | 0 | Success | | 1 | Any error-level output (script error, deployment failure, BPA violations at severity >= 3) |
File Formats
Input Formats
- `model.bim` - Tabular JSON (legacy)
- `definition/` - TMDL folder (modern)
- `*.pbip` - Power BI Project (TE3)
Output Formats
| Flag | Format | Description | |------|--------|-------------| | `-B` | `.bim` | Tabular JSON | | `-TMDL` | folder | TMDL | | `-F` | folder | Legacy folder structure |
Troubleshooting
For common errors (database not found, authentication failed, script execution failed), see **`references/auth-and-cicd.md`**.
Quick Reference Card
``
Read more
name: te2-cli description: CLI syntax reference for Tabular Editor 2 (TabularEditor.exe); deployment, scripting, BPA analysis, and CI/CD integration. Automatically invoke when the user mentions "TabularEditor.exe", TE2 CLI flags (-D, -S, -A, -B, -TMDL, -O, -C), or asks to "deploy a model via CLI", "set up CI/CD for Power BI", "automate model deployment", "run BPA from command line", "save model as TMDL".
Tabular Editor 2 CLI
Command-line interface for Tabular Editor 2 (TE2). This skill covers the `TabularEditor.exe` executable; TE3 has its own CLI and is a separate product.
> [!NOTE] > The TE2 CLI (`TabularEditor.exe`) is still supported and stable, and remains a solid choice for existing Windows CI/CD pipelines. It is now considered outdated against the newer cross-platform Tabular Editor CLI (`te`), which is built on TE3 and is in preview until Q4 2026. For the `te` command set and a flag-by-flag migration, see the `te-cli` skill. Download `te` preview binaries from the [Tabular Editor CLI downloads page](https://tabulareditor.com/download-tabular-editor-cli).
Installation
Tabular Editor 2 (Free)
- Download: https://github.com/TabularEditor/TabularEditor/releases
- Extract to preferred location or use Chocolatey: `choco install tabulareditor2`
Executable
`TabularEditor.exe` -- free, Windows-only. For Mac/Linux, run via a Windows VM or container.
Connection Sources
Local Files
# model.bim (JSON format) TabularEditor.exe Model.bim # TMDL folder TabularEditor.exe definition/ # PBIP project TabularEditor.exe MyReport.pbip
Remote XMLA Endpoints
# Analysis Services TabularEditor.exe "localhost\tabular" "AdventureWorks" # Power BI Premium/Fabric TabularEditor.exe "powerbi://api.powerbi.com/v1.0/myorg/WorkspaceName" "ModelName"
Power BI Desktop
# Auto-detect running instance TabularEditor.exe localhost:PORT DatabaseName
Note: Find the port in PBIDesktop diagnostic files or use tools like DAX Studio.
Command-Line Reference
Basic Syntax
TabularEditor.exe <source> [options]
Script Execution
# Inline C# script TabularEditor.exe Model.bim -S "Info(Model.Name);" # Script file TabularEditor.exe Model.bim -S script.csx # Multiple scripts (executed in order) TabularEditor.exe Model.bim -S script1.csx -S script2.csx
Deployment
# Deploy to XMLA endpoint TabularEditor.exe Model.bim -D "server" "database" # Deploy with options TabularEditor.exe Model.bim -D "server" "database" -O -C -P -R -M -E -V -W
Deployment Options
| Flag | Long Form | Description | |------|-----------|-------------| | `-O` | `-OVERWRITE` | Overwrite existing database | | `-C` | `-CONNECTIONS` | Deploy/overwrite data sources (supports connection string placeholder substitution) | | `-P` | `-PARTITIONS` | Deploy/overwrite existing table partitions | | `-R` | `-ROLES` | Deploy roles | | `-M` | `-MEMBERS` | Deploy role members | | `-S` | `-SHARED` | Deploy shared expressions (within `-D` context; note: `-S` also means script outside `-D`) | | `-E` | `-ERR` | Return non-zero exit code if AS returns error messages after deployment | | `-V` | `-VSTS` | Output Azure DevOps logging commands | | `-W` | `-WARN` | Output warnings for unprocessed objects | | `-F` | `-FULL` | Full deployment (equivalent to `-O -C -P -S -R -M`) | | `-X` | `-XMLA` | Generate XMLA/TMSL script instead of deploying | | `-L` | `-LOGIN` | Disable integrated security for deployment | | `-Y` | `-SKIPPOLICY` | Skip incremental refresh policy partitions |
Save Output
# Save to model.bim TabularEditor.exe Model.bim -S script.csx -B Output.bim # Save to TMDL folder TabularEditor.exe Model.bim -S script.csx -TMDL output/ # Save to legacy folder structure TabularEditor.exe Model.bim -S script.csx -F output/
Best Practice Analyzer
# Run BPA rules TabularEditor.exe Model.bim -A rules.json # Run BPA with Azure DevOps logging output TabularEditor.exe Model.bim -A rules.json -V # Run BPA with GitHub Actions logging output TabularEditor.exe Model.bim -A rules.json -G # Analyze excluding rules embedded in model annotations TabularEditor.exe Model.bim -AX rules.json
Schema Check
# Validate data source schemas against the model TabularEditor.exe Model.bim -SC
Common Operations
1. Deploy Local Model to Service
TabularEditor.exe Model.bim ^
-D "powerbi://api.powerbi.com/v1.0/myorg/Workspace" "SemanticModel" ^
-O -C2. Run Script and Save
TabularEditor.exe Model.bim -S format-dax.csx -B Model.bim
3. Run BPA Analysis
TabularEditor.exe Model.bim ^
-A https://raw.githubusercontent.com/microsoft/Analysis-Services/master/BestPracticeRules/BPARules.json ^
-V4. Refresh Model Data
TabularEditor.exe "server" "database" ^
-S "Model.RequestRefresh(RefreshType.Full);" ^
-D "server" "database"5. Export Model from Service
TabularEditor.exe "powerbi://api.powerbi.com/v1.0/myorg/Workspace" "Model" ^
-TMDL output/definitionAuthentication
For authentication methods (Windows, Service Principal, Interactive) and CI/CD integration (Azure DevOps, GitHub Actions), see **`references/auth-and-cicd.md`**.
Exit Codes
| Code | Description | |------|-------------| | 0 | Success | | 1 | Any error-level output (script error, deployment failure, BPA violations at severity >= 3) |
File Formats
Input Formats
- `model.bim` - Tabular JSON (legacy)
- `definition/` - TMDL folder (modern)
- `*.pbip` - Power BI Project (TE3)
Output Formats
| Flag | Format | Description | |------|--------|-------------| | `-B` | `.bim` | Tabular JSON | | `-TMDL` | folder | TMDL | | `-F` | folder | Legacy folder structure |
Troubleshooting
For common errors (database not found, authentication failed, script execution failed), see **`references/auth-and-cicd.md`**.
Quick Reference Card
``
Power BI AI skills and Power BI agents for Claude Code and GitHub Copilot: a plugin marketplace of Power BI skills, subagents, and hooks for semantic models, DAX, TMDL, reports, and AI dashboards. Includes Microsoft Fabric skills and Fabric agents. Weekly updates.
Repo: data-goblin/power-bi-agentic-development
Other skills on power-bi-agentic-development.
- /deneb-visuals
Deneb visual creation, Vega/Vega-Lite spec authoring, and Deneb best practices for PBIR reports. Automatically invoke whenever the user mentions "Deneb" in any context, or asks about Vega/Vega-Lite specs in Power BI, Deneb cross-filtering, Deneb interactivity, pbiColor theme
Open skill - /powerbi-custom-visuals
Power BI custom visual (.pbiviz) development with the pbiviz toolchain and its MCP server. Automatically invoke when the user mentions "custom visual", "pbiviz", "develop a Power BI visual", "powerbi-visuals-tools", "IVisual", "capabilities.json", "visual formatting model",
Open skill - /python-visuals
Python visual creation and matplotlib/seaborn patterns for PBIR reports. Automatically invoke when the user mentions "Python visual", "matplotlib in Power BI", "seaborn in Power BI", "pythonVisual", or asks to "create a Python visual", "add a matplotlib chart", "write a Python
Open skill - /r-visuals
R visual creation and ggplot2 patterns for PBIR reports. Automatically invoke when the user mentions "R visual", "ggplot2", "ggplot in Power BI", or asks to "create an R visual", "add an R chart", "write an R visual script", "inject an R script into Power BI".
Open skill - /svg-visuals
SVG generation via DAX measures and extension measures with ImageUrl data category for inline visualizations in PBIR reports. Automatically invoke when the user mentions "SVG visual", "DAX sparkline", "SVG measure", "inline graphics with DAX", "ImageUrl data category",
Open skill - /executing-spark
Execute arbitrary Python or PySpark code on Fabric Spark compute without creating a notebook artifact; ephemeral Livy sessions with full Delta table access. Automatically invoke when the user asks to "run PySpark in Fabric", "create a Livy session", "execute Python on Fabric
Open skill

