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.]