Skills for AI coding assistants (Claude Code, Cursor, etc.) that provide Databricks-specific guidance.
> /plugin marketplace add databricks/databricks-agent-skills> /plugin install databricks@databricks-agent-skills
Repo: databricks/databricks-agent-skills
What's inside
Skills for AI coding assistants (Claude Code, Cursor, etc.) that provide Databricks-specific guidance.
Two install paths cover the stable skills. They install to different places but end up loaded by the same agents โ pick whichever fits your workflow.
~/.claude/skills/, ~/.cursor/extensions/<...>, etc.).~/.claude/plugins/cache/databricks-agent-skills/);
the agent discovers skills from there.Via the Databricks CLI (canonical; supports experimental skills):
databricks aitools install
The CLI auto-detects your coding agent(s) and installs the stable skills to the right location:
~/.claude/skills/For finer control, use the aitools skills install subcommand directly โ it
accepts a positional skill name and an --experimental flag (see the
Experimental Skills section).
Via the Claude Code plugin marketplace (stable skills only โ installs every
skill under ./skills/):
/plugin marketplace add databricks/databricks-agent-skills
/plugin install databricks@databricks-agent-skills
Via the Cursor plugin marketplace:
/add-plugin databricks
The Cursor plugin ships the skills plus the databricks-setup /
databricks-doctor commands, two of the three hooks (session context,
auth-failure hints), and a routing rule that steers Databricks prompts into the
skills; see
Commands and hooks.
Via the GitHub Copilot plugin marketplace:
copilot plugin marketplace add databricks/databricks-agent-skills
copilot plugin install databricks@databricks-agent-skills
Works in Copilot CLI (plugins are GA there) and VS Code (agent plugins,
preview; also installable from the Extensions view). Ships the skills plus
two hooks: the session context primer and the auth-failure hinter (both run on
Copilot CLI and the cloud agent; VS Code has its own hooks system). The Copilot
cloud agent on github.com takes no plugins;
for that surface, vendor the skills into the target repo (.github/skills/)
and the auth-hint hook into .github/hooks/.
Via the Codex plugin marketplace:
codex plugin marketplace add databricks/databricks-agent-skills
codex plugin add databricks
The Codex plugin ships the skills plus all three hooks (prompt routing,
session context, auth-failure hints). Codex hash-pins plugin hooks: run
/hooks once after install (and after each update) to review and enable
them. Codex has no distributable slash commands, so the setup/doctor
workflows are reachable through the skills there.
| CLI | Plugin marketplace | |
|---|---|---|
| Stable skills | โ (default) | โ |
| Experimental skills | โ
(with --experimental or by name) | โ |
| Per-skill selection | โ
(databricks aitools install <name>) | โ (all-or-nothing) |
| Commands & hooks | โ (skills only today, see below) | โ |
| Updates | databricks aitools update | Plugin marketplace update flow |
| Required outside the agent | Databricks CLI v1.0.0+ | None |
If in doubt, use the CLI โ it's the canonical install path and the only one that exposes experimental skills.
Stable skills shipped from skills/:
information_schema exploration.The experimental/ directory contains additional skills
originally imported from
databricks-solutions/ai-dev-kit
(now deprecated โ this repo is the source of truth going forward) on a
best-effort basis.
skills/.databricks aitools install.
Pass --experimental to install all of them, or install a specific one
by name (with the --experimental flag โ e.g. databricks aitools install spark-python-data-source --experimental).experimental/README.md for the full list
and caveats.When installed as a Claude Code plugin, the databricks plugin adds slash
commands and three hooks (prompt routing, session context, auth-failure hints)
on top of the skills. The Cursor plugin (databricks) ships the same
commands and two of the hooks; see the Cursor note below.
(These ship via the plugin marketplaces; the CLI databricks aitools install
path installs skills only today; see the note at the end.)
Slash commands: friction-only entry points; everyday work stays with the auto-invoked skills.
/databricks:setup [workspace-url]: auth/onboarding. Install check, then an
OAuth / PAT / service-principal profile, then verify./databricks:doctor [profile]: read-only health check (CLI version, auth,
workspace reachability, compute, recent job failures).(Product workflows such as apps, jobs, pipelines, DABs, etc. are handled by the skills, not commands, so they aren't duplicated here.)
Hooks (hooks/, all fail-open):
databricks-core plus the matching product
skill before answering. The full note fires once per session; later Databricks
prompts get a one-line reminder. Unrelated prompts are untouched. No
permission gating, no cost warnings.[__settings__].default_profile (read locally, no network call, no token
values), and env/in-platform auth state.databricks command fails
with an auth-shaped error, adds one line suggesting /databricks:doctor or
databricks auth login before retrying. Never blocks or rewrites commands.Cursor. Cursor has a flat / menu (no plugin:command namespacing), so
the same commands ship as /databricks-setup and /databricks-doctor,
rendered from the one templated commands/ source into the
Cursor bundle folder. The Cursor-dialect hook wiring ships as the Cursor bundle
folder's hooks/hooks.json (auto-discovered from the plugin root, no
declaration): the context primer (sessionStart) and the auth-failure hint
(postToolUse), both invoked with --platform cursor so they emit Cursor's
output shape and reference the Cursor command names. The
prompt-router hook does not port (Cursor's beforeSubmitPrompt cannot inject
context), so routing instead ships as a Cursor rule
(rules/databricks-routing.mdc) that injects
the routing table when a prompt is Databricks-related, independent of an open
Cursor bug that currently drops hook additional_context. Native skill
selection also helps.
Distribution parity (follow-up). The plugin marketplace ships the whole repo (
marketplace.jsonsource: "./"), so commands and hooks come with it.databricks aitools installcurrently packages onlyskills/, so CLI-install users don't yet get commands/hooks. Closing that gap is tracked as CLI-side work.
Each skill follows the Agent Skills Specification:
skill-name/
โโโ SKILL.md # Main skill file with frontmatter + instructions
โโโ references/ # Additional documentation loaded on demand
For a narrower variation of an existing skill, create a subskill that declares
its parent via frontmatter. This is how the stable skills are organized today
โ each product skill sets parent: databricks-core.
---
name: "databricks-apps-chatbots"
description: "Databricks apps with chatbot features"
parent: databricks-apps
---
# Chatbot Apps
**FIRST**: Use the parent `databricks-apps` skill for app development basics.
Then apply these patterns:
- Pattern 1
- Pattern 2
This approach:
manifest.json is generated by scripts/skills.py from the skill
directories and frontmatter. Do not edit it by hand. CI rejects manual changes
via two checks: content drift (parsed dict doesn't match what generate would
produce) and canonical form (on-disk bytes don't match
json.dumps(..., indent=2, sort_keys=True)).
Because the CLI reads manifest.json and plugin installs read the generated
catalogs and provider bundle live from main, main must stay a consistent
index of its own source between releases. .github/workflows/self-heal-manifest.yml
enforces this: on every push to main that touches generation inputs it re-runs
scripts/skills.py generate and commits the refreshed manifest.json, plugin
catalogs, hook/routing files, and provider bundle back to main, so a skill
added, deleted, or reshaped in one PR can't leave installs fetching missing
files. The per-PR committed-manifest check is therefore advisory (it surfaces
staleness without blocking PRs that merely inherited it from main).
Sync assets and regenerate the manifest after adding or updating skills:
python3 scripts/skills.py
Validate that assets and manifest are up to date (used by CI):
python3 scripts/skills.py validate
To check only that a committed manifest points at files that exist in the repo:
python3 scripts/skills.py validate-committed-manifest
The manifest is consumed by the CLI to discover available skills.
The repo ships one plugin to four targets (Claude Code, Codex, Copilot, Cursor).
Every agent fetches the built plugins/databricks/ bundle (a generated copy of
the source plus the four per-target plugin.json); four marketplace.json
catalogs at the repo root each point a scoped source at it (tracking main). The
bundle, the catalogs, the four plugin.json, and manifest.json are all
generated from a single source of truth,
metaplugin/plugin.meta.json, by scripts/skills.py. Do not
hand-edit the generated files (each generated directory also carries a
README.md saying so, and plugins/** is marked linguist-generated) โ edit
metaplugin/plugin.meta.json and regenerate:
python3 scripts/skills.py generate # regenerates manifest.json + all plugin manifests
python3 scripts/skills.py validate # CI check: fails on any drift
metaplugin/plugin.meta.json owns the version (one value, propagated to all four targets),
name, description, keywords, author/license, per-target display names and
hook/command/rule wiring, and the skill-to-keyword map. Adding a stable skill
means adding it to the skills map there (with a keyword); CI fails if a
shipped skill has no entry. The same source also drives prompt routing: its
routing block is rendered into the prompt router's data
(hooks/_routing_data.json) and the Cursor routing rule
(rules/databricks-routing.mdc) from one table, so they can't drift. See
CONTRIBUTING.md for the full field reference.
Please see SECURITY for vulnerability reporting guidelines.
Release tags are created by the Release workflow and map 1:1 to a published version.
These skills are maintained internally at Databricks and published to this open source repository, where we actively work in the open. We encourage you to open issues, and to open pull requests too. We can't merge PRs directly here (the source of truth is internal), but we will work to migrate them through our internal repository. See CONTRIBUTING.md.
.agents/
plugins/
marketplace.json
README.md
.claude-plugin/
marketplace.json
README.md
.cursor-plugin/
marketplace.json
NOTES.md
README.md
.gen.json
.gitattributes
.github/
CODEOWNERS
ISSUE_TEMPLATE/
migration-feedback.md
plugin/
marketplace.json
README.md
pull_request_template.md
workflows/
release.yml
self-heal-manifest.yml
sync-label.yml
validate-manifest.yml
.gitignore
AGENTS.md
assets/
databricks.png
databricks.svg
CLAUDE.md
commands/
doctor.md
setup.md
CONTRIBUTING.md
DCO
experimental/
databricks-ai-runtime/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
docker-images.md
SKILL.md
README.md
spark-python-data-source/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
authentication-patterns.md
error-handling.md
implementation-template.md
partitioning-patterns.md
production-patterns.md
streaming-patterns.md
testing-patterns.md
type-conversion.md
SKILL.md
hooks/
_routing_data.json
codex-hooks.json
copilot-hooks.json
cursor-hooks.json
databricks-auth-helper.py
databricks-context.py
databricks-router.py
hooks.json
README.md
LICENSE
manifest.json
metaplugin/
plugin.meta.json
README.md
version.meta.json
NOTICE
plugins/
databricks/
claude/
.claude-plugin/
plugin.json
README.md
commands/
doctor.md
setup.md
hooks/
_routing_data.json
databricks-auth-helper.py
databricks-context.py
databricks-router.py
hooks.json
skills/
databricks-agent-bricks/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
1-knowledge-assistants.md
2-supervisor-agents.md
SKILL.md
databricks-ai-functions/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
1-task-functions.md
2-ai-query.md
3-ai-forecast.md
SKILL.md
databricks-aibi-dashboards/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
1-widget-specifications.md
2-advanced-widget-specifications.md
3-filters.md
4-examples.md
5-troubleshooting.md
SKILL.md
databricks-app-design/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
appkit-cheatsheet.md
dashboard-patterns.md
genie-ai-trust.md
ibcs-notation.md
SKILL.md
databricks-apps/
databricks-apps-python/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
examples/
fm-minimal-chat.py
fm-parallel-calls.py
fm-structured-outputs.py
llm_config.py
references/
1-authorization.md
2-app-resources.md
3-frameworks.md
4-deployment.md
5-lakebase.md
6-cli-approach.md
SKILL.md
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
appkit/
appkit-sdk.md
custom-endpoints.md
files.md
frontend.md
genie.md
jobs.md
lakebase.md
model-serving.md
overview.md
proto-contracts.md
proto-first.md
sql-queries.md
other-frameworks.md
platform-guide.md
testing.md
SKILL.md
databricks-core/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
databricks-cli-auth.md
databricks-cli-install.md
manual-data-exploration.md
SKILL.md
databricks-dabs/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
alerts.md
bundle-structure.md
deploy-and-run.md
resource-permissions.md
sdp-pipelines.md
SKILL.md
databricks-data-discovery/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
SKILL.md
databricks-dbsql/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
ai-functions.md
best-practices.md
geospatial-collations.md
materialized-views-pipes.md
sql-scripting.md
SKILL.md
databricks-docs/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
SKILL.md
databricks-execution-compute/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
1-databricks-connect.md
2-serverless-job.md
3-interactive-cluster.md
SKILL.md
databricks-genie-agents/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
SKILL.md
databricks-iceberg/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
1-managed-iceberg-tables.md
2-uniform-and-compatibility.md
3-iceberg-rest-catalog.md
4-snowflake-interop.md
5-external-engine-interop.md
SKILL.md
databricks-jobs/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
examples.md
notifications-monitoring.md
task-types.md
triggers-schedules.md
SKILL.md
databricks-lakebase/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
computes-and-scaling.md
connectivity.md
lakehouse-sync.md
medallion-from-cdc.md
off-platform.md
pgvector.md
synced-tables.md
SKILL.md
databricks-lakeflow-connect/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
1-saas-connectors.md
2-database-connectors.md
4-ingestion-decision-tree.md
5-troubleshooting-and-monitoring.md
SKILL.md
databricks-metric-views/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
metric-view-advisor.md
patterns.md
yaml-reference.md
SKILL.md
databricks-ml-training/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
custom-pyfunc.md
feature-store.md
feature-views.md
genai-agents.md
SKILL.md
databricks-mlflow-evaluation/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
CRITICAL-interfaces.md
GOTCHAS.md
patterns-context-optimization.md
patterns-datasets.md
patterns-evaluation.md
patterns-judge-alignment.md
patterns-prompt-optimization.md
patterns-scorers.md
patterns-trace-analysis.md
patterns-trace-ingestion.md
user-journeys.md
SKILL.md
databricks-model-serving/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
off-platform-streaming.md
SKILL.md
databricks-pipelines/
agents/
openai.yaml
assets/
databricks.png
databricks.svg
references/
1-project-initialization-with-dab.md
2-rapid-iteration-with-cli.md
auto-cdc-python.md
auto-cdc-sql.md
auto-loader-python.md
auto-loader-sql.md
dlt-migration.md
expectations-python.md
expectations-sql.md
foreach-batch-sink-python.md
kafka.md
materialized-view-python.md
materialized-view-sql.md
options-avro.md
options-csv.md
options-json.md
options-orc.md
options-parquet.md
options-text.md
options-xml.md
performance.md
pipeline-configuration.md
python-basics.md
real-time-mode.md
scd-2-querying.md
sink-python.md
sql-basics.md
streaming-patterns.md
streaming-table-python.md
streaming-table-sql.md
temporary-view-python.md
temporary-view-sql.md
view-sql.md
SKILL.md
databricks-python-sdk/
agents/
openai.yaml
... 1600 moreShowing a partial view of a very large repo.
FAQ
databricks-agent-skills is a Claude Code plugin with 150 hand-picked skills for data work, indexed on Flowy. Install it with the command on its page. It includes databricks-agent-bricks, databricks-ai-functions, databricks-aibi-dashboards. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.