Install
$ agentstack add skill-microsoft-skills-for-fabric-fabriciq-ontology-consumption-cli ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ● Network access Used
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
> 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 (e.g., /fabric-skills:check-updates). > - Claude Code / Cowork / Cursor / Windsurf / Codex: read the local package.json version, then compare against remote via git fetch origin main --quiet && git show origin/main:package.json (or the GitHub API). If remote is newer, show the changelog and update instructions. > - Skip if the check was already performed earlier in this session.
> CRITICAL NOTES > 1. Ontology is preview. The item type value is Ontology. Wire format and limitations may change; validate against the current docs before production use. > 2. This skill is read-only. It never calls createItem or updateDefinition. For schema changes, delegate to fabriciq-ontology-authoring-cli. > 3. This skill does not query source data directly. It enumerates ontology grounding context, then delegates the actual data read to the per-datasource consumption skill that matches the binding source kind (see [Query Routing](#query-routing)). > 4. Projections (a semantic query layer over ontology entities) are not yet GA. Until they ship, all data queries run against the source table (LakehouseTable or KustoTable) using the columns declared in the binding's propertyBindings[]. > 5. To find the workspace details (including its ID) from workspace name: list all workspaces and use JMESPath filtering. > 6. To find the ontology item ID from workspace ID and item name: list all items of type Ontology in that workspace and use JMESPath filtering.
fabriciq-ontology-consumption-cli — Fabric Ontology Consumption via CLI
Table of Contents
| Task | Reference | Notes | | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------- | | Finding Workspaces and Items in Fabric | [COMMON-CLI.md § Finding Workspaces and Items in Fabric](../../common/COMMON-CLI.md#finding-workspaces-and-items-in-fabric) | Mandatory — resolve workspace/item IDs before enumerating | | Fabric Topology & Key Concepts | [COMMON-CORE.md § Fabric Topology & Key Concepts](../../common/COMMON-CORE.md#fabric-topology--key-concepts) | Workspace → Item hierarchy | | Authentication & Token Acquisition | [COMMON-CORE.md § Authentication & Token Acquisition](../../common/COMMON-CORE.md#authentication--token-acquisition) | Use https://api.fabric.microsoft.com audience for control plane | | Core Control-Plane REST APIs | [COMMON-CORE.md § Core Control-Plane REST APIs](../../common/COMMON-CORE.md#core-control-plane-rest-apis) | Get Item Definition | | Long-Running Operations (LRO) | [COMMON-CORE.md § Long-Running Operations (LRO)](../../common/COMMON-CORE.md#long-running-operations-lro) | getDefinition returns an LRO | | Rate Limiting & Throttling | [COMMON-CORE.md § Rate Limiting & Throttling](../../common/COMMON-CORE.md#rate-limiting--throttling) | | | Authentication Recipes | [COMMON-CLI.md § Authentication Recipes](../../common/COMMON-CLI.md#authentication-recipes) | az login; token acquisition | | Fabric Control-Plane API via az rest | [COMMON-CLI.md § Fabric Control-Plane API via az rest](../../common/COMMON-CLI.md#fabric-control-plane-api-via-az-rest) | Always pass --resource https://api.fabric.microsoft.com | | Long-Running Operations (LRO) Pattern | [COMMON-CLI.md § Long-Running Operations (LRO) Pattern](../../common/COMMON-CLI.md#long-running-operations-lro-pattern) | Poll operations/{x-ms-operation-id} until Succeeded | | Gotchas & Troubleshooting (CLI-Specific) | [COMMON-CLI.md § Gotchas & Troubleshooting (CLI-Specific)](../../common/COMMON-CLI.md#gotchas--troubleshooting-cli-specific) | Token audience, shell escaping | | Definition Envelope (parts, payloadType) | [ITEM-DEFINITIONS-CORE.md § Definition Envelope](../../common/ITEM-DEFINITIONS-CORE.md#definition-envelope) | InlineBase64 parts pattern — the ontology returns this shape | | Ontology Definition Tree | [ONTOLOGY-AUTHORING-CORE.md § Definition Tree](../fabriciq-ontology-authoring-cli/references/ONTOLOGY-AUTHORING-CORE.md#definition-tree) | Authoritative file/folder layout of parts you will decode | | EntityType & EntityTypeProperty schema | [ONTOLOGY-AUTHORING-CORE.md § EntityType file](../fabriciq-ontology-authoring-cli/references/ONTOLOGY-AUTHORING-CORE.md#entitytype-file--entitytypesiddefinitionjson) | valueType catalog, key / display-name contracts | | DataBinding schema + source-type mapping | [ONTOLOGY-AUTHORING-CORE.md § DataBinding file](../fabriciq-ontology-authoring-cli/references/ONTOLOGY-AUTHORING-CORE.md#databinding-file--entitytypesiddatabindingsguidjson) | LakehouseTable vs KustoTable; propertyBindings[] shape | | RelationshipType + Contextualization | [ONTOLOGY-AUTHORING-CORE.md § RelationshipType file](../fabriciq-ontology-authoring-cli/references/ONTOLOGY-AUTHORING-CORE.md#relationshiptype-file--relationshiptypesiddefinitionjson) | Source/target + linking-table contract | | Connection Fundamentals (EH source queries) | [EVENTHOUSE-CONSUMPTION-CORE.md § Connection Fundamentals](../../common/EVENTHOUSE-CONSUMPTION-CORE.md#connection-fundamentals) | Cluster URI + DB discovery for KustoTable bindings | | Performance Best Practices (EH source queries) | [EVENTHOUSE-CONSUMPTION-CORE.md § Performance Best Practices](../../common/EVENTHOUSE-CONSUMPTION-CORE.md#performance-best-practices) | Time filters, has vs contains | | Spark consumption patterns (Lakehouse sources) | [SPARK-CONSUMPTION-CORE.md](../../common/SPARK-CONSUMPTION-CORE.md) | For LakehouseTable bindings, delegate read | | SQL consumption patterns (SQL endpoint / DW) | [SQLDW-CONSUMPTION-CORE.md](../../common/SQLDW-CONSUMPTION-CORE.md) | For LakehouseTable SQL-endpoint reads and Warehouse reads | | Ontology Concepts | [SKILL.md § Ontology Consumption Concepts](#ontology-consumption-concepts) | Entity / relationship / binding / grounding context | | Tool Stack | [SKILL.md § Tool Stack](#tool-stack) | | | Connection | [SKILL.md § Connection](#connection) | Discover workspace, ontology ID; Get Item Definition | | Consumption Scope | [SKILL.md § Consumption Scope](#consumption-scope) | What this skill does / does not do | | Grounding Context Extraction (deep reference) | [grounding-extraction.md](references/grounding-extraction.md) | Decode parts → grounding JSON for agents | | Query Routing (deep reference) | [routing.md](references/routing.md) | Binding kind → per-datasource skill + query shape | | Worked Examples | [examples.md](references/examples.md) | End-to-end bash recipes (enumerate → route → query) | | Graph Walks (N-hop neighborhood from anchor) | [graph-walks.md](references/graph-walks.md) | Anchor entity + hop budget → composed inline reads, no scripts | | Snappy-Response Discipline | [SKILL.md § Snappy-Response Discipline](#snappy-response-discipline) | Inline-first; script only when stateful or re-runnable | | Must / Prefer / Avoid / Troubleshooting | [SKILL.md § Must / Prefer / Avoid / Troubleshooting](#must--prefer--avoid--troubleshooting) | LLM decision rules | | Agentic Workflows | [SKILL.md § Agentic Workflows](#agentic-workflows) | Ground-then-query loop, schema-aware query generation | | Agent Integration Notes | [SKILL.md § Agent Integration Notes](#agent-integration-notes) | How this skill composes with authoring / per-datasource skills |
Ontology Consumption Concepts
A Fabric Ontology item carries its schema as a tree of JSON files inside the item definition (same shape as authoring). Get Item Definition returns the parts as base64-encoded payloads; the consumption flow is always: fetch → decode → parse → ground → delegate.
| Concept | Definition part | What it tells an agent | |---|---|---| | Entity type | EntityTypes/{entityTypeId}/definition.json | Logical type name, key properties (entityIdParts), display-name property, static properties[], timeseriesProperties[], value-type catalog | | Data binding | EntityTypes/{entityTypeId}/DataBindings/{guid}.json | Which physical table backs this entity type, the source kind (LakehouseTable / KustoTable), dataBindingType (NonTimeSeries / TimeSeries), column-to-property map, and — for timeseries — the timestamp column | | Relationship type | RelationshipTypes/{relTypeId}/definition.json | Link between two entity types (source/target); name; cardinality hints | | Contextualization | RelationshipTypes/{relTypeId}/Contextualizations/{guid}.json | Which Lakehouse linking table holds the (source key, target key) pairs to realize the relationship |
Grounding context = the flattened, agent-ready projection of that tree: a JSON summary an LLM can read to decide which entity type to query, which column holds the key, which table to hit, and which consumption skill to invoke. Full shape + extraction recipe: [grounding-extraction.md](references/grounding-extraction.md).
Property valueType allowed values (exact): String, Boolean, DateTime, Object, BigInt, Double. Integers are BigInt (not Int64); GUIDs are modelled as String. See [ONTOLOGY-AUTHORING-CORE.md § EntityTypeProperty](../fabriciq-ontology-authoring-cli/references/ONTOLOGY-AUTHORING-CORE.md#entitytypeproperty) for the full source-column → valueType mapping.
Tool Stack
Ontology consumption uses the same Fabric control-plane tool stack as every other CLI skill — see [COMMON-CLI.md § Tool Selection Rationale](../../common/COMMON-CLI.md#tool-selection-rationale) for the canonical list (install commands, prerequisite checks, base64 helpers, JSON tooling) and [COMMON-CLI.md § Authentication Recipes](../../common/COMMON-CLI.md#authentication-recipes) for az login + token acquisition.
Per-datasource reads are delegated — you do not need the Kusto, Spark, or SQL CLI tools installed to use this skill for enumeration. They are only needed if you also invoke the downstream consumption skill in the same session.
Connection
Ontology consumption targets the Fabric control plane. You need the workspace ID and the ontology item ID; everything else (entity types, bindings, source tables, cluster URIs) is recovered by decoding the definition.
- Sign in + acquire the Fabric control-plane token → [COMMON-CLI.md § Authentication Recipes](../../common/COMMON-CLI.md#authentication-recipes) (always
--resource https://api.fabric.microsoft.com). - Resolve workspace ID by
displayNameand the ontology item ID viaGET /v1/workspaces/{WS_ID}/items?type=Ontologyfiltered bydisplayName→ [COMMON-CLI.md § Finding Workspaces and Items in Fabric](../../common/COMMON-CLI.md#finding-workspaces-and-items-in-fabric) (covers pagination + JMESPath filtering). - Generic
az restinvocation template → [COMMON-CLI.md § Fabric Control-Plane API via az rest](../../common/COMMON-CLI.md#fabric-control-plane-api-via-az-rest).
Fetching the definition (Ontology-preview LRO gotcha)
Get Item Definition is Long-Running-Operation-capable. Depending on tenant/SKU, the POST may return the definition envelope inline (200 OK) or return 202 Accepted with an x-ms-operation-id header; for the 202 case, poll https://api.fabric.microsoft.com/v1/operations/{operationId} until Succeeded, then GET …/operations/{operationId}/result to receive the parts[] array. The generic LRO recipe (capture x-ms-operation-id, poll, fetch result) is in [COMMON-CLI.md § Long-Running Operations (LRO) Pattern](../../common/COMMON-CLI.md#long-running-operations-lro-pattern).
> Ontology-preview gotcha — prefer polling the operations/{id} endpoint over the Location header. The public Fabric LRO contract supports either, but on this Ontology LRO the Location header has been observed redirecting to an *.analysis.windows.net host; polling it with a Fabric-audience token is flaky (intermittent 401/403). Poll https://api.fabric.microsoft.com/v1/operations/{operationId} on the Fabric host instead. If you must follow Location, use the audience required by that URL. If a poll ever returns a non-2xx, read the operation .error and stop — never blind-retry the POST.
The full fetch-and-decode flow for this skill (LRO capture + part decode + tree reconstruction, Bash + PowerShell + Python helpers) lives in [grounding-extraction.md § Fetch and Decode](references/grounding-extraction.md#fetch-and-decode-an-ontology-definition). The sibling fabriciq-ontology-authoring-cli documents the same redirect-host workaround in its [LRO Header Capture section](../fabriciq-ontology-authoring-cli/SKILL.md#lro-header-capture-with-az-rest) — keep the two in sync if you change one.
Source-data connections (delegated)
Running the data query itself (KQL / Spark SQL / T-SQL) uses the connection patterns owned by the sibling consumption skills:
- Eventhouse (
KustoTablebindings) → [EVENTHOUSE-CONSUMPTION-CORE.md § Connection Fundamentals](../../common/EVENTHOUSE-CONSUMPTION-CORE.md#connection-fundamentals) +eventhouse-consumption-cli - Lakehouse (
LakehouseTablebindings) →sqldw-consumption-cli(default, SQL analytics endpoint) or `spark-consumptio
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: microsoft
- Source: microsoft/skills-for-fabric
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.