RepoMicrosoftMicrosoftpublished May 21, 2026seen 5d

microsoft/gh-copilot-fabric-agents

Open original ↗

Captured source

source ↗

microsoft/gh-copilot-fabric-agents

License: MIT

Stars: 1

Forks: 0

Open issues: 0

Created: 2026-05-21T11:30:20Z

Pushed: 2026-06-04T13:31:34Z

Default branch: main

Fork: no

Archived: no

README:

Fabric Agents

AI agents for Microsoft Fabric that automate data cleaning, semantic model creation, synthetic data generation, metadata proposal creation, and optimization reviews. Built as VS Code custom agents and Agent Skills for use with GitHub Copilot in Agent mode.

> Disclaimer > This project is a demonstration sample provided for learning and experimentation. It is not an official Microsoft product and is not supported by Microsoft.

Agents

Fabric Data Cleaner

Discovers tables in Fabric lakehouses, analyzes data quality, and generates self-contained PySpark notebooks that clean the data. Deploys notebooks to Fabric, runs them in sequence, and writes results to a _cleaned table.

Cleaning algorithms: profiling, duplicate detection, null analysis, type validation (Spanish comma decimals), statistical summary, IQR outlier detection, date format validation, Spanish DNI/NIE checksum validation, email/phone format checks.

Prompt: /clean-table orders in my_lakehouse

Fabric Semantic Model Creator

Analyzes lakehouse table schemas and sample data to infer a star-schema Power BI semantic model. Classifies tables as fact/dimension, detects relationships via FK/PK matching, generates DAX measures, and produces TMDL files deployable to Fabric.

Prompt: /create-semantic-model all tables in my_lakehouse, My Workspace

Fabric Synthetic Data Generator

Designs realistic data schemas from domain templates (retail, healthcare, airlines, citizen incidents, custom), generates clean or intentionally dirty synthetic data with referential integrity, and uploads Parquet files to Fabric lakehouse tables. It keeps dimensions before facts, supports Spanish IDs/phones/names, and falls back to a generated load notebook for schemas-enabled lakehouses when the Load Table API is unavailable.

It can also prepare schemas for real-time streaming from the start, deploy a templated Fabric notebook that emits live synthetic fact events to an Eventstream custom endpoint, and keep post-event fields nullable so streaming records match real event lifecycles.

Prompt: /generate-synthetic-data retail data for my_lakehouse

Fabric Metadata Creation

Analyzes Fabric lakehouse tables or semantic models and generates reviewable metadata proposals for data stewards and catalog ingestion planning. Suggests descriptions, glossary terms, classifications, Purview-like sensitivity labels, CDE candidates, relationship and lineage hints, data quality rules, and data product groupings with explicit evidence, assumptions, open questions, and confidence levels.

Prompt: /generate-metadata tables in my_lakehouse for steward review

Fabric Optimization Review

Reviews Fabric lakehouse tables, data models, semantic models, and full workspaces to find performance issues, modeling anti-patterns, Direct Lake readiness gaps, and AI/agentic readiness improvements. Produces actionable recommendations for Delta table maintenance, V-Order/Z-Order, compaction, partitioning, DAX, relationships, descriptions, synonyms, display folders, and natural-language/Copilot readiness. It can export reports and action plans locally, or generate and deploy approved optimization notebooks and TMDL fixes after explicit user confirmation.

Prompt: /review-optimization my_lakehouse in My Workspace

Prerequisites

Setup

1. Clone this repository 2. Open in VS Code 3. Install the Fabric MCP Server extension 4. Log in to Azure CLI: az login 5. The agents create a .venv automatically on first run

Repository Structure

.github/
├── agents/
│ ├── fabric-data-cleaner.agent.md # Data cleaning agent
│ ├── fabric-semantic-model.agent.md # Semantic model agent
│ ├── fabric-synthetic-data.agent.md # Synthetic data agent
│ ├── fabric-metadata-creation.agent.md # Metadata proposal agent
│ └── fabric-optimization-review.agent.md # Optimization review agent
├── prompts/
│ ├── clean-table.prompt.md # /clean-table entry point
│ ├── create-semantic-model.prompt.md # /create-semantic-model entry point
│ ├── generate-synthetic-data.prompt.md # /generate-synthetic-data entry point
│ ├── generate-metadata.prompt.md # /generate-metadata entry point
│ └── review-optimization.prompt.md # /review-optimization entry point
└── skills/
├── fabric-data-cleaner/
│ ├── SKILL.md # Algorithm reference + gotchas
│ ├── notebooks/ # 9 self-contained PySpark notebook templates
│ ├── references/ # DNI validation rules
│ └── scripts/
│ ├── fabric_notebook.py # Deploy/run/delete notebooks via REST API
│ └── validate_notebooks.py # Validate generated notebooks before deploy
├── fabric-semantic-model/
│ ├── SKILL.md # TMDL templates + classification rules
│ └── scripts/
│ └── fabric_semantic_model.py # Deploy/list/delete models + SQL endpoint + table schemas
├── fabric-synthetic-data/
│ ├── SKILL.md # Domain templates + generation/streaming rules
│ ├── notebooks/
│ │ └── realtime_stream.ipynb # Eventstream real-time synthetic event template
│ └── scripts/
│ └── fabric_synthetic_data.py # Upload Parquet, load Delta tables, deploy notebooks
├── fabric-metadata-creation/
│ ├── SKILL.md # Metadata categories + inference rules
│ └── scripts/
│ └── fabric_metadata.py # Discovery/export + PDF/validation helpers
└── fabric-optimization-review/
├── SKILL.md # Optimization rules + recommendation format
└── scripts/
└── fabric_optimization_review.py # Discovery + optimization report helpers

How It Works

Each agent follows a phased workflow with clear human-in-the-loop checkpoints where production changes are possible. The metadata creation agent is non-destructive and produces local steward-review artifacts only. The optimization review agent starts as an analysis and reporting workflow; it can export action plans locally or, only after explicit confirmation, generate and deploy approved optimization notebooks and…

Excerpt shown — open the source for the full document.

Notability

notability 3.0/10

New Microsoft repo, low traction