Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
2d262ce
experimental: import ai-dev-kit skills as best-effort skills
jamesbroadhead May 12, 2026
64614ba
experimental: add CODEOWNERS for experimental/ skills
jamesbroadhead May 12, 2026
af0ec84
experimental: document sync model with upstream ai-dev-kit
jamesbroadhead May 12, 2026
932decc
experimental: auto-generate Codex marketplace metadata stubs
jamesbroadhead May 12, 2026
a46e049
experimental: drop databricks-spark-declarative-pipelines
jamesbroadhead May 12, 2026
e69a18c
experimental: record source SHA + divergence notes in README
jamesbroadhead May 12, 2026
1b81c73
skills: bump the version floor from 0.0.0 to 0.0.1
jamesbroadhead May 12, 2026
270b5d3
experimental: README updates for -experimental install suffix
jamesbroadhead May 12, 2026
a553dcf
experimental: re-sync from a-d-k PR #533 (appkit-on-experimental)
jamesbroadhead May 12, 2026
db340fe
skills: handle YAML block-scalar descriptions in frontmatter
jamesbroadhead May 12, 2026
db9b2e5
skills: parse SKILL.md frontmatter with yaml.safe_load
jamesbroadhead May 12, 2026
759fa48
skills(jobs): merge experimental ai-dev-kit content into stable
jamesbroadhead May 12, 2026
5719156
experimental: bump source SHA to upstream experimental@7b07f18
jamesbroadhead May 14, 2026
c4daa14
experimental: drop duplicates that overlap with stable skills
jamesbroadhead May 15, 2026
2996315
experimental: fix broken intra-experimental cross-references
jamesbroadhead May 15, 2026
9a9f89d
docs(readme): refresh stable skill list, consolidate install paths, f…
jamesbroadhead May 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,21 @@
/skills/databricks-model-serving/ @databricks/eng-apps-devex
/skills/databricks-jobs/ @lennartkats-db @camielstee-db
/skills/databricks-pipelines/ @lennartkats-db @camielstee-db

# Experimental skills imported from databricks-solutions/ai-dev-kit on a
# best-effort basis. The merge gate is the same as the rest of the repo
# (the existing writers from the `*` line above) so changes here can't be
# self-approved by a-d-k contributors.
#
# The top a-d-k contributors (>=10 commits at import time) are granted
# repo-level write access so they can push branches and open PRs, but they
# are deliberately NOT Code Owners on this path — that means their review
# alone does not satisfy the Required-Code-Owner-Review branch protection.
# They are the natural suggested reviewers for `/experimental/` changes:
# @calreynolds @dustinvannoy-db @malcolndandaro @auschoi96 @jacksandom
# @QuentinAmbard @NatyraB @jiteshsoni @scottDBX1886 @alexmillerdb
# All confirmed Databricks employees via Slack lookup at import time
# (Field Engineering / SSA / Strategy & Execution).
/experimental/ @lennartkats-db @simonfaltum @databricks/eng-apps-devex

/.github/CODEOWNERS @lennartkats-db @simonfaltum @fjakobs
61 changes: 47 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,55 @@ Skills for AI coding assistants (Claude Code, Cursor, etc.) that provide Databri

## Installation

**For Claude Code:**

```bash
databricks experimental aitools install
```

This installs skills to `~/.claude/skills/` for use with Claude Code.
This auto-detects your coding agent(s) and installs the stable skills to the
right location:

- **Claude Code** → `~/.claude/skills/`
- **Cursor**, **Codex CLI**, **OpenCode**, **GitHub Copilot**, **Antigravity**
→ their respective skill directories

**For Cursor:**
For finer control, use the `aitools skills install` subcommand directly — it
accepts a positional skill name and an `--experimental` flag (see the
[Experimental Skills](#experimental-skills) section).

Run this command in chat:
**For Cursor (plugin marketplace alternative):**

```text
/add-plugin databricks-skills
```

## Available Skills

- **databricks-apps** - Build full-stack TypeScript apps on Databricks using AppKit
Stable skills shipped from [`skills/`](./skills/):

- **databricks-core** — CLI, authentication, profile selection, data exploration. Parent skill for all product skills.
- **databricks-apps** — Build full-stack TypeScript apps on Databricks using AppKit.
- **databricks-dabs** — Declarative Automation Bundles (formerly Asset Bundles) for deploying and managing Databricks resources.
- **databricks-jobs** — Lakeflow Jobs orchestration: task types, triggers, schedules, notifications.
- **databricks-lakebase** — Lakebase Postgres: projects, branching, autoscaling, synced tables, Data API.
- **databricks-model-serving** — Model Serving endpoint management, AI Gateway, traffic config.
- **databricks-pipelines** — Lakeflow Spark Declarative Pipelines (formerly DLT) for batch and streaming.
- **databricks-serverless-migration** — Migrate classic-compute workloads to serverless compute.

## Experimental Skills

The [`experimental/`](./experimental/) directory contains additional skills
imported from [databricks-solutions/ai-dev-kit](https://github.com/databricks-solutions/ai-dev-kit)
on a **best-effort basis**.

- Experimental skills are **not officially supported** — they may be used, but
do not follow the same review / quality bar as the stable skills under
[`skills/`](./skills/).
- They are **not installed by default** by `databricks experimental aitools
skills install`. Pass `--experimental` to install all of them, or install
a specific one by name (with the `-experimental` suffix and the flag —
e.g. `databricks-iceberg-experimental --experimental`).
- See [`experimental/README.md`](./experimental/README.md) for the full list
and caveats.

## Structure

Expand All @@ -38,21 +68,24 @@ skill-name/

### Adding New Skills

When experimenting with new skill variations, create a "subskill" that references the main skill and adds specific guidance:
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`.

```markdown
---
name: "ai-databricks-apps"
description: "Databricks apps with AI features"
name: "databricks-apps-chatbots"
description: "Databricks apps with chatbot features"
parent: databricks-apps
---

# AI powered Databricks Apps
# Chatbot Apps

First, load the base databricks-apps skill for foundational guidance.
**FIRST**: Use the parent `databricks-apps` skill for app development basics.

Then apply these additional patterns:
- Custom pattern 1
- Custom pattern 2
Then apply these patterns:
- Pattern 1
- Pattern 2
```

This approach:
Expand Down
126 changes: 126 additions & 0 deletions experimental/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
> ⚠️ **Experimental — best-effort, not officially supported**
>
> The skills in this directory are imported from
> [databricks-solutions/ai-dev-kit](https://github.com/databricks-solutions/ai-dev-kit)
> on a best-effort basis. They may be useful, but they are **not officially
> supported** as part of `databricks-agent-skills`:
>
> - They do not follow the same review / quality bar as the skills in
> [`../skills/`](../skills/).
> - They may be out of date relative to upstream `ai-dev-kit`.
> - The on-disk install path always carries a `-experimental` suffix so
> experimental skills never collide with stable skills of the same name
> (see the install-path note below).
> - They are not installed by `databricks experimental aitools skills install`
> by default — you have to opt in (see the root README).
>
> File issues against this directory in this repo; do not file issues against
> `ai-dev-kit` for skills installed via `databricks-agent-skills`.

---

# Databricks Skills for Claude Code

Skills that teach Claude Code how to work effectively with Databricks - providing patterns, best practices, and code examples that work with Databricks MCP tools.

## Installation

These experimental skills are **not** installed by default. To install them via the Databricks CLI:

```bash
# Install all experimental skills at once
databricks experimental aitools skills install --experimental

# Install a single experimental skill by name (note the -experimental suffix)
databricks experimental aitools skills install databricks-iceberg-experimental --experimental
```

The names in this directory don't carry the `-experimental` suffix — that's
added at install time so the on-disk skills directory unambiguously
distinguishes experimental from stable. e.g. `databricks-iceberg` in this
repo installs to `~/.claude/skills/databricks-iceberg-experimental/`.

See the root [README](../README.md) for details on the stable install path.

## Available Skills

### 🤖 AI & Agents
- **databricks-ai-functions** - Built-in AI Functions (ai_classify, ai_extract, ai_summarize, ai_query, ai_forecast, ai_parse_document, and more) with SQL and PySpark patterns, function selection guidance, document processing pipelines, and custom RAG (parse → chunk → index → query)
- **databricks-agent-bricks** - Knowledge Assistants, Genie Spaces, Supervisor Agents
- **databricks-genie** - Genie Spaces: create, curate, and query via Conversation API
- **databricks-mlflow-evaluation** - End-to-end agent evaluation workflow
- **databricks-unstructured-pdf-generation** - Generate synthetic PDFs for RAG
- **databricks-vector-search** - Vector similarity search for RAG and semantic search

### 📊 Analytics & Dashboards
- **databricks-aibi-dashboards** - Databricks AI/BI dashboards (with SQL validation workflow)
- **databricks-metric-views** - Metric Views for governed metrics
- **databricks-unity-catalog** - System tables for lineage, audit, billing

### 🔧 Data Engineering
- **databricks-dbsql** - Databricks SQL warehouse patterns
- **databricks-iceberg** - Apache Iceberg tables (Managed/Foreign), UniForm, Iceberg REST Catalog, Iceberg Clients Interoperability
- **databricks-spark-structured-streaming** - Spark Structured Streaming patterns
- **databricks-synthetic-data-gen** - Realistic test data with Faker
- **databricks-zerobus-ingest** - Zerobus ingest patterns
- **spark-python-data-source** - Python data sources for Spark

### 🚀 Development & Deployment
- **databricks-apps-python** - Databricks apps. Prefers AppKit (TypeScript + React SDK) for new apps; falls back to Python frameworks (Dash, Streamlit, Gradio, Flask, FastAPI, Reflex) when Python is required
- **databricks-python-sdk** - Python SDK, Connect, CLI, REST API
- **databricks-execution-compute** - Execute on Databricks compute

> **Use the stable skill instead** for:
> - **DABs / bundles** — use stable [`databricks-dabs`](../skills/databricks-dabs/)
> - **Lakebase Postgres** (projects, branching, synced tables, autoscaling) — use stable [`databricks-lakebase`](../skills/databricks-lakebase/)
> - **CLI auth / profiles / workspace config** — use stable [`databricks-core`](../skills/databricks-core/)
>
> Previously experimental copies of these (`databricks-bundles`, `databricks-lakebase-autoscale`, `databricks-config`) were dropped — they duplicated the stable skills without adding new content.

### 📚 Reference
- **databricks-docs** - Documentation index via llms.txt

## Provenance & sync model

These skills are imported as a snapshot from
[`databricks-solutions/ai-dev-kit/databricks-skills/`](https://github.com/databricks-solutions/ai-dev-kit/tree/main/databricks-skills).

**Source SHA**: [`7b07f18`](https://github.com/databricks-solutions/ai-dev-kit/commit/7b07f18b6efb7ff0ac011d3fe81b435eb3cd793a)
on the `experimental` branch of `databricks-solutions/ai-dev-kit` —
the merge commit of [a-d-k PR #533](https://github.com/databricks-solutions/ai-dev-kit/pull/533)
into `experimental`. The PR #533 change set, now part of `experimental`:

- `databricks-app-python` → `databricks-apps-python` rename (folder,
baselines, manifests, install scripts, cross-skill mentions) so it
does not collide with d-a-s's own `databricks-apps`. The other
name collisions from this import were resolved by merging or
dropping the experimental copy: `databricks-jobs` was merged into
the stable skill (TODO #1a), and `databricks-model-serving` was
dropped from the import (TODO #1b).
- `databricks-apps-python/SKILL.md` leads with AppKit (TypeScript +
React SDK) as the recommended approach for new apps; Python
frameworks (Dash, Streamlit, Gradio, Flask, FastAPI, Reflex) are
demoted to an explicit alternative.
- `install.sh` / `install.ps1` upstream changes wiring a-d-k to
install d-a-s skills via a single GitHub tree call (out of scope
for this snapshot, not imported here — only `databricks-skills/`
content is mirrored).

**Note**: the `experimental` branch of a-d-k previously removed
`databricks-lakebase-provisioned`, which is why it is not present in
this import. `databricks-model-serving` and
`databricks-spark-declarative-pipelines` are intentionally excluded
from this snapshot — see TODOs #1b and #5 on the import PR.

The full set of paths brought in is tracked by the import commit on
this branch.

**Transition phase (until `ai-dev-kit` skills are locked):**
- Source of truth is **upstream `ai-dev-kit`**. New work and bug fixes go there.
- This directory receives **periodic manual re-syncs** — someone opens a PR
to bring drift from upstream into `experimental/`.

**Post-lock (after `ai-dev-kit` skill contributions are stopped):**
- Source of truth is **this repo**. New work and bug fixes go directly to
`experimental/<skill>/`.
- `ai-dev-kit/databricks-skills/` becomes read-only and points here.
74 changes: 74 additions & 0 deletions experimental/databricks-agent-bricks/1-knowledge-assistants.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Knowledge Assistants - Details

For commands, see [SKILL.md](SKILL.md).

## Source Types

Both shapes go inside the `--json` body alongside `display_name` and `description` — see SKILL.md for the full invocation.

### Files (Volume)

```json
{
"display_name": "...",
"description": "...",
"source_type": "files",
"files": {"path": "/Volumes/catalog/schema/volume/folder/"}
}
```

Supported formats: PDF, TXT, MD, DOCX.

### Vector Search Index

Use an existing index instead of auto-indexing:

```json
{
"display_name": "...",
"description": "...",
"source_type": "index",
"index": {
"index_name": "catalog.schema.my_index",
"text_col": "content",
"doc_uri_col": "source_url"
}
}
```

## Updating Content

1. Add/modify/remove files in the Volume
2. Re-sync: `databricks knowledge-assistants sync-knowledge-sources "knowledge-assistants/{ka_id}"`

## Troubleshooting

**KA stays in CREATING:**
- Wait up to 10 minutes
- Check workspace quotas
- Verify volume path exists

**Documents not indexed:**
- Check file format (PDF, TXT, MD, DOCX)
- Verify volume path (trailing slash matters)
- Check file permissions

**Poor answer quality:**
- Ensure documents are well-structured
- Break large documents into smaller files
- Add clear headings and sections

## Evaluation Questions

When testing a KA, check if the volume or project contains a `pdf_eval_questions.json` file with test questions:

```json
{
"api_errors_guide.pdf": {
"question": "What is the solution for error ERR-4521?",
"expected_fact": "Call /api/v2/auth/refresh with refresh_token before the 3600s TTL expires"
}
}
```

Use these questions to validate retrieval accuracy. See [databricks-unstructured-pdf-generation](../databricks-unstructured-pdf-generation/SKILL.md) for generating test PDFs with eval questions.
Loading
Loading