Skip to content

feat: import 17 skills from app-templates (ML-63273)#74

Closed
jamesbroadhead wants to merge 1 commit into
mainfrom
jbroadhead/move-skills-from-app-templates
Closed

feat: import 17 skills from app-templates (ML-63273)#74
jamesbroadhead wants to merge 1 commit into
mainfrom
jbroadhead/move-skills-from-app-templates

Conversation

@jamesbroadhead
Copy link
Copy Markdown

@jamesbroadhead jamesbroadhead commented May 12, 2026

Summary

Imports the 17 agent-building skills from databricks/app-templates into this repo so they can be installed via databricks experimental aitools install instead of being manually copied into each template via .scripts/sync-skills.py. Tracks ML-63273.

Drafted because there are several structural decisions to resolve before this is mergeable — see Open questions below. Filing now so reviewers can weigh in on shape.

What's imported

17 new top-level skill dirs under skills/, each with SKILL.md + agents/openai.yaml + synced assets:

Group Skills
Tool wiring add-tools-langgraph, add-tools-openai, create-tools, discover-tools
Agent memory agent-langgraph-memory, agent-openai-memory, lakebase-setup
Modify code modify-langgraph-agent, modify-openai-agent
Dev workflow quickstart, run-locally, deploy
Operational load-testing, long-running-server
Supervisor API supervisor-api, supervisor-api-background-mode
Migration migrate-from-model-serving

All marked experimental: true in SKILL_METADATA until the questions below are resolved.

Source: ~/checkouts/app-templates/.claude/skills/<name>/SKILL.md (source-of-truth for the sync), copied verbatim except: (a) frontmatter name: aligned to the directory name (the source uses post-sync names like add-tools for both langgraph and openai variants), (b) added metadata.version: "0.0.1".

⚠️ Open questions / known issues

1. Unresolved template variables

Six skills contain {{...}} placeholders that the app-templates sync (.scripts/sync-skills.py) substitutes per-template:

  • {{BUNDLE_NAME}} — replaced with each template's bundle name (e.g. agent_langgraph)
  • {{LAKEBASE_OPTIONS}}, {{LAKEBASE_EXAMPLES}}, {{LAKEBASE_CONFIGURES_ENV}}, {{LAKEBASE_CONFIGURES_YML}} — conditional blocks included only for Lakebase-enabled templates

Affected: add-tools-langgraph, add-tools-openai, deploy, lakebase-setup, quickstart, supervisor-api.

Once installed via databricks experimental aitools install these placeholders will show up literally to the model. Options:

  • (a) Replace {{BUNDLE_NAME}} with a generic placeholder like <bundle-name> and inline the Lakebase blocks unconditionally.
  • (b) Have the CLI install command resolve them from project context.
  • (c) Drop the deploy/quickstart/lakebase-setup skills entirely (they're template-aware, not general-purpose).

2. Overlap with existing bundles

Three new skills overlap functionally with existing databricks-* bundles:

New skill Overlaps Notes
lakebase-setup databricks-lakebase New one is narrowly about agent-memory storage; existing is general Lakebase dev
migrate-from-model-serving databricks-serverless-migration, databricks-model-serving Different migration (Model Serving → Apps vs classic → serverless) — names are confusing
deploy databricks-apps databricks-apps/SKILL.md already covers databricks bundle deploy

Should we (a) keep both and document the difference, (b) fold the new content into the existing bundles as references, or (c) rename to be unambiguous (e.g. agent-lakebase-memory, migrate-model-serving-to-apps)?

3. Structure mismatch with existing convention

The existing bundles (databricks-apps, databricks-lakebase, …) use a bundle structure — SKILL.md + references/foo.md + references/bar.md. The imported skills are flat (one SKILL.md per dir). I dropped them in flat to keep the diff minimal and the migration mechanical, but the convention here is bundles.

Options:

  • (a) Keep flat as-is (simpler, but inconsistent with the rest of the repo).
  • (b) Group into 2–3 bundles, e.g. databricks-agents-langgraph/, databricks-agents-openai/, databricks-agents-common/, with the existing files moved under references/.
  • (c) One mega-bundle databricks-app-templates/.

4. Source-of-truth direction (post-merge)

Once merged, two copies exist: this repo and app-templates/.claude/skills/. The end-state in ML-63273 (per Sid Murching's comment) is templates pulling from databricks-agent-skills via databricks experimental aitools install, but that flip needs:

  • An app-templates PR removing .claude/skills/ and .scripts/sync-skills.py
  • AGENT.md / AGENTS.md updates in each template recommending the install command
  • Decision on what happens for users still running an old template snapshot

I'd file the app-templates PR as a follow-up once the questions above land.

5. Naming: frontmatter name vs source directory

In app-templates/.claude/skills/, the source dir names are add-tools-langgraph/add-tools-openai/modify-langgraph-agent/modify-openai-agent/agent-langgraph-memory, but their SKILL.md frontmatter uses the post-sync names (add-tools, modify-agent, agent-memory). I aligned the new skills' frontmatter to the directory name (the source-dir form) so scripts/skills.py discovery is consistent. Worth a sanity check.

Test plan

  • python3 scripts/skills.py generate — syncs assets, regenerates manifest.json
  • python3 scripts/skills.py validate — passes (Everything is up to date.)
  • Manual install test via databricks experimental aitools install against this branch
  • Resolve open questions 1–4 above before flipping out of draft

Related

  • JIRA: ML-63273 — "Move skills to databricks-agent-skills repo" (assigned Dhruv Gupta, In Development since 2026-03-04)
  • Sid's context in JIRA comment recommends installing skills from this repo via databricks experimental aitools install rather than the per-template sync
  • Related but distinct: Improve skills based on an external benchmark for DevHub prompts #68 (pkosiec) — DevHub-benchmark-driven improvements to existing databricks-apps / databricks-lakebase skills

This pull request and its description were written by Claude.

Co-authored-by: Isaac

Pull the agent-building skills from databricks/app-templates
(.claude/skills/) into this repo so they can be installed via
`databricks experimental aitools install` and reused across agent
templates without manual syncing.

Imported as flat top-level skills (one dir each):
- add-tools-langgraph, add-tools-openai
- agent-langgraph-memory, agent-openai-memory
- create-tools, discover-tools
- deploy, run-locally, quickstart
- lakebase-setup, load-testing, long-running-server
- migrate-from-model-serving
- modify-langgraph-agent, modify-openai-agent
- supervisor-api, supervisor-api-background-mode

All marked `experimental: true` in the manifest pending the structural
questions called out in the PR description (template variables, overlap
with existing bundles, source-of-truth direction).

Generated by `python3 scripts/skills.py generate`; passes
`python3 scripts/skills.py validate`.

Co-authored-by: Isaac
Signed-off-by: James Broadhead <james.broadhead@databricks.com>
@jamesbroadhead jamesbroadhead deleted the jbroadhead/move-skills-from-app-templates branch May 12, 2026 21:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant