Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
540968e
Install most skills from databricks-agent-skills
dustinvannoy-db Jun 11, 2026
0be4178
Make MCP server opt-in/deprecated and clean up both installers
dustinvannoy-db Jun 11, 2026
78a9dc0
Fix silent installer abort when MCP opt-in prompt is declined
dustinvannoy-db Jun 12, 2026
d471a88
Shorten scope-prompt hints so they don't wrap and corrupt the redraw
dustinvannoy-db Jun 12, 2026
e6f728e
Harden interactive selectors against line wrapping
dustinvannoy-db Jun 12, 2026
aef1718
Deliver agent skills to every selected tool, not just gemini/windsurf…
dustinvannoy-db Jun 12, 2026
7d8d99f
Remove the stable/experimental release channel
dustinvannoy-db Jun 12, 2026
4d4fb11
Add --experimental true|false to control experimental agent skills
dustinvannoy-db Jun 12, 2026
580e9ae
Suppress aitools "does not support project-scoped skills" notices
dustinvannoy-db Jun 13, 2026
3fd1c8c
Only show MCP-enable next-steps when the MCP server was installed
dustinvannoy-db Jun 13, 2026
8a61279
Generalize the final next-step prompt suggestion
dustinvannoy-db Jun 13, 2026
c3eebc5
Custom skill picker: always require databricks-core
dustinvannoy-db Jun 14, 2026
21a94b3
Empty profile selection drops into the custom skill picker
dustinvannoy-db Jun 14, 2026
3a82a70
Show databricks-core as locked-on in the custom skill picker
dustinvannoy-db Jun 14, 2026
9e0821c
Hand off to the requested branch's own installer
dustinvannoy-db Jun 22, 2026
fb42329
Fail loudly when --silent is combined with an explicit --branch
dustinvannoy-db Jun 22, 2026
59158b3
Stop bundling APX and Genie skills from AI Dev Kit
dustinvannoy-db Jun 23, 2026
0a65cd1
Deprecate and unpublish the AI Dev Kit plugin
dustinvannoy-db Jul 2, 2026
fdc1ea4
Make MCP server setup standalone and skills-independent
dustinvannoy-db Jul 2, 2026
eafd5e4
Make Builder App setup standalone; read skills from deprecated/ snapshot
dustinvannoy-db Jul 2, 2026
3d97193
Move bundled skills to deprecated/ and refresh install docs
dustinvannoy-db Jul 2, 2026
53fb74c
Reconcile install story: refresh README, deprecate plugin docs, fix s…
dustinvannoy-db Jul 2, 2026
a8320b2
Settle MCP tool count at 40+ (actual runtime count is 44)
dustinvannoy-db Jul 2, 2026
20deb97
Merge origin/main into install-from-databricks-agent-skills
dustinvannoy-db Jul 12, 2026
e7f63a0
Prompt to remove a pre-aitools install before installing (both instal…
dustinvannoy-db Jul 12, 2026
d933c0b
Clarify plugin deprecation: aitools installs the official databricks …
dustinvannoy-db Jul 12, 2026
94508c2
Genie fallback: download skills from release v0.1.13 instead of local…
dustinvannoy-db Jul 13, 2026
2a41335
Reword update-check hook to remove prompt-injection-style framing
dustinvannoy-db Jul 13, 2026
c233d73
Tighten update-notice comment wording
dustinvannoy-db Jul 13, 2026
52377e8
Move deprecated skills to DEPRECATED-databricks-skills/ and update re…
dustinvannoy-db Jul 15, 2026
2ff846a
Update README and clean/move files
dustinvannoy-db Jul 15, 2026
aa39527
Cleanup Genie Skills install instructions to point to notebook option
dustinvannoy-db Jul 15, 2026
feaf1c4
Update install for a few scenarios that failed during testing
dustinvannoy-db Jul 15, 2026
c58dbf0
Update README notice for completed deprecation
dustinvannoy-db Jul 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
57 changes: 57 additions & 0 deletions .claude-plugin/DEPRECATED.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# DEPRECATED — the `databricks-ai-dev-kit` Claude Code plugin

The **`databricks-ai-dev-kit`** Claude Code plugin published by *this repo* is
**deprecated and no longer published**. It has been removed from the marketplace
(`marketplace.json` lists no plugins) and `plugin.json` is marked
`"deprecated": true`. These files are kept only for historical reference.

> **This is not a move away from plugins.** Skills are still delivered as a plugin
> for the agents that support one — just the *official* `databricks` plugin managed
> by the Databricks CLI, not this repo's marketplace plugin. See "How skills install
> now" below.

## Why

- Skills are now delivered through the Databricks CLI: `databricks aitools install`
(Databricks CLI v1.0.0+), backed by
[github.com/databricks/databricks-agent-skills](https://github.com/databricks/databricks-agent-skills).
The main installer (`install.sh` / `install.ps1`) already delegates to it.
- The CLI owns the install lifecycle (`install` / `update` / `uninstall` / `list`),
so skills no longer need a repo-published marketplace plugin to be bundled and
auto-loaded.

## How skills install now

`databricks aitools install` decides delivery per agent:

- **Claude Code, Codex, GitHub Copilot** — installs the official **`databricks`
plugin** through each agent's own plugin CLI (a *different* plugin from the retired
`databricks-ai-dev-kit` one).
- **Cursor, OpenCode, Antigravity** — writes **raw skill files** (no headless plugin
install available).
- `--skills-only` forces raw skill files for every agent.

So on Claude Code you still get a plugin — the CLI-managed `databricks` plugin —
rather than the deprecated `databricks-ai-dev-kit` plugin.

## Migration for existing plugin users

Use either of the following to get the up-to-date skills:

- Run the installer:

```bash
bash <(curl -sL https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/install.sh)
```

- Or install directly via the Databricks CLI (v1.0.0+):

```bash
databricks aitools install
```

## Notes

- The frozen historical copies of the bundled skills live at git tag `v0.1.13`.
- Files under `.claude-plugin/` remain in the repo for reference only; they are
no longer installed or published.
37 changes: 14 additions & 23 deletions .claude-plugin/check_update.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,9 @@
#!/bin/bash
# DEPRECATED: The databricks-ai-dev-kit Claude Code plugin is no longer published
# (see .claude-plugin/DEPRECATED.md). Install skills via install.sh or
# `databricks aitools install`. This script is kept for reference and still runs
# if invoked directly.
#
# Version update check for Databricks AI Dev Kit.
# Stdout from this script is injected as context Claude can see at session start.
# Silent on success (up to date) or failure (network error, missing files).
Expand Down Expand Up @@ -47,32 +52,18 @@ if [ -z "$remote_ver" ]; then
fi
fi

# If versions differ, output a message for Claude to relay to the user
# If versions differ, emit an informational update notice for Claude to relay.
# Deliberately avoids urgent/imperative phrasing so it does not alarm users.
# This is a routine, first-party update notice.
if [ -n "$remote_ver" ] && [ "$remote_ver" != "$local_ver" ]; then
cat <<EOF
URGENT — before doing ANYTHING else, you MUST display this exact block to the user:
[Databricks AI Dev Kit] Update notice from the Dev Kit's own SessionStart version check:
a newer version is available — installed v${local_ver}, latest v${remote_ver}.

\`\`\`
╔═══════════════════════════════════════════════════════╗
║ ║
║ Databricks AI Dev Kit — update available! ║
║ ║
║ Installed: v${local_ver} ║
║ Available: v${remote_ver} ║
║ ║
╚═══════════════════════════════════════════════════════╝
\`\`\`
This is routine and informational, not urgent. At a natural point (no need to interrupt the
user's current task), you may let them know an update is available and that they can install it
when convenient by re-running the Dev Kit installer:

To upgrade, run:

\`\`\`
bash <(curl -sL https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/install.sh)
\`\`\`

\`\`\`
═══════════════════════════════════════════════════════
\`\`\`

Display that block FIRST, then proceed with the user's request.
bash <(curl -sL https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/install.sh)
EOF
fi
11 changes: 2 additions & 9 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,8 @@
"name": "Databricks Solutions"
},
"metadata": {
"description": "Official Databricks AI Dev Kit plugin marketplace",
"description": "DEPRECATED — the databricks-ai-dev-kit plugin is no longer published. Install skills with install.sh or `databricks aitools install` (which installs the official `databricks` plugin for Claude Code/Codex/Copilot, or skill files for other agents). See .claude-plugin/DEPRECATED.md.",
"version": "1.1.9"
},
"plugins": [
{
"name": "databricks-ai-dev-kit",
"source": "./",
"description": "Databricks development toolkit with 19 skills and MCP tools for direct Databricks operations",
"version": "1.1.9"
}
]
"plugins": []
}
3 changes: 2 additions & 1 deletion .claude-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
{
"name": "databricks-ai-dev-kit",
"description": "Databricks development toolkit with skills for data engineering, ML, and AI agents plus MCP tools for direct Databricks operations",
"deprecated": true,
"description": "DEPRECATED — the databricks-ai-dev-kit plugin is no longer published. Install skills via install.sh or `databricks aitools install`, which installs the official `databricks` plugin (Claude Code/Codex/Copilot) or raw skill files (Cursor/OpenCode/Antigravity). Not a move away from plugins. See .claude-plugin/DEPRECATED.md.",
"author": {
"name": "Databricks Solutions"
},
Expand Down
7 changes: 7 additions & 0 deletions .claude-plugin/setup.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
#!/bin/bash
# ============================================================
# DEPRECATED: The databricks-ai-dev-kit Claude Code plugin is no longer
# published (see .claude-plugin/DEPRECATED.md). Install skills via
# bash <(curl -sL https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/install.sh)
# or `databricks aitools install`. This script is kept for reference and still
# runs if invoked directly.
# ============================================================
# Post-install setup for databricks-ai-dev-kit plugin
# Creates virtual environment and installs MCP server dependencies
# ============================================================
Expand Down
11 changes: 8 additions & 3 deletions .github/scripts/validate_skills.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,12 @@

SKILLS_DIR = Path("databricks-skills")
INSTALL_SCRIPT = SKILLS_DIR / "install_skills.sh"
SKIP_DIRS = {"TEMPLATE"}
# The bundled skill copies are frozen/deprecated and now live under
# DEPRECATED-databricks-skills/ at the repo root. Fall back to the top-level
# databricks-skills/ dir for older checkouts.
_DEPRECATED_SKILLS_ROOT = Path("DEPRECATED-databricks-skills")
SKILL_DIRS_ROOT = _DEPRECATED_SKILLS_ROOT if _DEPRECATED_SKILLS_ROOT.is_dir() else SKILLS_DIR
SKIP_DIRS = {"TEMPLATE", "deprecated"}

RESERVED_WORDS = {"anthropic", "claude"}
NAME_RE = re.compile(r"^[a-z0-9]+(-[a-z0-9]+)*$")
Expand Down Expand Up @@ -111,7 +116,7 @@ def parse_skill_variables(
def get_local_skill_dirs() -> set[str]:
"""Get actual skill directories on the filesystem."""
return {
d.name for d in SKILLS_DIR.iterdir() if d.is_dir() and d.name not in SKIP_DIRS and not d.name.startswith(".")
d.name for d in SKILL_DIRS_ROOT.iterdir() if d.is_dir() and d.name not in SKIP_DIRS and not d.name.startswith(".")
}


Expand All @@ -120,7 +125,7 @@ def main() -> int:
actual_skills = get_local_skill_dirs()

# --- Validate each skill directory's SKILL.md and frontmatter ---
for skill_dir in sorted(SKILLS_DIR.iterdir()):
for skill_dir in sorted(SKILL_DIRS_ROOT.iterdir()):
if not skill_dir.is_dir():
continue
if skill_dir.name in SKIP_DIRS or skill_dir.name.startswith("."):
Expand Down
46 changes: 46 additions & 0 deletions DEPRECATED-databricks-skills/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Deprecated: Bundled Databricks Skills (frozen)

> **These skill copies are deprecated and no longer maintained.**

The skill folders under `DEPRECATED-databricks-skills/` are frozen, historical copies
of the Databricks skills that used to ship in this repository. They are kept only so
that existing tooling (and anyone who copied them directly) does not break. They will
**not** receive updates.

## Use the supported path instead

Skills are now installed and maintained through the Databricks CLI:

```bash
databricks aitools install
```

This requires Databricks CLI **v1.0.0+** and pulls the current, maintained skills from
[github.com/databricks/databricks-agent-skills](https://github.com/databricks/databricks-agent-skills).
The AI Dev Kit installer (`install.sh` / `install.ps1`) already delegates to it, so a normal
install gets you the up-to-date skills with no manual copying.

## Getting the exact historical content

If you specifically need the files exactly as they were bundled, check out the last release
that shipped them:

```bash
git checkout v0.1.13 -- databricks-skills
```

## Migration notes

- Some skills were **renamed** when they moved to `databricks-agent-skills`. The mapping and
other breaking changes are documented in the root [`README.md`](../README.md) "breaking change" note.
- APX skills has been removed in favor of other app skills (see the root README).

## Genie Code (workspace upload)
Genie Code already has coverage for most skills available publicly and we will continue to sync improvements
whenever possible. The one flow `databricks aitools install` does not fully cover is uploading skills to a
Databricks workspace for **Genie Code**. Keep that simple — do not clone this tree to copy files:

- **Recommended:** run the notebook uploader
[`../install_genie_code_skills.py`](../install_genie_code_skills.py)
in your workspace. It downloads skills from GitHub (pinned to release `v0.1.13`) and uploads them
via the SDK — no local clone needed.
Original file line number Diff line number Diff line change
@@ -1,24 +1,30 @@
#!/bin/bash
#
# Databricks Skills Installer
# Databricks Skills Installer (DEPRECATED)
#
# Installs Databricks skills for Claude Code into your project.
# These skills teach Claude how to work with Databricks using MCP tools.
# ⚠️ DEPRECATED: The supported way to install skills is now:
# databricks aitools install (Databricks CLI v1.0.0+)
# or the AI Dev Kit installer, which delegates to it:
# bash <(curl -sL https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/install.sh)
#
# Usage:
# # Install all skills (Databricks + MLflow)
# curl -sSL https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/databricks-skills/install_skills.sh | bash
# This script remains only for the Genie Code workspace-upload flow
# (--install-to-genie), which `databricks aitools install` does not cover.
# For that, prefer the notebook uploader install_genie_code_skills.py
# (no local clone needed). When that is not possible, this script's default
# downloads the skills from the last release that shipped the bundled tree
# (git tag v0.1.13). The frozen local copies under DEPRECATED-databricks-skills/
# are only used with --local. Either way the skills are no longer maintained.
#
# # Install specific skills (can mix Databricks and MLflow skills)
# curl -sSL https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/databricks-skills/install_skills.sh | bash -s -- databricks-bundles agent-evaluation
# Usage:
# # Install then upload ./.claude/skills to workspace (Genie Code / Assistant)
# ./install_skills.sh --install-to-genie
# ./install_skills.sh --install-to-genie --profile prod --local
#
# # Or run locally
# # Other (deprecated) modes
# ./install_skills.sh # Install all skills
# ./install_skills.sh databricks-bundles agent-evaluation # Install specific skills
# ./install_skills.sh --mlflow-version v1.0.0 # Pin MLflow skills version
# ./install_skills.sh --local # Install Databricks skills from local directory
# ./install_skills.sh --install-to-genie # Install then upload ./.claude/skills to workspace (Genie Code / Assistant)
# ./install_skills.sh --install-to-genie --profile prod --local
# ./install_skills.sh --local # Install Databricks skills from DEPRECATED-databricks-skills/ folder
# ./install_skills.sh --list # List available skills
# ./install_skills.sh --help # Show help
#
Expand All @@ -33,8 +39,12 @@ BLUE='\033[0;34m'
NC='\033[0m' # No Color

# Configuration
# NOTE: The bundled skill tree was removed from `main` and frozen under
# DEPRECATED-databricks-skills/. The default (non-local) download therefore pins
# to the last release that still bundled the tree at its original paths: v0.1.13.
REPO_URL="https://github.com/databricks-solutions/ai-dev-kit"
REPO_RAW_URL="https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main"
REPO_REF="v0.1.13"
REPO_RAW_URL="https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/${REPO_REF}"
SKILLS_DIR=".claude/skills"
INSTALL_FROM_LOCAL=false
INSTALL_TO_GENIE=false
Expand Down Expand Up @@ -154,14 +164,18 @@ get_mlflow_skill_extra_files() {
show_help() {
echo -e "${BLUE}Databricks Skills Installer for Claude Code${NC}"
echo ""
echo -e "${YELLOW}DEPRECATED:${NC} use 'databricks aitools install' (Databricks CLI v1.0.0+) or"
echo -e "the AI Dev Kit installer (install.sh). This script is kept for the Genie Code"
echo -e "workspace-upload flow (--install-to-genie); skill files are frozen legacy copies."
echo ""
echo "Usage:"
echo " ./install_skills.sh [options] [skill1 skill2 ...]"
echo ""
echo "Options:"
echo " --help, -h Show this help message"
echo " --list, -l List all available skills"
echo " --all, -a Install all skills (default if no skills specified)"
echo " --local Install from local files instead of downloading"
echo " --local Install from the frozen local copies under DEPRECATED-databricks-skills/ instead of downloading"
echo " --install-to-genie After install, upload ./.claude/skills to workspace"
echo " /Users/<you>/.assistant/skills for Genie Code (uses cwd; requires databricks CLI)"
echo " --profile <name> Databricks config profile for workspace upload (default: DEFAULT or \$DATABRICKS_CONFIG_PROFILE)"
Expand Down Expand Up @@ -312,9 +326,9 @@ download_databricks_skill() {
local skill_dir="$SKILLS_DIR/$skill_name"

if [ "$INSTALL_FROM_LOCAL" = true ]; then
# Copy from local files
echo -e " Copying from local..."
local source_dir="$SCRIPT_DIR/${skill_name}"
# Copy from the frozen legacy copies under DEPRECATED-databricks-skills/
echo -e " Copying from local (DEPRECATED-databricks-skills/)..."
local source_dir="$SCRIPT_DIR/../DEPRECATED-databricks-skills/${skill_name}"

# Check if source directory exists
if [ ! -d "$source_dir" ]; then
Expand Down Expand Up @@ -349,8 +363,8 @@ download_databricks_skill() {
done
fi
else
# Download from URL
echo -e " Downloading from Databricks repo..."
# Download from URL (pinned to the frozen ${REPO_REF} tag)
echo -e " Downloading from Databricks repo (${REPO_REF})..."

# Download SKILL.md (required)
if curl -sSL -f "${REPO_RAW_URL}/databricks-skills/${skill_name}/SKILL.md" -o "$skill_dir/SKILL.md" 2>/dev/null; then
Expand Down Expand Up @@ -525,6 +539,25 @@ echo -e "${BLUE}║ Databricks Skills Installer for Claude Code
echo -e "${BLUE}╚════════════════════════════════════════════════════════════╝${NC}"
echo ""

# Deprecation banner
echo -e "${YELLOW}────────────────────────────────────────────────────────────${NC}"
echo -e "${YELLOW} ⚠️ DEPRECATED SCRIPT${NC}"
echo -e "${YELLOW}────────────────────────────────────────────────────────────${NC}"
echo -e " The supported way to install editor skills is now:"
echo -e " ${GREEN}databricks aitools install${NC} (Databricks CLI v1.0.0+)"
echo -e " or the AI Dev Kit installer, which delegates to it:"
echo -e " ${GREEN}bash <(curl -sL https://raw.githubusercontent.com/databricks-solutions/ai-dev-kit/main/install.sh)${NC}"
echo ""
echo -e " This script is kept only for the ${GREEN}--install-to-genie${NC} workspace"
echo -e " upload flow. For that, the notebook uploader is simpler:"
echo -e " ${GREEN}databricks-skills/install_genie_code_skills.py${NC} (no local clone)"
echo ""
echo -e " Skill files are ${YELLOW}frozen legacy copies${NC}, no longer maintained:"
echo -e " the default downloads them from release tag ${REPO_REF}; ${GREEN}--local${NC} uses"
echo -e " the DEPRECATED-databricks-skills/ folder instead."
echo -e "${YELLOW}────────────────────────────────────────────────────────────${NC}"
echo ""

# Check if we're in a git repo or project directory
if [ ! -d ".git" ] && [ ! -f "pyproject.toml" ] && [ ! -f "package.json" ] && [ ! -f "databricks.yml" ]; then
echo -e "${YELLOW}Warning: This doesn't look like a project root directory.${NC}"
Expand Down
Loading