databricks/databricks-agent-copilot-databricks-core
Databricks CLI operations and the parent/entry-point skill for Databricks CLI use: authentication, profile selection, and bundles. Load this first for CLI, auth, profile, and bundle tasks, then load the matching product skill. For finding or exploring data, answering questions about the data, or generating SQL, load the databricks-data-discovery skill (it routes to Genie One). Contains up-to-date guidelines for Databricks-related CLI tasks.
This is a copy. The original lives at databricks/databricks-core.
npx skills add https://github.com/databricks/databricks-agent-skills --skill databricks-core
Core skill for Databricks CLI, authentication, and data exploration.
For specific products, use dedicated skills:
For data discovery, exploration, and query generation — finding tables,
answering natural-language questions about the data, or generating SQL — use
databricks-data-discovery (it asks Genie One first, then falls back to manual
exploration). If it isn't installed, use the AI-tool commands below and
Manual Data Exploration.
databricks --version to check.DATABRICKS_HOST and DATABRICKS_TOKEN environment variables if present in the shell. See the Databricks REST API docs.databricks auth profilesNEVER auto-select a profile.
databricks auth profilesEach Bash command runs in a separate shell session.
# WORKS: --profile flag
databricks apps list --profile my-workspace
# WORKS: chained with &&
export DATABRICKS_CONFIG_PROFILE=my-workspace && databricks apps list
# DOES NOT WORK: separate commands
export DATABRICKS_CONFIG_PROFILE=my-workspace
databricks apps list # profile not set!
Use these instead of manually navigating catalogs/schemas/tables:
# discover table structure (columns, types, sample data, stats)
databricks experimental aitools tools discover-schema catalog.schema.table --profile <PROFILE>
# run ad-hoc SQL queries
databricks experimental aitools tools query "SELECT * FROM table LIMIT 10" --profile <PROFILE>
# find the default warehouse
databricks experimental aitools tools get-default-warehouse --profile <PROFILE>
Names are literal. Use catalog/schema/table names exactly as given — never change a
hyphen to an underscore or otherwise normalize them. In SQL, backtick-quote any name part
with special characters (e.g. my-catalog.schema.table ); unquoted hyphens cause a
parse error.
These commands are first-class for running known SQL and profiling — Genie isn't
required for that. For natural-language data questions, locating data you can't
pin down, or generating a query from a question, prefer the databricks-data-discovery
skill (above) if it's installed. See Manual Data Exploration for the
full command surface, quoting rules, and troubleshooting.
⚠️ CRITICAL: Some commands use positional arguments, not flags
# current user
databricks current-user me --profile <PROFILE>
# list resources
databricks apps list --profile <PROFILE>
databricks jobs list --profile <PROFILE>
databricks clusters list --profile <PROFILE>
databricks warehouses list --profile <PROFILE>
databricks pipelines list --profile <PROFILE>
databricks serving-endpoints list --profile <PROFILE>
# ⚠️ Unity Catalog — POSITIONAL arguments (NOT flags!)
databricks catalogs list --profile <PROFILE>
# ✅ CORRECT: positional args
databricks schemas list <CATALOG> --profile <PROFILE>
databricks tables list <CATALOG> <SCHEMA> --profile <PROFILE>
databricks tables get <CATALOG>.<SCHEMA>.<TABLE> --profile <PROFILE>
# ❌ WRONG: these flags/commands DON'T EXIST
# databricks schemas list --catalog-name <CATALOG> ← WILL FAIL
# databricks tables list --catalog <CATALOG> ← WILL FAIL
# databricks sql-warehouses list ← doesn't exist, use `warehouses list`
# databricks execute-statement ← doesn't exist, use `experimental aitools tools query`
# databricks sql execute ← doesn't exist, use `experimental aitools tools query`
# When in doubt, check help:
# databricks schemas list --help
# get details
databricks apps get <NAME> --profile <PROFILE>
databricks jobs get --job-id <ID> --profile <PROFILE>
databricks clusters get --cluster-id <ID> --profile <PROFILE>
# bundles
databricks bundle init --profile <PROFILE>
databricks bundle validate --profile <PROFILE>
databricks bundle deploy -t <TARGET> --profile <PROFILE>
databricks bundle run <RESOURCE> -t <TARGET> --profile <PROFILE>
| Error | Solution |
|-------|----------|
| cannot configure default credentials | Use --profile flag or authenticate first |
| configuration does not support OAuth tokens | The command requires OAuth (e.g., databricks apps logs). Re-authenticate with databricks auth login --host <URL> --profile <PROFILE>. See CLI Authentication. |
| PERMISSION_DENIED | Check workspace/UC permissions |
| RESOURCE_DOES_NOT_EXIST | Verify resource name/id and profile |
| Task | READ BEFORE proceeding |
|------|------------------------|
| First time setup | CLI Installation |
| Auth issues / new workspace | CLI Authentication |
| Exploring tables/schemas | Manual Data Exploration (or databricks-data-discovery if installed) |
| Deploying jobs/pipelines | Use /databricks-dabs |
Take databricks/databricks-agent-copilot-databricks-core from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.