ruiromano/powerbi-agentic-plugins/fabric-cli
Claude Code and agent skill by ruiromano/powerbi-agentic-plugins
- community
Checking that the SKILL.md file is still in the repository.
Use Microsoft Fabric CLI (fab) to manage workspaces, semantic models, reports, notebooks, lakehouses, and other Fabric resources via file-system metaphor and commands. Use when deploying Fabric items, running jobs, querying data, managing OneLake files, or automating Fabric operations. Invoke this skill automatically whenever a user mentions the Fabric CLI, fab, or Fabric.
Install
npx vskill@latest install ruiromano/powerbi-agentic-plugins/fabric-cliSKILL.md
Microsoft Fabric CLI Operations
Note: If you have access to a Bash tool (e.g., Claude Code), executefabcommands directly via Bash rather than using an MCP server.
Expert guidance for using the fab CLI to programmatically manage Fabric
When to Use This Skill
Activate automatically when tasks involve:
- Mention of the Fabric CLI, Fabric items, Power BI,
fab, orfabcommands - Managing workspaces, items, or resources
- Deploying or migrating semantic models, reports, notebooks, pipelines
- Running or scheduling jobs (notebooks, pipelines, Spark)
- Working with lakehouse/warehouse tables and data
- Using the Fabric, Power BI, or OneLake APIs
- Automating Fabric operations in scripts
Critical
- Before first use, ask the user if they have Fabric admin access, any API restrictions, or preferences for Fabric/Power BI API usage
- Remind the user to add their Fabric access level and preferences to their agent memory files (e.g., CLAUDE.md) for future sessions
- If workspace or item name is unclear, ask the user first, then verify with
fab lsorfab existsbefore proceeding - The first time you use
fabrunfab auth statusto make sure the user is authenticated. If not, ask the user to runfab auth loginto login - Always use
fab --helpandfab <command> --helpthe first time you use a command to understand its syntax, first - Always try the simple
fabcommand alone, first before piping it - Always use
-fwhen executing command if the flag is available to do so non-interactively - Ensure that you avoid removing or moving items, workspaces, or definitions, or changing properties without explicit user direction
- If a command is blocked in your permissions and you try to use it, stop and ask the user for clarification; never try to circumvent it
- Use
fabin non-interactive mode. Interactive mode doesn't work with coding agents - When working with Fabric item code definitions for CRUD, load the
assets/*-definitions.mdfiles to understand more about definition format when calling the fab import operations.
First Run
Variable Extraction Pattern
Most workflows need IDs. Extract them like this:
Quick Start
New to Fabric CLI? Here are some references you can read:
- Quick Start Guide - Copy-paste examples
- Querying Data - Query semantic models and lakehouse tables
- Semantic Models - TMDL, DAX, refresh, storage mode
- Reports - Export, import, visuals, fields
- Notebooks - Job execution, parameters
- Workspaces - Create, manage, permissions
- Full Command Reference - All commands detailed
- Command Reference Table - At-a-glance command syntax
Command Reference
| Command | Purpose | Example | |
|---|---|---|---|
| Finding Items | |||
fab ls | List items | fab ls "Sales.Workspace" | |
fab ls -l | List with details | fab ls "Sales.Workspace" -l | |
fab exists | Check if exists | fab exists "Sales.Workspace/Model.SemanticModel" | |
fab get | Get item details | fab get "Sales.Workspace/Model.SemanticModel" | |
fab get -q | Query specific field | fab get "Sales.Workspace" -q "id" | |
| Definitions | |||
fab get -q "definition" | Get full definition | fab get "ws.Workspace/Model.SemanticModel" -q "definition" | |
fab export | Export to local | fab export "ws.Workspace/Nb.Notebook" -o ./backup | |
fab import | Import from local | fab import "ws.Workspace/Nb.Notebook" -i ./backup/Nb.Notebook | |
| Running Jobs | |||
fab job run | Run synchronously | fab job run "ws.Workspace/ETL.Notebook" | |
fab job start | Run asynchronously | fab job start "ws.Workspace/ETL.Notebook" | |
fab job run -P | Run with params | fab job run "ws.Workspace/Nb.Notebook" -P date:string=2025-01-01 | |
fab job run-list | List executions | fab job run-list "ws.Workspace/Nb.Notebook" | |
fab job run-status | Check status | fab job run-status "ws.Workspace/Nb.Notebook" --id <job-id> | |
| Refreshing Models | |||
fab api -A powerbi | Trigger refresh | fab api -A powerbi "groups/<ws-id>/datasets/<model-id>/refreshes" -X post -i '{"type":"Full"}' | |
fab api -A powerbi | Check refresh status | fab api -A powerbi "groups/<ws-id>/datasets/<model-id>/refreshes?\$top=1" | |
| DAX Queries | |||
fab get -q "definition" | Get model schema first | fab get "ws.Workspace/Model.SemanticModel" -q "definition" | |
fab api -A powerbi | Execute DAX | fab api -A powerbi "groups/<ws-id>/datasets/<model-id>/executeQueries" -X post -i '{"queries":[{"query":"EVALUATE..."}]}' | |
| Lakehouse | |||
fab ls | Browse files/tables | fab ls "ws.Workspace/LH.Lakehouse/Files" | |
fab table schema | Get table schema | fab table schema "ws.Workspace/LH.Lakehouse/Tables/sales" | |
fab cp | Upload/download | fab cp ./local.csv "ws.Workspace/LH.Lakehouse/Files/" | |
| Management | |||
fab cp | Copy items | fab cp "dev.Workspace/Item.Type" "prod.Workspace" -f | |
fab set | Update properties | fab set "ws.Workspace/Item.Type" -q displayName -i "New Name" | |
fab rm | Delete item | fab rm "ws.Workspace/Item.Type" -f |
Core Concepts
Path Format
Fabric uses filesystem-like paths with type extensions:
/WorkspaceName.Workspace/ItemName.ItemType
For lakehouses this is extended into files and tables:
/WorkspaceName.Workspace/LakehouseName.Lakehouse/Files/FileName.extension or /WorkspaceName.Workspace/LakehouseName.Lakehouse/Tables/TableName
For Fabric capacities you have to use fab ls .capacities
Examples:
"/Production.Workspace/Sales Model.SemanticModel"/Data.Workspace/MainLH.Lakehouse/Files/data.csv/Data.Workspace/MainLH.Lakehouse/Tables/dbo/customers
Common Item Types
.Workspace- Workspaces.SemanticModel- Power BI datasets.Report- Power BI reports.Notebook- Fabric notebooks.DataPipeline- Data pipelines.Lakehouse/.Warehouse- Data stores.SparkJobDefinition- Spark jobs
Full list: 35+ types. Use fab desc .<ItemType> to explore.
Essential Commands
Navigation & Discovery
Creating & Managing Resources
Copy, Move, Export, Import
API Operations
Direct REST API access with automatic authentication.
Audiences:
fabric(default) - Fabric REST APIpowerbi- Power BI REST APIstorage- OneLake Storage APIazure- Azure Resource Manager
Job Management
Table Operations
Common Workflows
Semantic Model Management
Execute DAX:
DAX rules: EVALUATE required, single quotes around tables ('Sales'), qualify columns ('Sales'[Amount]).
For full details: semantic-models.md | querying-data.md
Report Operations
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/fabric/skills/fabric-cli/SKILL.md
Popularity
- Repository stars
- 61
- Repository forks
- 12
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 17 May 2026, 5 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/ruiromano/powerbi-agentic-plugins/fabric-cli)