fabric-cli-core

Use Microsoft Fabric CLI (fab) to manage workspaces, semantic models, reports, notebooks, and Fabric resources. Activate when users mention fab, Fabric CLI, or…

npx skills add https://github.com/microsoft/fabric-cli --skill fabric-cli-core

Fabric CLI Core

This skill defines safe, consistent defaults for an AI agent helping users operate Microsoft Fabric via the Fabric CLI (fab).

1 - Fabric CLI mental model (paths and entities)

Automation Scripts

Ready-to-use Python scripts for core CLI tasks. Run any script with --help for full options.

ScriptPurposeUsage
health_check.pyVerify CLI installation, auth status, and connectivitypython scripts/health_check.py [--workspace WS]

Scripts are located in the scripts/ folder of this skill.

Paths and Entities

  • Treat Fabric as a filesystem-like hierarchy with consistent dot (.) entity suffixes in paths (e.g., .Workspace, .Folder, .SemanticModel).
  • The hierarchy structure is:
    • Tenant: The top-level container for everything.
    • Workspace: Personal or team workspace holding folders, items, and workspace-level elements.
    • Folder: Container for organizing items within a workspace (supports ~10 levels of nesting).
    • Item: Individual resource within a workspace or folder (e.g., Notebook, SemanticModel, Lakehouse).
    • OneLakeItem: OneLake storage item residing within a Lakehouse (tables, files, etc.).
  • Prefer and generate paths like:
    • /Workspace1.Workspace/Notebook1.Notebook
    • /Workspace1.Workspace/FolderA.Folder/SemanticModel1.SemanticModel
    • /Workspace1.Workspace/FolderA.Folder/lh1.Lakehouse/Tables (OneLakeItem)
  • When a user provides an ambiguous identifier, ask for the full path (or infer with stated assumptions).

2 - Modes (interactive vs command line)

  • Be explicit about which mode a user is in:
    • Interactive mode behaves like a REPL and runs commands without the fab prefix.
    • Command line mode runs one command per invocation and is best for scripts/automation.
  • The selected mode is preserved between sessions. If a user exits and logs back in, the CLI resumes in the same mode last used.
  • When you provide instructions, show commands in command line mode unless the user says they're in interactive mode.

3 - Authentication (public-safe guidance)

  • Prefer these auth patterns and do not invent new flows:
    1. Interactive user: fab auth login (browser/WAM where supported).
    2. Service principal (secret/cert): use environment variables / secure mechanisms; avoid embedding secrets in files.
    3. Service principal (federated credential): use the federated token environment variable (FAB_SPN_FEDERATED_TOKEN) and do not persist the raw token.
    4. Managed identity: supported for Azure-hosted workloads; no credentials required.
  • Never ask users to paste secrets into chat or print them back.

4 - Sensitive data handling (strict)

  • Never log or output tokens, passwords, client secrets, or raw federated tokens.
  • Validate all user inputs that could affect security:
    • Paths: Sanitize file paths and API parameters.
    • GUIDs: Validate resource identifiers before use.
    • JSON: Validate JSON inputs for proper format.
  • If a user shares sensitive strings, advise rotating/regenerating them and moving to secure storage.

5 - Hidden entities and discovery

  • Hidden entities are special resources not normally visible, following a dot-prefixed naming convention (similar to UNIX hidden files).
  • Tenant-level hidden entities (accessed from root):
    • .capacitiesfab ls .capacities / fab get .capacities/<name>.Capacity
    • .gatewaysfab ls .gateways / fab get .gateways/<name>.Gateway
    • .connectionsfab ls .connections / fab get .connections/<name>.Connection
    • .domainsfab ls .domains / fab get .domains/<name>.Domain
  • Workspace-level hidden entities (accessed within a workspace):
    • .managedidentitiesfab ls ws1.Workspace/.managedidentities
    • .managedprivateendpointsfab ls ws1.Workspace/.managedprivateendpoints
    • .externaldatasharesfab ls ws1.Workspace/.externaldatashares
    • .sparkpoolsfab ls ws1.Workspace/.sparkpools
  • To show hidden resources, recommend ls -a / ls --all.

6 - Errors and troubleshooting guidance

  • When describing failures, include:
    • What the command was trying to do
    • The likely cause
    • The next actionable step
  • If the CLI surfaces an error code/message, keep it intact and do not paraphrase away the key identifiers. (Fabric CLI emphasizes stable error codes/messages.)
  • Include request IDs for API errors to aid debugging when available.

7 - Output conventions for the agent

  • Default to concise, runnable steps.
  • When recommending commands, include:
    • Preconditions (auth, correct workspace/path)
    • Expected result
    • How to verify (e.g., follow-up fab ls / fab get)

8 - Safety defaults

  • Ask before suggesting commands that delete, overwrite, or change access/permissions.
  • If the user explicitly confirms, proceed with a clear rollback note when possible.

9 - Platform and troubleshooting reference

  • Supported platforms: Windows, Linux, macOS.
  • Supported shells: zsh, bash, PowerShell, cmd (Windows command prompt).
  • Python versions: 3.10, 3.11, 3.12, 3.13.
  • CLI file storage (useful for troubleshooting):
    • Config files are stored in ~/.config/fab/:
      • cache.bin — encrypted auth token cache
      • config.json — non-sensitive CLI settings
      • auth.json — non-sensitive auth info
      • context-<session_id> — path context for command-line mode sessions
    • Debug logs are written to:
      • Windows: %AppData%/fabcli_debug.log
      • macOS: ~/Library/Logs/fabcli_debug.log
      • Linux: ~/.local/state/fabcli_debug.log

10 - Critical operational rules

  • First run: Always run fab auth status to verify authentication before executing commands. If not authenticated, ask the user to run fab auth login.
  • Learn before executing: Always use fab --help and fab <command> --help the first time you use a command to understand its syntax.
  • Start simple: Try the basic fab command alone first before piping or chaining.
  • Non-interactive mode: Use fab in command-line mode when working with coding agents. Interactive mode doesn't work with automation.
  • Force flag: Use -f when executing commands if the flag is available to run non-interactively (skips confirmation prompts).
  • Verify before acting: If workspace or item name is unclear, ask the user first, then verify with fab ls or fab exists before proceeding.
  • Permission errors: If a command is blocked by permissions, stop and ask the user for clarification; never try to circumvent it.

11 - Common item types

ExtensionDescription
.WorkspaceWorkspace container
.FolderFolder within workspace
.SemanticModelPower BI dataset/semantic model
.ReportPower BI report
.DashboardPower BI dashboard
.NotebookFabric notebook
.LakehouseLakehouse
.WarehouseData warehouse
.DataPipelineData pipeline
.SparkJobDefinitionSpark job definition
.EventstreamReal-time event stream
.KQLDatabaseKQL database
.MLModelML model
.MLExperimentML experiment
.CapacityFabric capacity (hidden)
.GatewayData gateway (hidden)
.ConnectionConnection (hidden)

Use fab desc .<ItemType> to explore any item type.

12 - Command references

For detailed command syntax and working examples, see:

More skills from microsoft

oss-growth
microsoft
OSS growth hacker persona
official
microsoft-foundry
microsoft
Deploy, evaluate, and manage Foundry agents end-to-end: Docker build, ACR push, hosted/prompt agent create, container start, batch eval, continuous eval, prompt optimizer workflows, agent.yaml, dataset curation from traces. USE FOR: deploy agent to Foundry, hosted agent, create agent, invoke agent, evaluate agent, run batch eval, continuous eval, continuous monitoring, continuous eval status, optimize prompt, improve prompt, prompt optimizer, optimize agent instructions, improve agent...
officialdevelopmentdevops
azure-ai
microsoft
Use for Azure AI: Search, Speech, OpenAI, Document Intelligence. Helps with search, vector/hybrid search, speech-to-text, text-to-speech, transcription, OCR. WHEN: AI Search, query search, vector search, hybrid search, semantic search, speech-to-text, text-to-speech, transcribe, OCR, convert text to speech.
officialdevelopmentapi
azure-deploy
microsoft
Execute Azure deployments for ALREADY-PREPARED applications that have existing .azure/deployment-plan.md and infrastructure files. DO NOT use this skill when the user asks to CREATE a new application — use azure-prepare instead. This skill runs azd up, azd deploy, terraform apply, and az deployment commands with built-in error recovery. Requires .azure/deployment-plan.md from azure-prepare and validated status from azure-validate. WHEN: "run azd up", "run azd deploy", "execute deployment",...
officialdevopsaws
azure-storage
microsoft
Azure Storage Services including Blob Storage, File Shares, Queue Storage, Table Storage, and Data Lake. Answers questions about storage access tiers (hot, cool, cold, archive), when to use each tier, and tier comparison. Provides object storage, SMB file shares, async messaging, NoSQL key-value, and big data analytics. Includes lifecycle management. USE FOR: blob storage, file shares, queue storage, table storage, data lake, upload files, download blobs, storage accounts, access tiers,...
officialdevelopmentdatabase
azure-diagnostics
microsoft
Debug Azure production issues on Azure using AppLens, Azure Monitor, resource health, and safe triage. WHEN: debug production issues, troubleshoot app service, app service high CPU, app service deployment failure, troubleshoot container apps, troubleshoot functions, troubleshoot AKS, kubectl cannot connect, kube-system/CoreDNS failures, pod pending, crashloop, node not ready, upgrade failures, analyze logs, KQL, insights, image pull failures, cold start issues, health probe failures,...
officialdevopsdevelopment
azure-prepare
microsoft
Prepare Azure apps for deployment (infra Bicep/Terraform, azure.yaml, Dockerfiles). Use for create/modernize or create+deploy; not cross-cloud migration (use azure-cloud-migrate). DO NOT USE FOR: copilot-sdk apps (use azure-hosted-copilot-sdk). WHEN: "create app", "build web app", "create API", "create serverless HTTP API", "create frontend", "create back end", "build a service", "modernize application", "update application", "add authentication", "add caching", "host on Azure", "create and...
officialdevelopmentdevops
azure-validate
microsoft
Pre-deployment validation for Azure readiness. Run deep checks on configuration, infrastructure (Bicep or Terraform), RBAC role assignments, managed identity permissions, and prerequisites before deploying. WHEN: validate my app, check deployment readiness, run preflight checks, verify configuration, check if ready to deploy, validate azure.yaml, validate Bicep, test before deploying, troubleshoot deployment errors, validate Azure Functions, validate function app, validate serverless...
officialdevopstesting