mirror of
https://github.com/phuryn/pm-skills.git
synced 2026-06-10 21:44:56 +03:00
2.8 KiB
2.8 KiB
description, argument-hint
| description | argument-hint |
|---|---|
| Generate SQL queries from natural language — supports BigQuery, PostgreSQL, MySQL, and more | <what you want to know, in plain English> |
/write-query -- SQL Query Generator
Describe what data you need in plain English and get an optimized SQL query. Supports multiple dialects and can read your schema from uploaded files.
Invocation
/write-query Show me daily active users for the last 30 days, broken down by plan tier
/write-query Find users who signed up last month but never completed onboarding
/write-query [upload a schema diagram] What's the conversion rate from trial to paid by cohort?
Workflow
Step 1: Understand the Question
Parse the user's natural language request to identify:
- What data is being requested (metrics, dimensions, filters)
- Time range and granularity
- Grouping and ordering preferences
- Output expectations (raw data, aggregated, ranked)
Step 2: Determine Schema
If a schema is available (uploaded diagram, DDL, or description):
- Map the request to specific tables and columns
- Identify necessary joins
If no schema is provided:
- Ask for the database type (BigQuery, PostgreSQL, MySQL, etc.)
- Infer a reasonable schema from the question and ask the user to confirm
- Use common SaaS data model conventions as defaults
Step 3: Generate Query
Apply the sql-queries skill:
- Write the SQL query in the correct dialect
- Optimize for readability and performance
- Include comments explaining key logic
- Add CTEs for complex queries to improve readability
- Handle edge cases (NULLs, timezone considerations, duplicate handling)
Step 4: Present and Iterate
## SQL Query: [What It Does]
**Dialect**: [BigQuery / PostgreSQL / MySQL / etc.]
**Tables used**: [list]
### Query
[SQL code block with comments]
### What This Returns
[Description of the output: columns, rows, expected result shape]
### Assumptions
- [Schema assumptions made]
- [Business logic assumptions]
### Notes
- [Performance considerations for large datasets]
- [Edge cases handled or flagged]
Offer:
- "Want me to modify this — add filters, change grouping, extend the time range?"
- "Should I create a companion query for a related metric?"
- "Want me to build a dashboard around this query?"
- "Need a cohort analysis version of this?"
Notes
- Always include comments in the SQL — PMs share queries with analysts who need to understand intent
- Default to readable over clever — CTEs over nested subqueries
- Flag queries that might be slow on large datasets and suggest optimization
- If the request is ambiguous (e.g., "active users"), ask the user to define the metric precisely
- Offer to generate the query in multiple dialects if the user is unsure which database they're using