Skip to main content

sql-correctness

SQL evaluation criteria for Databricks. Load when the trace contains execute_sql tool calls or SQL code in responses. Covers syntax validity, Unity Catalog patterns, and Databricks-specific SQL features.

Source facts

Repository
databricks-solutions/ai-dev-kit
Last source activity
March 16, 2026 at 17:21
Detected SKILL.md language
English
Stars
1,974
Forks
431

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
sql-correctness
description
SQL evaluation criteria for Databricks. Load when the trace contains execute_sql tool calls or SQL code in responses. Covers syntax validity, Unity Catalog patterns, and Databricks-specific SQL features.
metadata
{"category":"evaluation","version":"1.0","applies_to":["sql"]}
## SQL Correctness Rubric When evaluating SQL in agent traces, check these dimensions: ### 1. Unity Catalog Namespace - Must use 3-level namespace: `catalog.schema.table` - Never use unqualified table names - Catalog/schema should match the user's context (not hardcoded `main.default` unless appropriate) ### 2. Modern DDL Syntax - Use `CREATE OR REPLACE` instead of `DROP IF EXISTS` + `CREATE` - Use `ALTER TABLE ... SET TBLPROPERTIES` for table properties - Use `COMMENT ON` for documentation ### 3. Tool Selection - Must use `mcp__databricks__execute_sql` for SQL execution - Must NOT use `Bash` with `databricks sql` CLI as a workaround - Must NOT use notebook execution for simple queries ### 4. Databricks SQL Features - Use Delta-specific syntax where appropriate (MERGE INTO, OPTIMIZE, VACUUM) - Use `IDENTIFIER()` function for dynamic table references - Use `SELECT * FROM read_files()` for file ingestion, not COPY INTO (unless streaming) ### 5. Syntax Validity - SQL must be syntactically valid for Databricks SQL (Spark SQL dialect) - String literals use single quotes, identifiers use backticks if needed - Semicolons at statement boundaries ### 6. Safety - No string interpolation for user-provided values in SQL - Use parameterized queries where applicable - No `DROP` operations unless explicitly requested See [detailed patterns](references/DATABRICKS_SQL_PATTERNS.md) for specific syntax examples.
View on GitHub