Skip to main content

Install Microsoft Fabric agent profiles (Claude Code and Codex) into a target repository.

This project has been archived.

The maintainers of this project have marked this project as archived. No new releases are expected.

Project description

Fabric Agent Pack

Vendor-native Codex and Claude Code profiles for Microsoft Fabric data engineering.

Fabric Agent Pack turns a normal git repository into a guided Microsoft Fabric project workspace. It installs agent instructions, specialized skills, setup scripts, validation tools, and notebook deployment helpers so humans can ask for Fabric data engineering work while agents follow a consistent, auditable workflow.

This repository is the source package and installer, not the day-to-day Fabric project workspace. Install a profile into your actual project repository, then run Codex or Claude Code from that target repository root.

Quick start

Option A — pip install (recommended)

No git clone required. Install the package and run the CLI directly:

pip install fabric-skills-settings

Preview what will be written, then apply:

# preview changes first
install-fabric-agent --profile all --target /path/to/project-repo --dry-run

# apply
install-fabric-agent --profile all --target /path/to/project-repo

--profile accepts claude, codex, or all.


Option B — from source (contributors)

Clone this repository, then prepare the source package:

Linux / macOS

./setup.sh                  # check tools and validate package
./setup.sh --install-tools  # also install uv if missing

Windows (PowerShell)

.\setup.ps1                  # check tools and validate package
.\setup.ps1 -InstallTools    # also install uv if missing
.\setup.ps1 -Help            # show usage

Both setup scripts check for Git and uv, create memory/project.md if absent, and run the package validators.

Install into a target repository:

# preview changes first
./bin/install-fabric-agent --profile all --target /path/to/project-repo --dry-run

# apply
./bin/install-fabric-agent --profile all --target /path/to/project-repo

Then work from the target repository:

cd /path/to/project-repo
codex   # or: claude

2. Configure Fabric access in the target repository

Minimum required Fabric workspace role: Contributor. Run the setup script to create the local .venv, install the Python helper libraries, authenticate Fabric access, and refresh the workspace registry. You do not need to edit .env manually.

# Windows
.\tool\setup\setup.ps1
# Linux / macOS
bash tool/setup/setup.sh

The script prompts for service-principal credentials only:

Prompt Stored where
FABRIC_TENANT_ID .env
FABRIC_CLIENT_ID .env
FABRIC_CLIENT_SECRET OS environment only — never .env

On Windows the secret is written to the user registry via SetEnvironmentVariable("User"). On Linux/macOS it is appended to your shell profile (~/.zprofile, ~/.bash_profile, or ~/.profile).

Create the service principal before running setup:

Azure Portal → App registrations → New registration
  Name: fabric-agent-<project>
  Supported account types: this tenant only

Fabric workspace → Manage access → Add → service principal
  Role: Contributor

Re-running setup is idempotent — values already set are skipped.

Example result

The screenshots below show an end-to-end bronze ingestion of EU day-ahead electricity prices into a Fabric Lakehouse.

1 — Authoring the bronze notebook

The developer agent authors bronze_electricity_day_ahead_prices.py while the upstream download_sources job runs in Fabric.

Claude Code authoring the bronze notebook source file alongside the Fabric Monitor showing download_sources in progress

2 — Deploying and triggering

Codex reads the workspace ID from .env, deploys the notebook through the Fabric REST API, and triggers the run.

Codex terminal deploying the notebook while the Fabric Monitor shows the job queued

3 — Full run history

The Fabric Monitor shows download_sourcesbronze_electricity_day_ahead_pricesdq_bronze_electricity_day_ahead_prices succeeding after schema-contract iterations.

Fabric Monitor showing the full activity history with final succeeded runs and earlier failed DQ iterations

4 — Ingested Delta table

The resulting Delta table contains 1,000 rows and 27 columns, including lineage envelope fields such as _ingest_timestamp, _source_system, and _batch_id.

Fabric Lakehouse table view showing the ingested bronze_electricity_day_ahead_prices Delta table with 1000 rows

5 — Restricted workspace for AI agentic development

The agent runs in a dedicated workspace. Permissions are set at the workspace level to ensure there is no access to production data or pipelines.

Fabric Workspace permissions

6 — Development Lifecycle

The code is integrated with Git, and the agent develops everything in a dedicated feature branch. Human developers can review the pull request later and merge the work from the feature branch into dev.

Agent Feature branch

Note: The VIBECODING workspace was set up by selecting individual Fabric items. This narrowed down the codebase to only the scripts that stakeholders actually care about.

Live reference implementation

fabric-open-data-lu is a public target repository with Claude- and Codex-generated scripts for EU open-data ingestion into Microsoft Fabric. It demonstrates the download_bronze_dq_bronze_ notebook pattern used by this package.

Learn more

For the deeper human/machine split, architecture diagrams, notebook deployment loop, medallion flow, authoring rules, safety behavior, and validation commands, see docs/learn-more.md.

Validation commands for contributors

Run these from this source package repository after changing profiles, installer logic, guidance, validation, or installable tooling:

uv run bin/validate-install-package.py
uv run bin/validate-agent-guidance.py
uv run --group dev pytest

For installer changes, also run a disposable-target smoke test:

tmp=$(mktemp -d)
git init -q "$tmp"
./bin/install-fabric-agent --profile all --target "$tmp" --dry-run
./bin/install-fabric-agent --profile all --target "$tmp"
./bin/install-fabric-agent --profile all --target "$tmp" --check

What gets installed?

Profile Installed into target repo
Codex AGENTS.md, .agents/skills/*/SKILL.md copied from profiles/skills/, .codex/agents/*.toml, .codex/config.toml
Claude CLAUDE.md, .claude/skills/*/SKILL.md, .claude/agents/*.md, .claude/settings.local.json
Shared memory/ including memory/rules/, placeholder .env.example, managed .gitignore block, workspace/, data/sandbox/, contracts/, runbooks/, tool/

The only shared runtime state between vendor profiles is memory/. Runtime Codex assets stay under profiles/codex/; runtime Claude assets stay under profiles/claude/. Skill source is intentionally single-source under profiles/skills/ and is copied to both runtime skill paths during installation.

Why use it?

  • Ship faster — agents handle notebook authoring, deployment, schema validation, and pipeline wiring. Engineers own approvals and production handoffs.
  • OWASP-compliant by default — Data Security Top 10 and Supply Chain (A03:2025) baked in: no credential leakage, parameterized queries, pinned dependencies, CVE checks, PII masking.
  • Harness engineering — agents run inside a structured harness of guardrails, role definitions, skill boundaries, and memory. Consistent, auditable behavior without custom prompt engineering per project.
  • Separation of duties — implementation, testing, and security review are distinct agents. Nothing reaches production without a human sign-off.
  • Quality gates at every layer — mandatory Great Expectations checks at bronze, silver, and gold. Failed DQ stops the pipeline; agents do not auto-retry.
  • Token savings — RTK optimizer cuts shell-output tokens 60–90%, keeping long sessions economical.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fabric_skills_settings-0.2.tar.gz (155.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fabric_skills_settings-0.2-py3-none-any.whl (140.5 kB view details)

Uploaded Python 3

File details

Details for the file fabric_skills_settings-0.2.tar.gz.

File metadata

  • Download URL: fabric_skills_settings-0.2.tar.gz
  • Upload date:
  • Size: 155.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for fabric_skills_settings-0.2.tar.gz
Algorithm Hash digest
SHA256 b90eb08782faa6118d125e3da297183ae8fc45d1ddb29a67d5b46c16027ddfab
MD5 c01138c4bdbcf3ac68412ee1a4dd2bef
BLAKE2b-256 1de95ddd6d00910a46ae0ca8d0e97a55ee393702549c59b134d67a9932a9a7d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for fabric_skills_settings-0.2.tar.gz:

Publisher: python-publish.yml on scardoso-lu/fabric-skills-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file fabric_skills_settings-0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for fabric_skills_settings-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c912435e2e895554dd9d200bb1261338cf88e5c3243d74ab7d10b3b406133678
MD5 dfc0845aa3395387d0e21f7a9e503128
BLAKE2b-256 2c890e2de93c23173d301c18d5f1cdd23bd7930c41a6de98afe44d9a24569363

See more details on using hashes here.

Provenance

The following attestation bundles were made for fabric_skills_settings-0.2-py3-none-any.whl:

Publisher: python-publish.yml on scardoso-lu/fabric-skills-settings

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page