# databricks-dabs

Teaches the agent to build, validate and deploy Declarative Automation Bundles in Databricks, covering jobs, pipelines, dashboards and apps.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 892 installs · ★ 372
- Author: databricks
- License: LicenseRef-Unknown · policy=link-only · description only; the file stays with the author
- Source: https://github.com/databricks/databricks-agent-skills/tree/HEAD/skills/databricks-dabs/SKILL.md
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/skills/databricks-dabs

## What it does

This skill covers bundle work in Databricks from start to finish. Its reference files explain how a bundle is laid out and how `databricks.yml` fits together, how Spark Declarative Pipelines are configured, what schema SQL alerts expect (the API differs from other resources), how deploys and runs are done plus where logs live, and which permission levels each resource type takes. File naming follows one pattern: `<name>.<resource_type>.yml`. Edits to YAML keep the user's comments and structure intact.

Apps carry an extra rule. Before validating a bundle that touches an app, the agent rereads the YAML and checks the names: no bare `${bundle.target}`, no `short_name`, no hardcoded string for a development app. On Databricks CLI 0.270.0 or newer the default pairs an app prefix with `${workspace.current_user.domain_friendly_name}`; production overrides that with a stable name. Then `databricks bundle validate --strict --target <target> --output json` runs, and every resolved name must stay lowercase, limited to digits and hyphens, and no longer than 30 characters. A bad name, a collision after normalization, or several non-production targets in one workspace means writing a shorter distinct value into `.databricks/bundle/<target>/variable-overrides.json` and validating again.

Passing validation proves less than it seems. Not every invalid or unnamespaced app name is caught by the check, which is why the manual pass comes first.

## Requirements
- Works with: Databricks

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add databricks/databricks-agent-skills --skill databricks-dabs -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/databricks-dabs/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/databricks-dabs/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add databricks/databricks-agent-skills --skill databricks-dabs -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/databricks-dabs/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add databricks/databricks-agent-skills --skill databricks-dabs -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/databricks-dabs/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install databricks/databricks-agent-skills databricks-dabs
```

2. **Manually: put the files in place**
- File: `.github/skills/databricks-dabs/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add databricks/databricks-agent-skills --skill databricks-dabs -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/databricks/databricks-agent-skills --path skills/databricks-dabs
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/databricks-dabs/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add databricks/databricks-agent-skills --skill databricks-dabs -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/databricks/databricks-agent-skills/tree/HEAD/skills/databricks-dabs/SKILL.md

## When to use it
- scaffold a new DABs bundle
- validate `databricks.yml` and resources after edits
- split dev and prod configuration into targets
- land an app name that is unique and under the length limit
- debug a bundle validation or deploy failure

## Example prompts
- Create a DABs bundle with one job and a schedule, put the config in `databricks.yml`
- Validate the bundle for prod with `databricks bundle validate --strict --target prod`
- Add a SQL alert to the bundle following the alert schema reference

## Similar
- [neon-ai-gateway](https://affpapa.org/en/nevibecode/skills/neon-ai-gateway.md) — skill · 27700 installs
- [sql-queries](https://affpapa.org/en/nevibecode/skills/sql-queries.md) — skill · 4500 installs
- [migrating-dbt-project-across-platforms](https://affpapa.org/en/nevibecode/skills/migrating-dbt-project-across-platforms.md) — skill · 526 installs
- [neo4j-spark-skill](https://affpapa.org/en/nevibecode/skills/neo4j-spark-skill.md) — skill · 768 installs
- [infisical-secret-syncs](https://affpapa.org/en/nevibecode/skills/infisical-secret-syncs.md) — skill · 895 installs
- [amee-joshi-data-engineering-portfolio](https://affpapa.org/en/nevibecode/skills/amee-joshi-data-engineering-portfolio.md) — skill · 2000 installs

From the same set: [databricks/databricks-agent-skills](https://affpapa.org/en/nevibecode/by/databricks/databricks-agent-skills.md) — 18 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
