Skip to content

Add create-tools skill for resource creation guidance#181

Open
dhruv0811 wants to merge 8 commits intomainfrom
add-create-tools-skill
Open

Add create-tools skill for resource creation guidance#181
dhruv0811 wants to merge 8 commits intomainfrom
add-create-tools-skill

Conversation

@dhruv0811
Copy link
Copy Markdown
Contributor

@dhruv0811 dhruv0811 commented Apr 2, 2026

Summary

Add a new create-tools skill that teaches AI coding assistants how to create Databricks resources (Genie spaces, Vector Search indexes, UC functions, UC connections, local Python tools) that agents connect to as MCP tools.

Changes

  • New .claude/skills/create-tools/ with SKILL.md + 5 example files
  • Updated sync-skills.py, discover-tools, add-tools, .gitignore (root + 9 templates), and 7 AGENTS.md skill tables

@dhruv0811 dhruv0811 requested review from bbqiu and jennsun April 3, 2026 00:17
To list all Genie spaces via CLI:

```bash
databricks genie list-spaces --profile <profile>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this a correct command in the CLI? not seeing it here: https://docs.databricks.com/aws/en/dev-tools/cli/reference/genie-commands

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Screenshot 2026-04-09 at 3 34 28 PM So the command does exist, it seems the docs are not updated? It was actually claude that knew about this command in the first place. Interesting to see this gap, maybe we should flag with CLI team to update docs!

Comment thread .claude/skills/create-tools/examples/uc-connection.md
Copy link
Copy Markdown
Contributor

@jennsun jennsun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed some of the CLI commands are not consistent with the databricks docs - could you test these tool creation skills are able to get through all the flows for these resources?

@dhruv0811 dhruv0811 requested a review from jennsun April 9, 2026 22:42
Add a new SDK-independent skill that teaches AI coding assistants how to
create the Databricks resources that agents connect to as tools:
- Genie spaces (UI walkthrough + CLI to list)
- Vector Search indexes (CLI with managed embeddings)
- UC functions (SQL + Python examples with COMMENT best practices)
- UC connections for external MCP servers (bearer token, OAuth M2M, managed OAuth)
- Local Python function tools (@function_tool / @tool patterns)

This fills the gap between discover-tools (find existing resources) and
add-tools (wire them into the agent). The workflow is now:
discover → create → add → deploy.

Also updates:
- sync-skills.py: add create-tools to shared skills list
- discover-tools: add "Create resources" to Next Steps
- add-tools (both SDKs): add cross-reference to create-tools
- All 7 per-template AGENTS.md: add create-tools to skill directory table

Co-authored-by: Isaac
The discover flow is for existing resources — "create" doesn't belong
in the main Next Steps. Move to a one-line fallback at the bottom.

Co-authored-by: Isaac
- vector-search-index.md: Fix all commands (vector-search-endpoints/indexes
  with positional args, --json for delta sync config)
- uc-function.md: Replace nonexistent sql-statements execute with
  databricks api post /api/2.0/sql/statements
- genie-space.md: Use databricks genie list-spaces instead of raw API

All commands verified against databricks CLI --help output.
All Python patterns verified against installed SDKs.

Co-authored-by: Isaac
- genie-space.md: Fix table limit (25 → 30), add required warehouse
  config step, fix sharing instructions (enter name, click Add, set CAN RUN)
- vector-search-index.md: Fix embedding model (bge → gte-large-en per
  docs recommendation), add missing prerequisites (UC enabled, serverless,
  Change Data Feed)
- uc-connection.md: Update managed OAuth providers (add Glean, GitHub),
  add Marketplace installation note

Co-authored-by: Isaac
- local-python-tools.md: Add error handling section with verified patterns
  for both SDKs (failure_error_function for OpenAI, ToolException +
  handle_tool_error for LangGraph)
- add-tools-openai: Add MCP timeout/error handling note
- add-tools-langgraph: Add handle_tool_error on DatabricksMCPServer note

All patterns runtime-verified against installed SDK versions.

Co-authored-by: Isaac
Update uc-connection.md OAuth M2M options to match the documented
CREATE CONNECTION syntax: client_id, client_secret, token_endpoint
instead of oauth_client_id, oauth_client_secret, oauth_token_url.

Co-authored-by: Isaac
@dhruv0811 dhruv0811 force-pushed the add-create-tools-skill branch from 8c49149 to cfe4414 Compare April 15, 2026 22:01
Remove 4 deleted templates from registry:
- agent-langgraph-short-term-memory
- agent-langgraph-long-term-memory
- agent-openai-agents-sdk-short-term-memory
- agent-openai-agents-sdk-long-running-agent

Add 2 new advanced templates:
- agent-langgraph-advanced (has_memory: true)
- agent-openai-advanced (has_memory: true)

Re-synced all skills to match the updated registry.

Co-authored-by: Isaac
- templates.py: Remove 4 deleted templates, add agent-langgraph-advanced
  and agent-openai-advanced
- agent-langgraph-memory/SKILL.md: Update all references from deleted
  short-term/long-term templates to agent-langgraph-advanced
- lakebase-setup/SKILL.md: Update all references from deleted templates
  to agent-langgraph-advanced and agent-openai-advanced
- Re-synced all skills

Co-authored-by: Isaac
)
```

For local function tools, see `create-tools` skill > `examples/local-python-tools.md` for `@tool(handle_tool_error=True)` patterns.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which framework is @tool(handle_tool_error) from? it is not mentioned later on

> - `agent-langgraph-long-term-memory` - User facts that persist across sessions
> - `agent-openai-agents-sdk-short-term-memory` - Conversation history (OpenAI SDK)
> - `agent-openai-agents-sdk-long-running-agent` - Background tasks with Lakebase persistence
> - `agent-langgraph-advanced` - Short-term and long-term memory (LangGraph)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sorry once #179 gets merged in, hopefully all of these will be fixed (AI should be able to help you rebase)

Copy link
Copy Markdown
Contributor

@bbqiu bbqiu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, can we add to the descriptino some of the manual testing that we did?

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.

3 participants