CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

databricks-apps-python

Python backend for Databricks Apps — FastAPI (default), Flask, Dash, Streamlit, Gradio, Reflex. **Default for a new Databricks App is `databricks-apps` (AppKit — Node/TypeScript/React) — reach for it first.** Use this skill only when the user asks for a Python backend, extends an existing Python app, or the team is Python-only. Covers OAuth auth, app resources, SQL warehouse and Lakebase connectivity, foundation-model / Vector Search / model-serving APIs (via `databricks-python-sdk`), and deployment via CLI or DABs.

72

Quality

91%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

82%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

A well-engineered, highly actionable body: exact commands, executable code, and excellent one-level-deep reference routing. The main defects are a dangling references to a nonexistent examples/ folder, duplicated runtime/package tables, and a generic Pydantic snippet that adds tokens without Databricks-specific value.

Suggestions

Fix or remove the dangling 'examples/ folder' citations (fm-minimal-chat.py, fm-parallel-calls.py, fm-structured-outputs.py, llm_config.py) — the folder does not exist in the bundle; either add it or point solely to the databricks-python-sdk skill's examples.

Deduplicate platform facts: keep runtime (Python 3.11, Ubuntu 22.04, 2 vCPU, 6 GB) and pre-installed framework lists in one table (Platform Constraints or Quick Reference) instead of both.

Drop or relocate the generic Pydantic models snippet into references/3-frameworks.md, since basic BaseModel/Enum usage is knowledge Claude already has and it carries no Databricks-specific content.

Add an explicit post-deployment verification step to the Workflow (e.g., 'databricks apps logs <name>' / check the app URL after deploy) to close the validation gap in the deploy path.

DimensionReasoningScore

Conciseness

The body is dense and mostly lean — tables for framework selection, common issues, and platform constraints, with no prose explaining concepts Claude already knows. However, there are trimmable spots: runtime/pre-installed-package info is duplicated between 'Quick Reference' ('Python 3.11, Ubuntu 22.04, 2 vCPU, 6 GB RAM', 'Dash 2.18.1, Streamlit 1.38.0…') and 'Platform Constraints' ('Python 3.11, Ubuntu 22.04 LTS', 'Dash, Streamlit, Gradio, Flask, FastAPI, Shiny'); the 'Pydantic Models' snippet is generic Pydantic usage with no Databricks-specific content; and the databricks-apps redirect appears three times (top note, Workflow, Related Skills). This is 'minor instances of over-explanation that could be trimmed' (level 4), not the level-3 anchor's broader unnecessary explanations — the time-sensitive pinned package versions in Quick Reference are borderline but localized.

4 / 5

Actionability

Guidance is copy-paste ready: exact app.yaml commands per framework ('["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"]'), executable auth/SQL-connection code using SDK Config() with the valueFrom pattern, and concrete issue fixes ('psycopg2/asyncpg are NOT pre-installed — MUST add to requirements.txt', 'Apps must bind to DATABRICKS_APP_PORT env var … Never use 8080'). This matches the level-5 anchor: fully executable examples covering the common cases; it exceeds level 4, which tolerates minor gaps.

5 / 5

Workflow Clarity

The Workflow section gives a clear task-type router (new app → load databricks-apps; auth → references/1; resources → references/2; deploy → references/4) and the 'Required Steps' checklist instructs 'Copy this checklist and verify each item', with the Common Issues table serving as error-recovery guidance. That meets 'clear sequence with most checkpoints present; minor validation gaps' (level 4): there is no explicit validate-and-retry loop (e.g., verify deployment succeeded and roll back/fix on failure) inside the body — the deployment verification is delegated to references/4 — so the level-5 anchor's 'explicit validation steps; feedback loops' is not fully met.

4 / 5

Progressive Disclosure

Structure is strong: six reference files, each one level deep and clearly signaled in 'Detailed Guides' with a description plus keywords, plus per-topic routing in the Workflow. But the body twice points to 'this skill's `examples/` folder (`fm-minimal-chat.py`, `fm-parallel-calls.py`, `fm-structured-outputs.py`, `llm_config.py`)' — and no examples/ folder exists in the bundle, a dangling navigation path. That is a 'minor organization gap' (level 4) rather than the level-5 anchor's fully consistent easy navigation.

4 / 5

Total

17

/

20

Passed

Description

100%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

An exemplary description: third-person, information-dense rather than padded, with explicit what/when triggers, framework-name synonyms, and a built-in redirect that cleanly separates it from the sibling Node/TypeScript apps skill. No changes needed.

DimensionReasoningScore

Specificity

The description enumerates concrete capabilities — 'Covers OAuth auth, app resources, SQL warehouse and Lakebase connectivity, foundation-model / Vector Search / model-serving APIs (via `databricks-python-sdk`), and deployment via CLI or DABs' — alongside the full framework list 'FastAPI (default), Flask, Dash, Streamlit, Gradio, Reflex'. This is comprehensive, domain-specific coverage with no vague filler, matching the anchor for multiple specific concrete actions; it exceeds the level-4 anchor, which permits minor coverage gaps.

5 / 5

Completeness

Both questions are explicitly answered: what ('Python backend for Databricks Apps … Covers OAuth auth, app resources, … deployment via CLI or DABs') and when ('Use this skill only when the user asks for a Python backend, extends an existing Python app, or the team is Python-only'). It even adds explicit negative guidance ('Default for a new Databricks App is `databricks-apps` … reach for it first'), making the trigger unambiguous — the level-5 anchor's clear what-AND-when with concrete trigger phrases.

5 / 5

Trigger Term Quality

It captures the natural phrases a user would actually say: framework names as synonyms ('FastAPI', 'Flask', 'Dash', 'Streamlit', 'Gradio', 'Reflex'), 'Python backend', 'Databricks Apps', 'deployment', 'DABs', 'SQL warehouse', 'Vector Search', 'OAuth'. Coverage spans essentially every natural entry point for this domain; it does not sit at level 4, which requires 'a few natural terms missing'.

5 / 5

Distinctiveness Conflict Risk

It carves a clear niche (Python backends only) and actively defuses the biggest overlap risk by redirecting to the sibling skill: 'Default for a new Databricks App is `databricks-apps` (AppKit — Node/TypeScript/React) — reach for it first.' The scope restriction ('only when the user asks for a Python backend') minimizes wrong-skill triggering; it is more distinct than the level-4 anchor's 'minor overlap risk'.

5 / 5

Total

20

/

20

Passed

Validation

87%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 14 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

frontmatter_unknown_keys

Unknown frontmatter key(s) found; consider removing or moving to metadata

Warning

relative_links

Relative link issues: 8 suspicious

Warning

Total

14

/

16

Passed

Repository

databricks/databricks-agent-skills

Path

plugins/databricks/claude/skills/databricks-apps-python/SKILL.md

Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.