Skip to content

Add connectivity verification and troubleshooting to Config skill#225

Open
CheeYuTan wants to merge 1 commit intodatabricks-solutions:mainfrom
CheeYuTan:feat/expand-config-skill
Open

Add connectivity verification and troubleshooting to Config skill#225
CheeYuTan wants to merge 1 commit intodatabricks-solutions:mainfrom
CheeYuTan:feat/expand-config-skill

Conversation

@CheeYuTan
Copy link
Contributor

Summary

The databricks-config skill was a 22-line stub with just a manage_workspace reference. Expanded to 242 lines with connectivity verification, workspace switching, and troubleshooting.

No new files — just an expanded SKILL.md. No install_skills.sh changes needed.

What's new (220 lines added)

Section What it covers
Quick Start 2-step connectivity verification shortcut
MCP Tools Reference get_current_user (return fields, use cases), manage_workspace (intent-to-action mapping), cross-refs to compute tools
Connectivity Verification Workflow 5-step: identity → workspace → resources → SQL → catalogs
Workspace Switching Workflow 4-step: list → present → switch → verify
Troubleshooting 5 auth failure symptoms, token/profile issues, 4 CLI fallbacks, 3 common misconfigs

Test evidence — 10 iterations

Live MCP tool tests

Tool Input Output Status
get_current_user {} {"username": "steven.tan@databricks.com", "home_path": "/Workspace/Users/steven.tan@databricks.com/"} PASS
execute_sql SELECT current_user(), current_catalog(), current_schema() ["steven.tan@databricks.com", "main", "default"] PASS
execute_sql SHOW CATALOGS Returns catalog list PASS

CLI fallback tests

Command Result Status
databricks auth describe Shows host, profile, auth_type PASS
grep '^\[' ~/.databrickscfg Lists all profile sections PASS
databricks clusters list --output json Returns JSON cluster list PASS

MCP tool schema verification

Tool Schema source Params match? Return format match?
get_current_user user.py source code PASS — no params PASS — {username, home_path}
manage_workspace workspace.py source code PASS — action required, profile/host optional PASS — 4 actions verified

What the 10 iterations fixed

Fix Before After Evidence
current_catalog() return value "" (empty string) "main" Live SQL query returned "main"
Unauthenticated get_current_user "returns error" "returns null username and null home_path" Source code: returns dict with None values
OAuth token expiry Claimed "1 hour" Confirmed "1 hour" (3600s) Live test: expires_in: 3600

18/18 checklist items passed

All tool schemas, response formats, workflow steps, troubleshooting entries, CLI commands, cross-references, and edge cases verified.

Test plan

  • CI validation passes (26 skills)
  • SKILL.md frontmatter valid
  • All MCP tool schemas verified against source code
  • Live tests for get_current_user and execute_sql
  • CLI fallback commands tested
  • Cross-reference to databricks-compute verified bidirectional
  • Edge cases: unauthenticated returns null (not error), OAuth expiry = 3600s

…and troubleshooting

The config skill was a 22-line stub with just a manage_workspace reference.
Expanded with:

- get_current_user documentation (verified: returns username + home_path)
- 5-step connectivity verification workflow (identity → workspace →
  resources → SQL → catalogs)
- Workspace switching workflow (list → present → switch → verify)
- Troubleshooting: 5 auth failure symptoms, token/profile issues,
  4 CLI fallback commands, 3 common misconfigurations
- Cross-references to databricks-compute skill for compute tools

Tested through 10 iterations. 3 fixes applied:
- current_catalog() returns "main" not empty string
- get_current_user returns null values, not errors, when unauthenticated
- OAuth token expiry verified at 3600s (1 hour)
@CheeYuTan CheeYuTan changed the title Expand Config skill from 22 to 242 lines — connectivity verification and troubleshooting Add connectivity verification and troubleshooting to Config skill Mar 7, 2026
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