databricks-migration
Agent skill frommicrosoft/skills-for-fabric
Ports existing Databricks notebooks and jobs to Fabric, covering dbutils to notebookutils, secret scopes to Key Vault, DBFS to OneLake, Unity Catalog mapping to schema-enabled Lakehouses, Jobs and Delta Live Tables to Spark Job Definitions and Pipelines, and Photon to the Native Execution Engine. Use whenever Databricks code has to be converted. For Fabric notebook code that is not being migrated, use spark-cli.
How to install databricks-migration
install databricks-migration
# install the skills-for-fabric pack with the skills CLI
npx skills add microsoft/skills-for-fabric# or add only this skill to Claude Code: copy the folder
skills/databricks-migration/
# into
~/.claude/skills/databricks-migration/ (all projects)
.claude/skills/databricks-migration/ (one project)
1> **Telemetry — MANDATORY.** Every `api.fabric.microsoft.com` call must carry2> `x-ms-fabric-skill: databricks-migration` (`az rest`: `--headers "x-ms-fabric-skill=databricks-migration"`),3> including every LRO poll, `fabric_lro` and retry. Snippets omit it — add it anyway.45> **CRITICAL NOTES**6> 1. To find workspace details (including its ID) from a workspace name: list all workspaces, then use JMESPath filtering7> 2. To find item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace, then use JMESPath filtering8> 3. `dbutils.widgets` has **no direct equivalent** in Fabric — use notebook parameters (cell tag `parameters`); `notebookutils.runtime.context` is execution metadata, not parameter storage. If showing context fields, use documented names such as `currentWorkspaceId`, `currentWorkspaceName`, `currentNotebookId`, `currentNotebookName`, `isForPipeline`, and `isForInteractive`; `activityId` is the Livy job ID9> 4. `dbutils.library` (runtime library install) has **no equivalent** — use Fabric Environments for reproducible library management10> 5. Map each Unity Catalog catalog to a schema-enabled Lakehouse by default. This preserves the source `schema.table` hierarchy, with the Lakehouse representing the catalog; collisions arise only if multiple catalogs are intentionally consolidated into one Lakehouse11…
Excerpt shown under the repository's MIT license.
