BigQuery · monthly active users for 2026 · events(user_id, event_name, event_ts)
You get
MAU = distinct users with any event in the calendar month (UTC).
SELECT DATE_TRUNC(DATE(event_ts), MONTH) AS month, COUNT(DISTINCT user_id) AS mau FROM events WHERE event_ts >= '2026-01-01' GROUP BY month ORDER BY month;
Sanity check: no month should exceed total sign-ups to date.
About this skill
About SQL from plain English
Simple business questions wait in the data team's queue because few people can write SQL. This skill turns a plain-English question into a correct, commented query for your database — PostgreSQL, MySQL, BigQuery or Snowflake. It first restates the question as a precise metric definition, because most wrong numbers come from vague definitions rather than bad syntax. It lists its assumptions about time zones, duplicates, nulls and what counts as 'active', and gives a sanity check to run on the result. It never invents a column; if one is missing, it asks.
SQL from plain English — example input and the first lines it returns. Works in ChatGPT, Claude and Gemini.
2 Paste it into a new chatChatGPT, Claude, Gemini or Copilot.
3 Send your inputSend your question in plain English.
The skill — paste this into your AI assistant
# Skill: SQL from plain English
You are running the "SQL from plain English" skill for me. I work as: Data / business analyst. What I need from you: a correct, commented SQL query for my database, with the assumptions it makes spelled out.
## When I send you my question in plain English, the table and column names, and my database (PostgreSQL, MySQL, BigQuery, Snowflake)
1. Restate the question as a precise metric definition.
2. Write the query in the right dialect with comments.
3. List assumptions (time zone, duplicates, nulls, what counts as active).
4. Give a quick sanity check to run on the result.
## Reply in this format
- Metric definition
- SQL (code)
- Assumptions
- Sanity check
## Rules
- Never invent columns: ask if a needed column isn't listed.
- Use explicit JOINs and date ranges.
- Use only the facts I give you; mark anything you had to assume with [ASSUMPTION].
- If something essential is missing, ask me one short question, then continue.
- No preamble or filler: start with the result.
Confirm you're ready in one line, then wait for me to send my question in plain English, the table and column names, and my database (PostgreSQL, MySQL, BigQuery, Snowflake).
Then sendYour question in plain English, the table and column names, and your database (PostgreSQL, MySQL, BigQuery, Snowflake). For example: BigQuery · monthly active users for 2026 · events(user_id, event_name, event_ts)
ChatGPT
Fastest: paste the skill as your first message in a new chat, then send your input.
To keep it: open a Project, choose Instructions (or Settings → Personalization → Custom instructions for every chat) and paste it there.
To share it with a team: create a custom GPT and paste the skill into its Instructions.
In the Codex app: copy the skill's folder into ~/.codex/skills/ (or Customize → Skills → Add → Create skill).
Claude
Fastest: paste the skill as your first message in a new chat, then send your input.
To keep it: create a Project, open Project instructions and paste the skill.
As a Claude Skill: download the skill's ZIP, then in Claude open Settings → Skills → Add → Upload skill and choose the file.
Gemini
Fastest: paste the skill as your first message in a new chat, then send your input.
To keep it: open Gems → New Gem, paste the skill into Instructions and save.
Microsoft Copilot
Fastest: paste the skill as your first message, then send your input.
In Microsoft 365 Copilot, save it as a prompt or paste it into an agent's instructions to reuse it.
Any other assistant
Paste the skill as the system prompt or first message in any chat assistant (Perplexity, Meta AI, DeepSeek, Mistral, local models).
Coding agents that read the Agent Skills format (SKILL.md) can load the downloaded file from their skills folder.
Install it permanently
Upload it to Claude, add it to ChatGPT's Codex app, clone it into Claude Code, or download the SKILL.md for any agent. Full guide with screenshots →
Download the ZIP and upload it in Claude. Claude then uses the skill on its own whenever a request matches.
Claude Code: save it as ~/.claude/skills/sql-from-plain-english/SKILL.md.
Claude apps: use the Claude app tab — it has a ready-made ZIP.
Other agents: place the folder wherever your tool loads Agent Skills from.
Repositoryscienceofapps.com/skills/ai-skills.git · all 200 skills, one folder each, plain git over HTTPS
What it does
The steps it follows
Restate the question as a precise metric definition.
Write the query in the right dialect with comments.
List assumptions (time zone, duplicates, nulls, what counts as active).
Give a quick sanity check to run on the result.
What you get back
The reply format
Metric definition
SQL (code)
Assumptions
Sanity check
Rules it never breaks
Never invent columns: ask if a needed column isn't listed.
Use explicit JOINs and date ranges.
Uses only the facts you give it and marks assumptions.
FAQs
Questions about SQL from plain English
What does the SQL from plain English skill do?
Simple business questions wait days in the data team's queue because nobody else can write SQL. The skill fixes that: a correct, commented SQL query for your database, with the assumptions it makes spelled out.
How do I install SQL from plain English in ChatGPT, Claude or Gemini?
Copy the skill and paste it as the first message of a new chat, then send your input. To keep it, paste it into a ChatGPT Project or custom GPT, a Claude Project or a Gemini Gem, or upload the SKILL.md file as a Claude Skill.
What do I send SQL from plain English after installing it?
Send your question in plain English, the table and column names, and your database (PostgreSQL, MySQL, BigQuery, Snowflake). If something essential is missing, the skill asks you one short question and then continues.
Is the SQL from plain English skill free?
Yes. It's free to copy, use and adapt, with no sign-up, and works in the free versions of ChatGPT, Claude, Gemini and Copilot.
60 research-backed principles in 6 categories — what each one means, why it works on the human brain and how to use it on your own screens. Written by Sushant Singh, founder of Science of Apps, who has scaled consumer apps to lacs of users and spent 10+ years leading product across startups and digital businesses in the US, EU & India.
Free. No card, no paywall — just your email.
Free PDF · 90 pages · 2 editions
100+ Subscription Paywalls, decoded
110 real paywalls from top apps, taken apart, rated out of 5 and decoded with the Laws of UX — plus the frameworks, copy and checklists to ship your own. By Sushant Singh, founder of Science of Apps.
110 paywalls rated
34 Laws of UX
12 frameworks
Which paywall scored 4.8 out of 5, and which scored 2.6? It’s all inside.