Explain, optimise, or translate SQL queries into plain language. Use when asked to explain a SQL query, optimise slow SQL, write a data dictionary, translate SQL to plain English for non-technical stakeholders, or review a query for correctness and performance. Works across PostgreSQL, MySQL, BigQuery, Snowflake, and standard SQL.
This skill explains SQL queries in plain language, identifies optimisation opportunities, and helps communicate data logic to non-technical stakeholders. It also writes and documents new queries from natural language descriptions.
Detect which mode the user needs based on their request:
When given a SQL query, produce:
[1–3 sentences. What does this query do? What data does it return? Write as if explaining to a business analyst, not a developer.]
Break the query into logical sections. For each section:
[Describe the shape of the output: "Returns one row per user, with columns for X, Y, Z. Ordered by [field] descending."]
When asked to optimise a query, produce:
Rate overall: 🟢 Well-optimised / 🟡 Some improvements possible / 🔴 Significant issues
For each issue:
Issue [N]: [Short name, e.g. "Missing index on join column"]
-- Before
[original snippet]
-- After
[improved snippet]
When given a natural language description, generate the SQL query and then explain it using Mode 1.
Ask the user to confirm:
users, orders, user_id)Produce:
When asked to create documentation for a query or table:
Query: [Name]
Purpose: [One sentence — what business question this answers]
Author: [If provided]
Last reviewed: [If provided]
Inputs:
- Table: [table_name] — [what it contains]
- Filter: [any WHERE conditions and their business meaning]
Output columns:
| Column | Type | Description |
|--------|------|-------------|
| [name] | [type] | [plain English description] |
Assumptions:
- [Any implicit assumptions the query makes]
Known limitations:
- [Edge cases not handled, data quality dependencies, etc.]