Skills-for-fabric powerbi-consumption-cli

install
source · Clone the upstream repo
git clone https://github.com/microsoft/skills-for-fabric
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/microsoft/skills-for-fabric "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/powerbi-consumption-cli" ~/.claude/skills/microsoft-skills-for-fabric-powerbi-consumption-cli && rm -rf "$T"
manifest: skills/powerbi-consumption-cli/SKILL.md
source content

Update Check — ONCE PER SESSION (mandatory) The first time this skill is used in a session, run the check-updates skill before proceeding.

  • GitHub Copilot CLI / VS Code: invoke the
    check-updates
    skill.
  • Claude Code / Cowork / Cursor / Windsurf / Codex: compare local vs remote package.json version.
  • Skip if the check was already performed earlier in this session.

CRITICAL NOTES

  1. To find the workspace details (including its ID) from workspace name: list all workspaces and, then, use JMESPath filtering
  2. To find the item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace and, then, use JMESPath filtering

Power BI Semantic Model Consumption — CLI Skill

Table of Contents

TaskReferenceNotes
Finding Workspaces and Items in FabricCOMMON-CLI.md § Finding Workspaces and Items in FabricMandatoryREAD link first [needed for finding workspace id by its name or item id by its name, item type, and workspace id]
Fabric Topology & Key ConceptsCOMMON-CORE.md § Fabric Topology & Key ConceptsHierarchy; Finding Things in Fabric
Environment URLsCOMMON-CORE.md § Environment URLsProduction (Public Cloud)
Authentication & Token AcquisitionCOMMON-CORE.md § Authentication & Token AcquisitionWrong audience = 401; covers token audiences, delegated vs app permissions, OAuth flows, identity types, and Entra app registration
Core Control-Plane REST APIsCOMMON-CORE.md § Core Control-Plane REST APIsIncludes workspace/item CRUD, resolve-by-name, pagination, LRO polling, and rate-limiting patterns
OneLake Data AccessCOMMON-CORE.md § OneLake Data AccessRequires
storage.azure.com
token, not Fabric token; covers URL structure, ADLS Gen2 parity, and shortcuts
Job ExecutionCOMMON-CORE.md § Job ExecutionRun On-Demand Job; Get / Cancel Job
Capacity ManagementCOMMON-CORE.md § Capacity ManagementList Capacities; Assign Workspace to Capacity
Gotchas, Best Practices & TroubleshootingCOMMON-CORE.md § Gotchas, Best Practices & TroubleshootingCommon Errors; Best Practices
Tool Selection RationaleCOMMON-CLI.md § Tool Selection Rationale
Authentication RecipesCOMMON-CLI.md § Authentication Recipes
az login
flows, environment detection, token acquisition, and debugging
Fabric Control-Plane API via
az rest
COMMON-CLI.md § Fabric Control-Plane API via
az rest
Always pass
--resource
; includes workspace/item operations, pagination, and LRO patterns
OneLake Data Access via
curl
COMMON-CLI.md § OneLake Data Access via
curl
Use
curl
not
az rest
(different token audience); file list/read/upload/delete and directory creation
SQL / TDS Data-Plane AccessCOMMON-CLI.md § SQL / TDS Data-Plane Access
sqlcmd
(Go) connect, query, CSV export, service principal auth, and connection parameter discovery
Job Execution (CLI)COMMON-CLI.md § Job ExecutionRun notebooks/pipelines, refresh semantic models, check/cancel jobs
OneLake ShortcutsCOMMON-CLI.md § OneLake ShortcutsCreate a Shortcut; List Shortcuts; Delete a Shortcut
Capacity Management (CLI)COMMON-CLI.md § Capacity ManagementList Capacities; Assign Workspace to Capacity
Composite RecipesCOMMON-CLI.md § Composite RecipesEnd-to-end workspace→lakehouse→file, SQL endpoint→query, and notebook execution recipes
Gotchas & Troubleshooting (CLI-Specific)COMMON-CLI.md § Gotchas & Troubleshooting (CLI-Specific)
Quick ReferenceCOMMON-CLI.md § Quick Reference
az rest
Template; Token Audience ↔ CLI Tool Matrix
PrerequisitesSKILL.md § Prerequisites
Must/Prefer/AvoidSKILL.md § Must/Prefer/AvoidGuardrails for read-only semantic model usage. MUST DO; PREFER; AVOID
Metadata DiscoverySKILL.md § Metadata DiscoveryINFO.VIEW.* and INFO.* functions.
Recommended Discovery OrderSKILL.md § Recommended Discovery OrderPreferred order for metadata exploration
Frequently Used INFO FunctionsSKILL.md § Frequently Used INFO FunctionsHigh-usage function list for first-pass discovery
Complete INFO Function Catalog (Dynamic)discovery-queries.md § Complete INFO Function Catalog (Dynamic)
Metadata Object → INFO Function MapSKILL.md § Metadata Object → INFO Function MapInlined mapping for object-focused discovery
Query ExecutionSKILL.md § Query ExecutionExecuteQuery usage shape
TroubleshootingSKILL.md § TroubleshootingResolve common execution and metadata issues
ExamplesSKILL.md § ExamplesSample Metadata Query; Sample Data Query
Scope Estimation Queriesdiscovery-queries.md § Scope Estimation Queries
INFO Output Columnsdiscovery-queries.md § INFO Output ColumnsINFO.VIEW.* (preferred first-pass metadata); Critical INFO.* (deep metadata / diagnostics)
Narrowing Results (Projection + Filtering)discovery-queries.md § Narrowing Results (Projection + Filtering)
Deep Metadata Queriesdiscovery-queries.md § Deep Metadata Queries
Dependency Discoverydiscovery-queries.md § Dependency DiscoveryDependency rowset for a DAX query; Dependency rows scoped to a measure; Reverse dependencies (what references a measure)

Prerequisites

  • COMMON-CORE.md — Fabric concepts, authentication, and control-plane API context.
  • COMMON-CLI.md — CLI-oriented discovery and token/audience patterns.

Must/Prefer/Avoid

MUST DO

  • Keep this skill read-only: metadata discovery and analytical DAX queries only.
  • Treat DAX data queries and
    INFO.VIEW.*
    as available to any user with read access to the semantic model; assume other
    INFO.*
    functions may require elevated permissions.
  • Resolve workspace and semantic model item identity dynamically; do not hardcode IDs.
  • Use DAX
    INFO.VIEW.*
    /
    INFO.*
    for metadata discovery before writing data queries.

PREFER

  • Validate semantic model scope early (
    artifactId
    ) before iterative query refinement.
  • Discover semantic model schema progressively: use filtered and projected
    INFO.VIEW.*
    /
    INFO.*
    calls (e.g.,
    SELECTCOLUMNS
    +
    FILTER
    ) to fetch only the information directly relevant to the current task instead of retrieving the full schema up front. See discovery-queries.md § Narrowing Results (Projection + Filtering).
  • Keep guidance provider-agnostic so tool endpoint migration is low risk.

AVOID

  • Model-change operations in this skill.

Recommended Discovery Order

  1. Run the discovery-queries.md § Scope Estimation Queries to estimate metadata scope (table, column, measure, and relationship counts) before deep discovery.
  2. Start with
    INFO.VIEW.TABLES()
    for a fast table inventory.
  3. Expand to
    INFO.VIEW.COLUMNS()
    and
    INFO.VIEW.MEASURES()
    for semantic details.
  4. Use
    INFO.VIEW.RELATIONSHIPS()
    to validate joins and filter behavior.
  5. Use the full query catalog in discovery-queries.md for deeper patterns.

Frequently Used INFO Functions

  • INFO.VIEW.TABLES
  • INFO.VIEW.MEASURES
  • INFO.VIEW.COLUMNS
  • INFO.VIEW.RELATIONSHIPS
  • INFO.PARTITIONS
  • INFO.MODEL
  • INFO.STORAGETABLECOLUMNSEGMENTS
  • INFO.DEPENDENCIES
  • INFO.EXPRESSIONS
  • INFO.ROLES
  • INFO.STORAGETABLECOLUMNS
  • INFO.CALCULATIONGROUPS
  • INFO.CALCULATIONITEMS
  • INFO.CULTURES
  • INFO.OBJECTTRANSLATIONS
  • INFO.USERDEFINEDFUNCTIONS
  • INFO.REFRESHPOLICIES
  • INFO.ATTRIBUTEHIERARCHYSTORAGES
  • INFO.COLUMNPARTITIONSTORAGES
  • INFO.COLUMNSTORAGES
  • INFO.DICTIONARYSTORAGES
  • INFO.HIERARCHYSTORAGES
  • INFO.PARTITIONSTORAGES
  • INFO.RELATIONSHIPINDEXSTORAGES
  • INFO.RELATIONSHIPSTORAGES
  • INFO.SEGMENTMAPSTORAGES
  • INFO.SEGMENTSTORAGES
  • INFO.STORAGEFOLDERS
  • INFO.STORAGEFILES
  • INFO.TABLESTORAGES
  • INFO.GENERALSEGMENTMAPSEGMENTMETADATASTORAGES
  • INFO.DELTATABLEMETADATASTORAGES
  • INFO.PARQUETFILESTORAGES
  • INFO.STORAGETABLES

Metadata Object → INFO Function Map

Metadata ObjectPrimary INFO functions
Model
INFO.MODEL
Tables
INFO.VIEW.TABLES
Columns
INFO.VIEW.COLUMNS
,
INFO.GROUPBYCOLUMNS
,
INFO.RELATEDCOLUMNDETAILS
Measures
INFO.VIEW.MEASURES
,
INFO.FORMATSTRINGDEFINITIONS
,
INFO.DETAILROWSDEFINITIONS
Relationships
INFO.VIEW.RELATIONSHIPS
Partitions
INFO.PARTITIONS
,
INFO.EXPRESSIONS
,
INFO.QUERYGROUPS
,
INFO.REFRESHPOLICIES
,
INFO.DATACOVERAGEDEFINITIONS
Security roles & permissions
INFO.ROLES
,
INFO.TABLEPERMISSIONS
,
INFO.COLUMNPERMISSIONS
Hierarchies
INFO.HIERARCHIES
,
INFO.LEVELS
,
INFO.ATTRIBUTEHIERARCHIES
,
INFO.VARIATIONS
Calculation groups/items
INFO.CALCULATIONGROUPS
,
INFO.CALCULATIONITEMS
,
INFO.CALCULATIONEXPRESSIONS
Perspectives
INFO.PERSPECTIVES
,
INFO.PERSPECTIVETABLES
,
INFO.PERSPECTIVECOLUMNS
,
INFO.PERSPECTIVEHIERARCHIES
,
INFO.PERSPECTIVEMEASURES
Calendars
INFO.CALENDARS
,
INFO.CALENDARCOLUMNGROUPS
,
INFO.CALENDARCOLUMNREFERENCES
Cultures
INFO.CULTURES
Object translations
INFO.OBJECTTRANSLATIONS
Functions
INFO.USERDEFINEDFUNCTIONS
Dependencies / lineage
INFO.DEPENDENCIES
,
INFO.CHANGEDPROPERTIES
,
INFO.EXCLUDEDARTIFACTS
Storage internals / size
INFO.STORAGEFOLDERS
,
INFO.STORAGEFILES
,
INFO.TABLESTORAGES
,
INFO.COLUMNSTORAGES
,
INFO.PARTITIONSTORAGES
,
INFO.SEGMENTMAPSTORAGES
,
INFO.DICTIONARYSTORAGES
,
INFO.COLUMNPARTITIONSTORAGES
,
INFO.SEGMENTSTORAGES
,
INFO.RELATIONSHIPSTORAGES
,
INFO.RELATIONSHIPINDEXSTORAGES
,
INFO.ATTRIBUTEHIERARCHYSTORAGES
,
INFO.HIERARCHYSTORAGES
,
INFO.GENERALSEGMENTMAPSEGMENTMETADATASTORAGES
,
INFO.DELTATABLEMETADATASTORAGES
,
INFO.PARQUETFILESTORAGES
,
INFO.STORAGETABLES
,
INFO.STORAGETABLECOLUMNS
,
INFO.STORAGETABLECOLUMNSEGMENTS

Query Execution

Use a single

ExecuteQuery
capability with payload concepts:

  • artifactId
    : target semantic model identifier.
  • daxQuery
    : direct DAX query text.

Temporary implementation note: current query integration is expected to be replaced before release by a public HTTP endpoint exposing

ExecuteQuery
.

Troubleshooting

  • ExecuteQuery capability is unavailable in the MCP server
    • Issue: Query execution cannot start because
      ExecuteQuery
      is not available in the active tool list.
    • Cause: The Fabric MCP server is not registered, not loaded, or the current client session has stale tool metadata.
    • Fix: Verify the active MCP server/tool inventory and confirm
      ExecuteQuery
      is exposed.
  • Advanced INFO functions return permission errors
    • Issue: Queries against
      INFO.*
      fail with authorization or privilege-related errors.
    • Cause: Many
      INFO.*
      functions require elevated semantic model permissions beyond standard read access.
    • Fix: Start with
      INFO.VIEW.*
      functions for read-oriented discovery.
  • Metadata output volume is too large for focused analysis
  • Do not use
    INFO
    DAX functions to retrieve role memberships
    • Issue:
      INFO.ROLEMEMBERSHIPS()
      returns empty or incomplete results.
    • Cause: Role members are assigned at the service level (Entra ID) after deployment, not in the model definition — so DAX
      INFO
      functions cannot reliably surface them.
    • Fix: Use the Power BI REST API instead. See powerbi-authoring-cli § Security Role Memberships.

Examples

For the full query catalog (including dependency patterns), see discovery-queries.md.

Sample Metadata Query

EVALUATE
INFO.VIEW.TABLES()
ORDER BY [Name]

Sample Data Query

DEFINE
MEASURE 'Sales'[Total Sales] = SUM('Sales'[Amount])
EVALUATE
SUMMARIZECOLUMNS(
    'Customer'[Customer Name],
    "Total Sales", [Total Sales]
)
ORDER BY [Total Sales] DESC