skills: promote databricks-vector-search to stable#87
Merged
Conversation
Per Lennart's audit on #73: vector-search is no longer considered experimental in the Genie Code world. Promote it from `experimental/databricks-vector-search/` to `skills/databricks-vector-search/`. Changes: - `git mv experimental/databricks-vector-search skills/databricks-vector-search`. - Move the 4 top-level reference files into `references/` for layout consistency with other stable skills (apps, lakebase, pipelines). - SKILL.md: add `parent: databricks-core`, `metadata.version: "0.1.0"`, and the standard "FIRST: Use the parent databricks-core skill" prelude. Rewrite 10 path references for the new `references/<file>.md` locations. - scripts/skills.py: add `databricks-vector-search` to `SKILL_METADATA` with a stable description. - Update root README "Available Skills" list to include it; remove from experimental/README list. Manifest regenerated. `python3 scripts/skills.py validate` passes. Once this lands, the matching change in the a-d-k tombstone PR (databricks-solutions/ai-dev-kit#546) is to drop the `--experimental` flag from the vector-search tombstone's install command. I'll update that PR directly. Co-authored-by: Isaac
…rch-to-stable # Conflicts: # manifest.json
dustinvannoy-db
approved these changes
May 27, 2026
dustinvannoy-db
left a comment
Collaborator
There was a problem hiding this comment.
I'm good with promoting to stable
…rch-to-stable # Conflicts: # experimental/databricks-vector-search/end-to-end-rag.md # experimental/databricks-vector-search/index-types.md # experimental/databricks-vector-search/references/end-to-end-rag.md # experimental/databricks-vector-search/references/index-types.md # experimental/databricks-vector-search/references/search-modes.md # experimental/databricks-vector-search/references/troubleshooting-and-operations.md # experimental/databricks-vector-search/search-modes.md # experimental/databricks-vector-search/troubleshooting-and-operations.md # manifest.json # skills/databricks-vector-search/references/end-to-end-rag.md # skills/databricks-vector-search/references/index-types.md # skills/databricks-vector-search/references/search-modes.md # skills/databricks-vector-search/references/troubleshooting-and-operations.md
6 tasks
…rch-to-stable # Conflicts: # manifest.json
3 tasks
jamesbroadhead
added a commit
that referenced
this pull request
May 27, 2026
…tmatter Adds three frontmatter fields to 17 experimental SKILL.md files that stable skills already carry but the imported a-d-k snapshot does not: - `compatibility: Requires databricks CLI (>= v0.294.0)` - `metadata.version: "0.1.0"` (was the `0.0.1` script floor) - `parent: databricks-core` `experimental/databricks-vector-search` is intentionally skipped to avoid conflict with #87 (promotion to stable, which adds the same fields as part of the move). Manifest deltas: every experimental skill's `version` flips from `0.0.1` (scripts/skills.py fallback floor) to `0.1.0`. No other consumer-visible fields move — `compatibility` and `parent` are SKILL.md-only and not surfaced in manifest.json today. ## Test plan - `python3 scripts/skills.py generate` clean - `python3 scripts/skills.py validate` passes (`Everything is up to date.`) This PR was prepared by Claude.
Frontmatter description still carried the old verbose text while the manifest.json and scripts/skills.py override carried the concise version. That meant tools reading SKILL.md saw one description; tools reading the manifest saw another. Update the frontmatter to match. Co-authored-by: Isaac
…rch-to-stable # Conflicts: # scripts/skills.py
simonfaltum
added a commit
that referenced
this pull request
Jun 2, 2026
…tmatter (#105) ## Summary Backfills three frontmatter fields on 17 `experimental/` SKILL.md files that stable skills already carry but the imported a-d-k snapshot does not: - `compatibility: Requires databricks CLI (>= v0.294.0)` - `metadata.version: "0.1.0"` (was the `0.0.1` `scripts/skills.py` fallback floor) - `parent: databricks-core` Closes the frontmatter-version / parent-skill / CLI-compatibility gaps in one mechanical pass — they all touch the same files. ## Why The stable-side standard is documented in CLAUDE.md and consistently applied across `skills/`. Experimental skills carry none of these fields because [#73](#73) imported the a-d-k snapshot verbatim. PR [#73 TODO #7](#73) explicitly leaves the version backfill open ("when upstream a-d-k eventually adds version fields, those win; until then, the manifest reports the floor"). With a-d-k now deprecated, this repo is source of truth for `experimental/` and the backfill lands here. The promotion-time pattern (cf. [#87](#87) vector-search) adds these fields on the way out of `experimental/`. This PR closes the gap for the remaining skills that haven't been promoted yet. ## Changes 17 SKILL.md files in `experimental/`, plus manifest regeneration. `experimental/databricks-vector-search/SKILL.md` is intentionally **skipped** — #87 promotes it to `skills/` and adds the same fields as part of the move; including it here would create fake conflicts. Whichever lands first, the other rebases cleanly. ## Manifest deltas Every experimental skill's `version` flips from `0.0.1` (the `extract_version_from_skill` fallback floor) to `0.1.0`. `compatibility` and `parent` are SKILL.md-only — not surfaced in manifest.json today. ## Test plan - [x] `python3 scripts/skills.py generate` clean - [x] `python3 scripts/skills.py validate` passes (`Everything is up to date.`) - [ ] CI green on this branch. This pull request and its description were written by Claude. --------- Signed-off-by: simon <simon.faltum@databricks.com> Co-authored-by: simon <simon.faltum@databricks.com>
simonfaltum
approved these changes
Jun 2, 2026
GabbysCode
pushed a commit
to GabbysCode/databricks-agent-skills
that referenced
this pull request
Jun 15, 2026
… experimental (databricks#84) ## Summary Merges the dev-side surface of [`experimental:databricks-ml-training-serving/`](https://github.com/databricks-solutions/ai-dev-kit/tree/experimental/databricks-skills/databricks-ml-training-serving) into stable's `databricks-model-serving`. Closes [databricks#73](databricks#73 TODO #1b. The two skills had near-zero content overlap — stable was ops-focused (manage existing endpoints via CLI); experimental was dev-focused (train, register, log a PyFunc or `ResponsesAgent`, deploy). Combining them avoids forcing users to invoke two skills for what is functionally one workflow. **Shape:** - SKILL.md remains the ops entry-point (create / query / update / scale endpoints, App integration). - 3 new `references/` files carry the dev-side flow verbatim from experimental. - Frontmatter `description` broadened so agent routing fires on dev-side asks too (train, register, PyFunc, ResponsesAgent) — see `description` field for the full trigger phrase list. NOT for: no-code agents (use `databricks-agent-bricks`); MLflow scorers (use `databricks-mlflow-evaluation`). ## Changes | Stable file | Source on experimental | Covers | |---|---|---| | `references/training-and-serving.md` | `databricks-ml-training-serving/SKILL.md` | Canonical train/register/serve flow, `mlflow.{sklearn,xgboost,…}.autolog()` patterns, UC alias-based promotion (`@prod`/`@challenger`), batch scoring via `spark_udf`, real-time endpoint create + zero-downtime version swap, `state.ready` vs `state.config_update` poll-both gotcha, `jobs submit --no-wait` serverless deploy pattern, **Foundation Model API endpoints runtime-list** (replaces the earlier static catalog draft per @QuentinAmbard's review), and the gotchas trap-table. | | `references/custom-pyfunc.md` | `databricks-ml-training-serving/1-custom-pyfunc.md` | File-based PyFunc ("Models from Code" via `python_model="model.py"`), `infer_signature`, `code_paths`, pre-deploy validation via `mlflow.models.predict(env_manager="uv")`. | | `references/genai-agents.md` | `databricks-ml-training-serving/2-genai-agents.md` | `ResponsesAgent` interface, LangGraph agent with `UCFunctionToolkit` + `VectorSearchRetrieverTool`, the `create_text_output_item` raw-dict-silently-fails gotcha, the `resources=[...]` passthrough-auth list, async deploy via `agents.deploy()` from a serverless job, query via CLI and OpenAI-compatible client. | All 3 ports are **verbatim** — only mechanical adjustments: 1. Strip the SKILL.md frontmatter on the SKILL→reference promotion. 2. Sibling-file renames: `1-custom-pyfunc.md` → `custom-pyfunc.md`, `2-genai-agents.md` → `genai-agents.md`. 3. Cross-skill paths bumped one level for the deeper `references/` location. Stable peers (`databricks-jobs`) use `../../`; experimental-only peers (`databricks-agent-bricks`, `databricks-mlflow-evaluation`, `databricks-vector-search`, `databricks-unity-catalog`) use `../../../experimental/`. **SKILL.md updates** (kept tight — ops focus preserved): - FM-endpoint discovery now points to `references/training-and-serving.md#foundation-model-api-endpoints`. - New `### Develop & deploy new models` subsection under "What's Next" with a 3-row table linking the new references. - Frontmatter `description` expanded to cover the dev surface (see above). - Version bumped to **0.3.0**. **Manifest**: regenerated via `python3 scripts/skills.py generate`. ## Reviewer history Earlier commits on this branch made two mistakes that have since been corrected: 1. Initial draft sourced FM endpoint content from `main:databricks-model-serving/` rather than `experimental:databricks-ml-training-serving/` — caught by @QuentinAmbard, reworked. 2. The first rework still shipped a static FM endpoint catalog. The experimental skill deliberately rejects static catalogs in favour of `databricks serving-endpoints list | jq ...` plus runtime-resolved defaults. Replaced with the runtime-list snippet. ## Coverage vs. databricks#73 TODO #1b | TODO #1b item | Landed in this PR | |---|---| | classical-ml autolog patterns | `training-and-serving.md` § Train and register | | Custom PyFunc signatures | `custom-pyfunc.md` (whole file) | | `ResponsesAgent` + `create_text_output_item` gotcha | `genai-agents.md` § CRITICAL: output items must use helper methods | | `UCFunctionToolkit` + `VectorSearchRetrieverTool` resource passthrough | `genai-agents.md` § Log + register + § Resources that need passthrough auth | | Foundation Model API endpoint table → runtime-list | `training-and-serving.md` § Foundation Model API endpoints | Plus content the original TODO didn't enumerate: batch scoring via `spark_udf`, real-time endpoint create + version swap, the `state.ready` vs `state.config_update` poll-both gotcha, serverless `jobs submit --no-wait` deploy pattern, the consolidated gotchas trap-table. ## Known follow-ups (out of scope) - `references/training-and-serving.md` has an anchor link `#one-time-runs-jobs-submit--async-pattern-for-notebooks` into `databricks-jobs/SKILL.md`. The section exists in a-d-k's `databricks-jobs` but not yet in d-a-s `databricks-jobs/SKILL.md`. Link falls back to the file top. - `references/off-platform-streaming.md` (pre-existing from [databricks#76](databricks#76)) is in the manifest but unwired from SKILL.md. Untouched by this PR. - If [databricks#87](databricks#87) promotes `databricks-vector-search` to stable, the `../../../experimental/databricks-vector-search/SKILL.md` link in `training-and-serving.md` should be flipped to the stable path. databricks#87's link-sweep should handle it. ## Test plan - [x] `python3 scripts/skills.py generate` clean. - [x] `python3 scripts/skills.py validate` passes (`Everything is up to date.`). - [x] All 3 new reference files diff cleanly against upstream (only the mechanical adjustments above). - [x] All 6 cross-skill links in the new reference files resolve to existing files in this repo. - [ ] CI green on this branch. - [ ] Owner review (`@databricks/eng-apps-devex` per CODEOWNERS). This pull request and its description were written by Claude. --------- Co-authored-by: Dustin Vannoy <dustin.vannoy@databricks.com> Co-authored-by: Atila Fassina <atila@fassina.eu>
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
Per Lennart's audit on #73, item #10: Vector Search is no longer considered experimental in Genie Code. Promote
experimental/databricks-vector-search/→skills/databricks-vector-search/.Changes
git mv experimental/databricks-vector-search skills/databricks-vector-search.references/to match the stable-skills layout convention (apps, lakebase, pipelines).parent: databricks-coreandmetadata.version: "0.1.0". Body: add the standard "FIRST: Use the parentdatabricks-coreskill" prelude.references/<file>.mdlocations.scripts/skills.py: adddatabricks-vector-searchtoSKILL_METADATA.README.md"Available Skills" list: adddatabricks-vector-search.experimental/README.md: remove from the experimental skill list.Manifest regenerated;
python3 scripts/skills.py validatepasses.Cross-repo
databricks-vector-searchwith--experimental. I'll drop the flag in that PR to match this promotion.references/move). Whichever lands first, the other will rebase cleanly with no conflicts in the vector-search subtree.Test plan
python3 scripts/skills.py generateclean.python3 scripts/skills.py validatepasses (Everything is up to date.).@simonfaltumflagged this).This pull request and its description were written by Claude.