# Onelake Catalog CLI

Governs and curates the Microsoft Fabric OneLake catalog through Fabric Admin, Core and...

- Repository: https://github.com/microsoft/skills-for-fabric (1306 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-10-29
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add microsoft/skills-for-fabric --skill onelake-catalog-cli -g -a claude-code -y`
Codex: `npx skills add microsoft/skills-for-fabric --skill onelake-catalog-cli -g -a codex -y`
Cursor: `npx skills add microsoft/skills-for-fabric --skill onelake-catalog-cli -g -a cursor -y`
Gemini CLI: `npx skills add microsoft/skills-for-fabric --skill onelake-catalog-cli -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add microsoft/skills-for-fabric`

## Description

Governs and curates the Microsoft Fabric OneLake catalog through Fabric Admin, Core and Power BI REST APIs. Use for tenant or data-owner governance audits and guarded remediation of domains, workspace assignment, capacity, labels, tag definitions, workspace tags, certification, refresh and item identity, and for owners curating an item's description, name, tags and table and column descriptions. Item discovery belongs to search-consumption-cli.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

> **Telemetry, MANDATORY.** Every `api.fabric.microsoft.com` call must carry
> `x-ms-fabric-skill: onelake-catalog-cli` (`az rest`: `--headers "x-ms-fabric-skill=onelake-catalog-cli"`),
> including every LRO poll, `fabric_lro` and retry. Snippets omit it, add it anyway.

> **CRITICAL NOTES**
> 1. To find the workspace ID from its name, one call: `az rest --method get --resource "https://api.fabric.microsoft.com" --url "https://api.fabric.microsoft.com/v1/workspaces" --query "value[?displayName=='<name>'] | [0].id" -o tsv` (follow `continuationToken` only if it isn't on the first page; details in [COMMON-CLI.md § Finding Workspaces and Items in Fabric](../../common/COMMON-CLI.md#finding-workspaces-and-items-in-fabric)).
> 2. To find an item's ID, one call: the same on `.../v1/workspaces/{ws}/items?type=<Type>` with `--query "value[?displayName=='<name>'] | [0].id"`.
> 3. **Write-gated skill**, never call a write API before its gate below has passed. For curation that means the owner reviewed **every** proposed change and explicitly confirmed, not even a "test" write to check whether a change is allowed or what is already applied.
> 4. The item list and Get Item both return an item's `tags`. **An item with no tags has no `tags` field**, that absence means untagged.

# OneLake Catalog, CLI Skill (mode dispatcher)

One skill for the OneLake catalog. **Govern** (catalog health, protection and trust: audits and
guarded remediation, by permission tier) and **curate** (an owner improving specific items'
discoverability metadata) are modes, each detailed in a reference loaded on demand. This file
picks the mode, holds every write gate, and indexes the references.

## Mode selection

The rest: https://github.com/microsoft/skills-for-fabric/blob/HEAD/plugins/fabric-skills/skills/onelake-catalog-cli/SKILL.md
