Query Optimize
Requirements
Agent: any (read-only analysis)
Tools used: altimate_core_rewrite (with verify_equivalence: true), sql_analyze, sql_explain, read, glob, schema_inspect, warehouse_list
Analyze SQL queries for performance issues and suggest concrete optimizations including rewritten SQL.
Workflow
Get the SQL query -- Either:
- Read SQL from a file path provided by the user
- Accept SQL directly from the conversation
- Read from clipboard or stdin if mentioned
Determine the dialect -- Default to snowflake. If the user specifies a dialect (postgres, bigquery, duckdb, etc.), use that instead. Check the project for warehouse connections using warehouse_list if unsure.
Run the verified optimizer:
- If the user has a warehouse connection, first call
schema_inspect on the relevant tables to build schema context (needed both for better rewrites — e.g. SELECT * expansion — and to verify equivalence)
- Call
altimate_core_rewrite with the SQL, schema context, and verify_equivalence: true. This proposes rewrites AND proves each one returns the same results as the original in a single step. The result is partitioned into verified-equivalent rewrites (safe to apply) and unverified rewrites (review before applying), so you never recommend a rewrite that silently changes semantics.
Run detailed analysis:
- Call
sql_analyze with the same SQL and dialect to get the full anti-pattern breakdown with recommendations
Get execution plan (if warehouse connected):
- Call
sql_explain to run EXPLAIN on the query and get the execution plan
- Look for: full table scans, sort operations on large datasets, inefficient join strategies, missing partition pruning
- Include key findings in the report under "Execution Plan Insights"
Equivalence verification is built into step 3 (verify_equivalence: true):
- Present the verified-equivalent rewrites as safe to apply.
- Present unverified rewrites separately with their reason ("review before applying") — do not recommend applying these without manual review.
- If no schema was available, all rewrites come back unverified; say so and recommend supplying a schema (or a warehouse connection) to enable verification.
Present findings in a structured format:
Query Optimization Report
=========================
Summary: X suggestions found, Y anti-patterns detected
High Impact:
1. [REWRITE] Replace SELECT * with explicit columns
Before: SELECT *
After: SELECT id, name, email
2. [REWRITE] Use UNION ALL instead of UNION
Before: ... UNION ...
After: ... UNION ALL ...
Medium Impact:
3. [PERFORMANCE] Add LIMIT to ORDER BY
...
Optimized SQL:
--------------
SELECT id, name, email
FROM users
WHERE status = 'active'
ORDER BY name
LIMIT 100
Anti-Pattern Details:
---------------------
[WARNING] SELECT_STAR: Query uses SELECT * ...
-> Consider selecting only the columns you need.
If schema context is available, mention that the optimization used real table schemas for more accurate suggestions (e.g., expanding SELECT * to actual columns).
If no issues are found, confirm the query looks well-optimized and briefly explain why (no anti-patterns, proper use of limits, explicit columns, etc.).
Usage
The user invokes this skill with SQL or a file path:
/query-optimize SELECT * FROM users ORDER BY name -- Optimize inline SQL
/query-optimize models/staging/stg_orders.sql -- Optimize SQL from a file
/query-optimize -- Optimize the most recently discussed SQL in the conversation
Use the tools: altimate_core_rewrite with verify_equivalence: true (proposes rewrites AND proves they preserve results in one step), sql_analyze, sql_explain (execution plans), read (for file-based SQL), glob (to find SQL files), schema_inspect (for schema context), warehouse_list (to check connections).
1---2name: query-optimize3description: Analyze and optimize SQL queries for better performance4---56# Query Optimize78## Requirements9**Agent:** any (read-only analysis)10**Tools used:** altimate_core_rewrite (with `verify_equivalence: true`), sql_analyze, sql_explain, read, glob, schema_inspect, warehouse_list1112Analyze SQL queries for performance issues and suggest concrete optimizations including rewritten SQL.1314## Workflow15161. **Get the SQL query** -- Either:17 - Read SQL from a file path provided by the user18 - Accept SQL directly from the conversation19 - Read from clipboard or stdin if mentioned20212. **Determine the dialect** -- Default to `snowflake`. If the user specifies a dialect (postgres, bigquery, duckdb, etc.), use that instead. Check the project for warehouse connections using `warehouse_list` if unsure.22233. **Run the verified optimizer**:24 - If the user has a warehouse connection, first call `schema_inspect` on the relevant tables to build schema context (needed both for better rewrites — e.g. SELECT * expansion — and to verify equivalence)25 - Call `altimate_core_rewrite` with the SQL, schema context, and **`verify_equivalence: true`**. This proposes rewrites AND proves each one returns the same results as the original in a single step. The result is partitioned into **verified-equivalent** rewrites (safe to apply) and **unverified** rewrites (review before applying), so you never recommend a rewrite that silently changes semantics.26274. **Run detailed analysis**:28 - Call `sql_analyze` with the same SQL and dialect to get the full anti-pattern breakdown with recommendations29305. **Get execution plan** (if warehouse connected):31 - Call `sql_explain` to run EXPLAIN on the query and get the execution plan32 - Look for: full table scans, sort operations on large datasets, inefficient join strategies, missing partition pruning33 - Include key findings in the report under "Execution Plan Insights"34356. **Equivalence verification is built into step 3** (`verify_equivalence: true`):36 - Present the **verified-equivalent** rewrites as safe to apply.37 - Present **unverified** rewrites separately with their reason ("review before applying") — do not recommend applying these without manual review.38 - If no schema was available, all rewrites come back unverified; say so and recommend supplying a schema (or a warehouse connection) to enable verification.39407. **Present findings** in a structured format:4142```43Query Optimization Report44=========================4546Summary: X suggestions found, Y anti-patterns detected4748High Impact:49 1. [REWRITE] Replace SELECT * with explicit columns50 Before: SELECT *51 After: SELECT id, name, email5253 2. [REWRITE] Use UNION ALL instead of UNION54 Before: ... UNION ...55 After: ... UNION ALL ...5657Medium Impact:58 3. [PERFORMANCE] Add LIMIT to ORDER BY59 ...6061Optimized SQL:62--------------63SELECT id, name, email64FROM users65WHERE status = 'active'66ORDER BY name67LIMIT 1006869Anti-Pattern Details:70---------------------71 [WARNING] SELECT_STAR: Query uses SELECT * ...72 -> Consider selecting only the columns you need.73```74758. **If schema context is available**, mention that the optimization used real table schemas for more accurate suggestions (e.g., expanding SELECT * to actual columns).76779. **If no issues are found**, confirm the query looks well-optimized and briefly explain why (no anti-patterns, proper use of limits, explicit columns, etc.).7879## Usage8081The user invokes this skill with SQL or a file path:82- `/query-optimize SELECT * FROM users ORDER BY name` -- Optimize inline SQL83- `/query-optimize models/staging/stg_orders.sql` -- Optimize SQL from a file84- `/query-optimize` -- Optimize the most recently discussed SQL in the conversation8586Use the tools: `altimate_core_rewrite` with `verify_equivalence: true` (proposes rewrites AND proves they preserve results in one step), `sql_analyze`, `sql_explain` (execution plans), `read` (for file-based SQL), `glob` (to find SQL files), `schema_inspect` (for schema context), `warehouse_list` (to check connections).