Build full-stack Databricks applications using APX framework (FastAPI + React).
How this skill is triggered — by the user, by Claude, or both
Slash command
/databricks-ai-dev-kit:databricks-app-apxThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Build full-stack Databricks applications using APX framework (FastAPI + React).
Build full-stack Databricks applications using APX framework (FastAPI + React).
Invoke when user requests:
Do NOT invoke if user specifies: Streamlit, Dash, Node.js, Shiny, Gradio, Flask, or other frameworks.
Option A)
Repository configured for use with APX.
1.. Verify APX MCP available: mcp-cli tools | grep apx
2. Verify shadcn MCP available: mcp-cli tools | grep shadcn
3. Confirm APX project (check pyproject.toml)
Option B) Install APX
brew install uv.brew tap oven-sh/bun
brew install bun
uvx --from git+https://github.com/databricks-solutions/apx.git apx init
Total time: 55-70 minutes
# Start APX development server
mcp-cli call apx/start '{}'
mcp-cli call apx/status '{}'
Create TodoWrite with tasks:
In src/{app_name}/backend/models.py:
Follow 3-model pattern:
EntityIn - Input validationEntityOut - Complete output with computed fieldsEntityListOut - Performance-optimized summarySee backend-patterns.md for complete code templates.
In src/{app_name}/backend/router.py:
Critical requirements:
response_model (enables OpenAPI generation)operation_id (becomes frontend hook name)listX, getX, createX, updateX, deleteXSee backend-patterns.md for complete CRUD templates.
mcp-cli call apx/dev_check '{}'
Fix any Python type errors reported by basedpyright.
Wait 5-10 seconds after backend changes for OpenAPI client regeneration.
# Get shadcn add command
mcp-cli call shadcn/get_add_command_for_items '{
"items": ["@shadcn/button", "@shadcn/card", "@shadcn/table",
"@shadcn/badge", "@shadcn/select", "@shadcn/skeleton"]
}'
Run the command from project root with --yes flag.
List page: src/{app_name}/ui/routes/_sidebar/{entity}.tsx
Detail page: src/{app_name}/ui/routes/_sidebar/{entity}.$id.tsx
See frontend-patterns.md for complete page templates.
In src/{app_name}/ui/routes/_sidebar/route.tsx, add new item to navItems array.
# Type check both backend and frontend
mcp-cli call apx/dev_check '{}'
# Test API endpoints
curl http://localhost:8000/api/{entities} | jq .
curl http://localhost:8000/api/{entities}/{id} | jq .
# Get frontend URL
mcp-cli call apx/get_frontend_url '{}'
Manually verify in browser:
Use DABs to deploy your APX application to Databricks. See the databricks-asset-bundles skill for complete deployment guidance.
Automated log checking with APX MCP:
The APX MCP server can automatically check deployed application logs. Simply ask: "Please check the deployed app logs for "
The APX MCP will retrieve logs and identify issues automatically, including:
[SYSTEM] (deployment) and [APP] (application) logsManual log checking (reference):
For direct CLI access:
databricks apps logs <app-name> --profile <profile-name>
Key patterns to look for:
Deployment successful - App deployed correctlyApp started successfully - Application is runningError: - Check stack traces for issuesCreate two markdown files:
README.md:
CODE_STRUCTURE.md:
listEntities → useListEntities()useXSuspense(selector())lib/api.ts or types/routeTree.gen.tsapx dev check succeeds)Deployed app not working: Ask to check deployed app logs (APX MCP will automatically retrieve and analyze them) or manually use databricks apps logs <app-name>
Python type errors: Use explicit casting for dict access, check Optional fields
TypeScript errors: Wait for OpenAPI regen, verify hook names match operation_ids
OpenAPI not updating: Check watcher status with apx dev status, restart if needed
Components not added: Run shadcn from project root with --yes flag
Read these files only when actively writing that type of code or debugging issues.
npx claudepluginhub salmanmkc/ai-dev-kit --plugin databricks-ai-dev-kitCreates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
4plugins reuse this skill
First indexed Jul 10, 2026