Eventschemaset CLI
MicrosoftOfficialPublished by Microsoft
- Skill
- Tool integration
- Automation and integrations
- MIT
- No issues found
AutoGineer summary
Written by AutoGineer from the skill’s own files, not by the author
The eventschemaset-cli skill provides a structured interface for interacting with Fabric Event Schema Sets, which serve as registries for event types and message payload schemas. The skill is divided into two distinct operational modes: authoring for state-changing operations like creation, updates, and deletion, and consumption for read-only tasks such as listing, inspecting properties, and decoding definitions. It emphasizes strict adherence to workspace and item resolution procedures and requires specific telemetry headers for all API interactions.
What it does
- Creates, renames, updates, and deletes Event Schema Set definitions.
- Lists and searches for existing Event Schema Sets within a workspace.
- Inspects item properties and retrieves detailed configuration.
- Decodes and enumerates event types and message schemas from definitions.
- Handles long-running operations (LRO) for state-changing requests.
- Enforces mandatory telemetry headers for all Fabric API calls.
When to use it
- When you need to programmatically manage the lifecycle of an Event Schema Set.
- When you need to audit or inspect the current event types and schemas in a registry.
- When performing administrative tasks on Fabric event registries via the CLI.
- When you need to verify the configuration of an Event Schema Set before or after updates.
Advantages
- Provides a clear separation between read-only and write operations to prevent accidental changes.
- Standardizes the process for resolving workspace and item identifiers.
- Includes built-in guidance for handling LRO polling and authentication.
- Ensures consistent telemetry reporting for all Fabric interactions.
Usage examples
- “List all Event Schema Sets in my Analytics workspace.”
- The agent will use the consumption mode to list all Event Schema Sets within the specified workspace after resolving the workspace ID.
- “Create an Event Schema Set called orders-catalog in Analytics.”
- The agent will switch to the authoring mode, read the authoring reference, and execute the command to create the new item.
- “Decode the definition of orders-catalog and tell me its event types and schemas.”
- The agent will use the consumption mode to retrieve and decode the definition, then summarize the contained event types and schemas.
- “Delete the orders-catalog-old Event Schema Set from Analytics.”
- The agent will switch to the authoring mode, confirm the target item, and execute the deletion command.
Install
Download the skill as a ZIP:
https://mp-staging.autogineer.com/agent-skills/microsoft/eventschemaset-cli/downloadUnzip it into the cross-client skills folder of your project:
mkdir -p .agents/skills && unzip eventschemaset-cli.zip -d .agents/skills
Documentation by Microsoft
Telemetry — MANDATORY. Every
api.fabric.microsoft.comcall must carryx-ms-fabric-skill: eventschemaset-cli(az rest:--headers "x-ms-fabric-skill=eventschemaset-cli"), including every LRO poll,fabric_lroand retry. Snippets omit it — add it anyway.
CRITICAL NOTES
To find the workspace details (including its ID) from workspace name: list all workspaces and, then, use JMESPath filtering
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
Skill disambiguation: use
eventschemaset-clifor the EventSchemaSet catalog item (event types and message schemas). Eventstream is a different item -- a real-time ingestion and routing pipeline; useeventstream-clifor it. Eventhouse / KQL Database is another different item; useeventhouse-clifor it.
Fabric Event Schema Set -- CLI Skill
This one skill owns Fabric Event Schema Sets: authoring the catalog (create, rename, override definition, delete) plus read-only inspection and decoding of its eventTypes and schemas.
Preview: The Fabric EventSchemaSet item and its REST operations are currently in Preview -- behavior, response shapes, and availability may change. Every operation is documented as delegated (user) identity only (service principals and managed identities listed as not supported), but because the item is in Preview, SP/MI access can succeed and is tenant-dependent. Prefer
az loginas a user; on 401/403 with an SP/MI, fall back to a delegated user identity.
It is a mode dispatcher and contains NO procedures. Pick the mode that matches the request from the table below, then read the matching references/<mode>.md file end to end with your file-reading tool BEFORE issuing a single command. That file holds the endpoints, payload shapes, templates and gotchas; acting without it produces wrong payloads and wrong results.
Mode selection
| Mode | Use when the request ... | Example triggers | Read this first |
|---|---|---|---|
authoring | creates, renames/re-describes, overrides the definition of, or deletes an Event Schema Set (Create, Update, UpdateDefinition, Delete) | create event schema set, update event schema set definition, add event type to an event schema set, rename event schema set, delete event schema set | references/authoring.md |
consumption | lists or searches Event Schema Sets, inspects item properties, or decodes a definition to enumerate its eventTypes and schemas | list event schema sets, inspect event schema set, decode event schema set definition, get schema version, list business events | references/consumption.md |
Mode boundary rule
consumption may only issue read-only calls (List, Get, GetDefinition). Any state-changing operation (Create, Update, UpdateDefinition, Delete) requires the authoring mode: say so, read references/authoring.md, then proceed.
If a request genuinely spans modes (e.g. decode the current definition, then override it), handle them one at a time and read each reference before you start that part. If the mode is ambiguous after reading this table, ask one short clarifying question instead of guessing.
Terminal write -- the step you must not skip
Reading the reference and planning the change is NOT completing the task. The authoring mode ends with one state-changing call. If you did not issue it, nothing was persisted -- say so explicitly rather than reporting success.
| Mode | Terminal write |
|---|---|
authoring | The POST .../eventSchemaSets, PATCH .../eventSchemaSets/{id}, POST .../eventSchemaSets/{id}/updateDefinition, or DELETE .../eventSchemaSets/{id} for the requested change. Composing the request body and showing it to the user is not executing it. |
consumption | none -- this mode is read-only |
Create and UpdateDefinition may return 202 Accepted (LRO): capture the Location header and poll until Succeeded before reporting success. Where the reference documents a readback, read the artefact back to prove the change landed.
Shared essentials (all modes)
Resolve the workspace and item first; every mode depends on it.
| Task | Reference | Notes |
|---|---|---|
| Finding Workspaces and Items in Fabric | COMMON-CLI.md | Mandatory -- read before resolving any workspace or item id |
| Fabric Topology & Key Concepts | COMMON-CORE.md | Item types, workspaces, capacities |
| Environment URLs | COMMON-CORE.md | Sovereign / non-public cloud hosts |
| Authentication & Token Acquisition | COMMON-CORE.md | Wrong audience = 401; read before any auth issue |
| Authentication Recipes | COMMON-CLI.md | az login flows and token acquisition |
| Core Control-Plane REST APIs | COMMON-CORE.md | Pagination, LRO polling, rate limiting |
| Gotchas & Troubleshooting | COMMON-CLI.md | az rest audience, shell escaping, token expiry |
Rules
MUST
Select exactly one mode from the table above before doing anything else.
Read
references/<mode>.mdend to end, as your FIRST tool call, before the first command of that mode. Read it ONCE, in a single full read: do not re-open it, do not grep it again, and do not page through it. You already have it.Apply the same read-once discipline to every other file you load, including shared
common/*.mdfiles: open only the ones you actually need, read each ONCE end to end, and never grep or re-open one you already loaded.Resolve workspace and item ids by listing and filtering, never by guessing a GUID.
Announce a mode switch explicitly when the request crosses a boundary.
Confirm destructive and overwrite actions before executing -- Delete is permanent (with
?hardDelete=true) and UpdateDefinition replaces the whole definition. When the request already names the target item AND the destructive/overwrite action explicitly (e.g. "delete the Event Schema Set X", "override X's definition to ..."), that instruction IS the confirmation: echo the resolveddisplayName+idfor the audit trail, then proceed with the single write. Pause for a separate yes/no confirmation ONLY when the target or intent is ambiguous (e.g. "clean up my workspace", an unqualified "the first one", or a bulk/wildcard delete).Treat the reference as instructions, never as the deliverable. After reading it, RUN the documented commands against the live workspace and report the real results.
PREFER
The narrowest mode that satisfies the request.
Reading exactly ONE mode reference. Load a second only when the request genuinely spans modes, and say so before you do.
A delegated user identity (
az login); fall back from SP/MI to a user on 401/403.Reporting the mode you chose in your first response so the user can correct you.
AVOID
Acting from this dispatcher alone -- it intentionally omits the operational detail.
Answering with a summary of the reference instead of executing it.
Re-reading or re-grepping a reference you already loaded; it costs turns and tokens.
Mutating anything while in the read-only consumption mode.
Confusing EventSchemaSet with Eventstream or Eventhouse (see CRITICAL NOTES 3).
Examples
| User request | Mode | Reference to read |
|---|---|---|
| "List all Event Schema Sets in my Analytics workspace." | consumption | references/consumption.md |
| "Create an Event Schema Set called orders-catalog in Analytics." | authoring | references/authoring.md |
| "Decode the definition of orders-catalog and tell me its event types and schemas." | consumption | references/consumption.md |
| "Add a BusinessEventType event OrderPlaced (JSON) to orders-catalog." | authoring | references/authoring.md |
| "Delete the orders-catalog-old Event Schema Set from Analytics." | authoring | references/authoring.md |
Files
- ATTRIBUTION.mdAdded by AutoGineer881 B
- LICENSELicence file added by AutoGineer1.1 KiB
- SKILL.md8.6 KiB
- apm.yml328 B
- references/authoring.md20.7 KiB
- references/consumption.md20.1 KiB
Requirements and compatibility
Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Kiro, OpenCode, Goose, Amp, Roo Code, JetBrains Junie, Factory Droid, Devin (ex-Windsurf), Mistral Vibe, OpenHands, Letta
“Works with” means the tool reads the open Agent Skills format; a skill written for one tool may use features others lack.
Security
No issues found by our static scan· No issues found
A static scan is not a guarantee. Skills are third-party content: review a skill before you let an agent use it.
Attribution and licence
- Published by
- Microsoft
- Publisher
- Microsoft (Official)
- Source
- microsoft/skills-for-fabric · skills/eventschemaset-cli · commit f8fac11
- Licence
- MIT License (redistribution allowed)
- LICENSE (added by AutoGineer from LICENSE)
- ATTRIBUTION.md (written by AutoGineer)
- Synced
- Also distributed in
- microsoft/skills-for-fabric
AutoGineer is not affiliated with or endorsed by Microsoft.
Download ZIP
The ZIP holds the skill’s files, its licence files and an ATTRIBUTION.md. Download eventschemaset-cli.zip