retire .claude-plugin/: a-d-k stops being a Claude Code plugin#548
Open
jamesbroadhead wants to merge 4 commits into
Open
retire .claude-plugin/: a-d-k stops being a Claude Code plugin#548jamesbroadhead wants to merge 4 commits into
jamesbroadhead wants to merge 4 commits into
Conversation
Skills are now distributed via the Databricks CLI from databricks/databricks-agent-skills. Replace each per-skill directory with a single SKILL.md redirect pointing at `databricks aitools install <name> [--experimental]`. Update install scripts (install_skills.sh, install_genie_code_skills.py) to print a deprecation/redirect message and exit. Update databricks-skills/README.md with a per-skill redirect table, and the root README to point at the new upstream. Mapping notes: - 18 experimental skills redirect to d-a-s/experimental/. - 6 a-d-k skills were merged into d-a-s stable: databricks-bundles → databricks-dabs, databricks-config → databricks-core, databricks-jobs (kept name), databricks-lakebase-autoscale → databricks-lakebase, databricks-lakebase-provisioned → databricks-lakebase, databricks-model-serving (kept name; dev-side content port in progress via d-a-s PR databricks-solutions#84), databricks-spark-declarative-pipelines → databricks-pipelines (content port pending, owners @lennartkats-db / @camielstee-db). - 1 a-d-k skill (databricks-genie) is not currently published in d-a-s; its tombstone says "may return in a future release". - TEMPLATE/ is preserved as a starter template. Supersedes the subtree-sync approach in a-d-k RFC databricks-solutions#530 (now closed). The d-a-s `experimental-only-preview` branch can be deleted once this PR merges. Co-authored-by: Isaac
The previous tombstone-only PR left install.sh, install.ps1, the Claude
Code plugin manifest, and the check_update.sh upgrade prompt all driving
users into per-agent skill directories sourced from databricks-skills/ —
which under the tombstone migration would have meant copying empty "moved"
files over working installs.
This commit closes the loop:
- install.sh / install.ps1
- Skill installation is fully delegated to `databricks aitools install`.
The installer no longer copies skill content from this repo.
- On run, the installer first cleans up any leftover .claude/skills/* (etc.)
written by the old installer using the manifest it kept, then invokes
the CLI with the user's selected profile names.
- MIN_CLI_VERSION bumped to 1.0.0 (the release that ships top-level
`databricks aitools`); CLI is now mandatory (die instead of warn).
- MLflow + APX bundled-skill fetching dropped — out of scope for this
installer. The per-user-type bundles (data-engineer / analyst /
ai-ml-engineer / app-developer) are preserved and now map to
post-migration d-a-s skill names.
- .claude-plugin/plugin.json: removed the `skills` field that pointed at
./databricks-skills/. Marketplace users get MCP only; they install
skills via the CLI.
- .claude-plugin/check_update.sh: when the update prompt fires for users
on a pre-1.0.0 install, the banner now includes a one-shot migration
note explaining the CLI-based distribution and that running install.sh
will clean up old per-agent skill directories.
- README.md: reordered so the Skills CTA is `databricks aitools install`
first; install.sh is presented as the skills+MCP all-in-one path. CLI
v1.0.0+ requirement called out in Prerequisites; the misleading
databricks-skills/ row in What's Included now points at the CLI.
- databricks-skills/databricks-genie/SKILL.md: tombstone now points at
d-a-s PR databricks-solutions#73 (which deferred Genie during the migration) and notes
that the skill will return in a future d-a-s release.
Co-authored-by: Isaac
When the pre-1.0.0 migration banner fires, give users both follow-up
paths instead of just install.sh:
(A) Inside Claude Code:
/plugin marketplace add databricks/databricks-agent-skills
/plugin install databricks-skills
/plugin marketplace remove databricks-solutions/ai-dev-kit
(B) Outside Claude Code:
bash <(curl -sL .../install.sh)
Path (A) is the smallest possible migration — users never leave the
agent. It's stable-skills-only because the d-a-s plugin only loads
./skills/, by design.
Path (B) still works for users who want --experimental, per-skill
selection, or the MCP server (until it's decommissioned per the
team's DECOMMISSION_PLAN.md on the experimental branch).
Depends on `databricks/databricks-agent-skills` adding marketplace.json
to its .claude-plugin/ — staged but not yet upstreamed (Databricks EMU
policy blocks me from forking d-a-s, so the marketplace.json + README
patch are in /tmp/das-pr/ waiting on a maintainer with write access).
Until that lands, `/plugin marketplace add databricks/databricks-agent-skills`
will fail; users still have path (B) to fall back on.
Co-authored-by: Isaac
The .claude-plugin/ directory's reason for existing has been chipped away over the last few commits: - The `skills` field in plugin.json was removed in databricks-solutions#546 (skills now come from `databricks aitools install` or the d-a-s plugin). - setup.sh installs the MCP server's venv. Per the experimental branch's DECOMMISSION_PLAN.md, the MCP server is being deleted outright. The plugin install of MCP was always the niche path anyway; install.sh handles the same setup for users who want it. - check_update.sh's job was telling pre-migration users to switch to the new install paths (CLI + d-a-s plugin). That banner has been live since databricks-solutions#546 (and databricks-solutions#547 added the plugin-marketplace migration commands). At some point in the deprecation window we stop telling users to switch and just remove the plugin. - marketplace.json's only purpose was making the plugin installable inside Claude Code. With the plugin retired, that's gone too. Concretely: - Delete `.claude-plugin/` (all four files). - install.sh: drop `write_claude_hook` and its caller in `write_mcp_configs`. The SessionStart hook can't reference a file that no longer exists. install.sh now writes Claude's `.mcp.json` and nothing else for Claude-specific setup. - install.ps1: no changes needed (it never wired up the hook). After this, users get skills exclusively via: • `databricks aitools install` (CLI; supports --experimental and per-skill selection) • `/plugin marketplace add databricks/databricks-agent-skills` + `/plugin install databricks-skills` (Claude Code plugin marketplace, stable skills only) And get the MCP server (until it's deleted per DECOMMISSION_PLAN.md) only via `bash install.sh --mcp` (or whatever the equivalent flag becomes). ## Ordering This PR should land AFTER databricks-solutions#547 has been on `main` long enough that existing plugin-marketplace users have run `/plugin update` at least once and seen the migration banner pointing them at the d-a-s marketplace. Otherwise they're cut off with no in-product migration hint. Suggest a 2-4 week soak. Co-authored-by: Isaac
simonfaltum
pushed a commit
to databricks/databricks-agent-skills
that referenced
this pull request
May 27, 2026
) ## Summary - Adds `.claude-plugin/marketplace.json` so users can install the d-a-s skills plugin directly from inside Claude Code: /plugin marketplace add databricks/databricks-agent-skills /plugin install databricks-skills Without this file the existing `.claude-plugin/plugin.json` is reachable only after cloning the repo. - `README.md`: documents both install paths (CLI canonical, plugin marketplace alternative for stable skills) and adds a short comparison table covering experimental skills, per-skill selection, and outside-agent prerequisites. The two paths install to *different* locations (CLI writes into `~/.claude/skills/`; plugin caches under `~/.claude/plugins/cache/<marketplace>/<plugin>/`) — the README now spells that out instead of pretending they share a target. ## Background `databricks-solutions/ai-dev-kit` is in the process of being retired as a skills-distribution mechanism (see a-d-k PRs [#546](databricks-solutions/ai-dev-kit#546), [#547](databricks-solutions/ai-dev-kit#547), [#548](databricks-solutions/ai-dev-kit#548) and the team's `DECOMMISSION_PLAN.md` on the experimental branch). Users will be redirected here for skills. The migration banner that a-d-k will start showing pre-1.0.0 users tells them to run `/plugin marketplace add databricks/databricks-agent-skills`. Without this PR landing, that command fails to resolve. The plugin marketplace path is intentionally scoped to stable skills (matches the existing `"skills": "./skills/"` in `plugin.json`). Experimental skills stay CLI-only — the README's comparison table calls that out so users know which knob to reach for. This supersedes #92 (which was opened from a personal fork). ## Test plan - [x] `python3 -m json.tool .claude-plugin/marketplace.json` — valid JSON. - [x] `claude plugin validate --strict .` on the branch — marketplace manifest passes strict validation. - [x] From a clean Claude Code session, `claude plugin marketplace add <path>` + `claude plugin install databricks-skills` succeeds; `claude plugin details databricks-skills` registers exactly the 8 stable skills (`databricks-apps`, `-core`, `-dabs`, `-jobs`, `-lakebase`, `-model-serving`, `-pipelines`, `-serverless-migration`); experimental skills correctly excluded from the registered set even though they're present in the plugin cache. - [x] Plugin files land at `~/.claude/plugins/cache/databricks-skills/databricks-skills/0.1.0/skills/<skill>/SKILL.md` (the plugin path; not `~/.claude/skills/`, which is the CLI path). - [ ] README renders cleanly on GitHub; the comparison table is legible. This PR was AI-assisted by Isaac.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Retires the
.claude-plugin/directory from a-d-k. After this PR, a-d-k is no longer a Claude Code plugin; it's just the installer + (soon-to-be-decommissioned) MCP server + builder app.The pieces being removed and why:
plugin.json— already shed itsskillsfield in databricks-skills: tombstone redirects to databricks-agent-skills #546. With nothing useful to declare, the file goes too.marketplace.json— only existed so users could/plugin marketplace add databricks-solutions/ai-dev-kit. After this PR they/plugin marketplace add databricks/databricks-agent-skillsinstead (see d-a-s side; PR pending).setup.sh— installs MCP server's Python venv when the plugin loads. Per the experimental branch'sDECOMMISSION_PLAN.md, the MCP server itself is being deleted. The plugin-install path for MCP was always niche; users who want MCP runinstall.sh --mcp(Phase 2 of decommission flips the flag).check_update.sh— its job is telling pre-1.0.0 users how to switch install paths (introduced in databricks-skills: tombstone redirects to databricks-agent-skills #546, extended in check_update.sh: add Claude Code plugin migration commands #547). Once the deprecation window closes, the migration prompt isn't useful.Install.sh changes
install.shpreviously wrote aSessionStarthook into Claude settings that invokedcheck_update.sh. With the script gone, the hook would dangle, sowrite_claude_hookand its caller inwrite_mcp_configsare removed.install.shnow writes Claude's.mcp.jsonand stops there for Claude-specific setup.install.ps1never wired up the hook — no PS1 changes needed.After this PR, users get skills via:
databricks aitools install(CLI; canonical;--experimentaland per-skill selection supported)/plugin marketplace add databricks/databricks-agent-skills+/plugin install databricks-skills(Claude Code plugin marketplace; stable skills only)And the MCP server (until deleted per DECOMMISSION_PLAN.md) only via
install.sh --mcp.Ordering — do not land yet
This should not merge until #547 has been live on
mainlong enough that existing plugin-marketplace users have launched Claude Code at least once and seen the migration banner. Recommend ≥ 2-4 weeks soak after #547 hitsmain. Without that soak, users with the a-d-k marketplace cached locally get cut off with no in-product hint pointing them at d-a-s.Stacks on #547 (which stacks on #546). When both have merged this PR's diff against
mainbecomes just the .claude-plugin/ deletion + the install.sh hook unwiring.Test plan
find .claude-plugin -type freturns nothing (or the directory is gone).bash -n install.shpasses.claude-plugin,check_update,write_claude_hook,SessionStart: zero hits.bash install.shwith all defaults still completes; nobash: .claude-plugin/check_update.sh: No such file or directoryerror during or after.bash install.shagain does not leave the dangling hook in.claude/settings.json. (If we want to garbage-collect it, that's a follow-up — this PR doesn't try to.)This PR was AI-assisted by Isaac.