What it does: Reads your Supabase tables read only, counts your few key numbers for the last 4 weeks, and tells you what to look at first.
Use it when: Your app runs on Supabase and you don't know if it's growing or slipping each week.
You get: A short report with a number table, the 3 things to look at first, and read only queries you can save and run again each Monday.
You are my numbers helper, a senior data analyst with 12 years of turning small business app data into a one page weekly report the owner reads in two minutes.
Goal: read my Supabase project read only and write this week's "how's the app doing" report, so I know my few key numbers, how they moved since last week and what to look at first.
Context: I run a small business with an app or website that keeps its data in Supabase. I'm not a data person. I need a few honest numbers each week, because I can only fix what I track, and a number with no week to compare it to tells me nothing.
First, check that you can open my Supabase project. Use the connector's read only mode if it has one. Tell me the project name, the tables you found, how many rows each has and which ones have a created date column. If you can't open it, stop and follow the Supabase steps at https://www.simpleai.community/connect/, or ask me to paste a row count and a created date list for each table instead.
Ask me these, then run. Skip any I already answered.
1. Which numbers matter most? (Default: new sign-ups, active users, money in if there is a payments table, and the main thing my app records, like orders, bookings or posts. Pick at most 5 and tell me which tables you used. List the real values in any status column first. Leave out cancelled or deleted rows. For money, count only rows marked paid or succeeded, and take off refunds.)
2. What counts as a week? (Default: the last full Monday to Sunday in my time zone. If you don't know my time zone, use UTC and say so.)
3. Who reads it? (Default: just me. Plain words up top, the queries at the bottom.)
Do this:
1. Read the table layout first. For each number, pick the table and the date column that counts it. If a table has no date column, say it can't be counted by week and leave it out. Change nothing.
2. Write one SELECT query per number that counts each of the last 4 full weeks, the newest one is "this week". Build the dates from today, like date_trunc('week', now() at time zone 'my time zone'), and change the created date to the same time zone. Never use typed in dates, so the same saved query works next Monday. List all 4 weeks even when one has no rows, with a 0, like with generate_series, and keep the week filter in the join so empty weeks stay. Rows with a blank status or user id still count unless they are tests. Every query only reads. No insert, update, delete, alter, drop or truncate anywhere in it, and no function that writes. Run only those.
3. Active users: count the different people who did something in each week, like made a booking, an order or a post, using the user id column in that table. Don't use auth.users last_sign_in_at or a last seen column for past weeks. They only keep each person's latest time, so older weeks come out too low. If no table has a user id and a date, give only "signed in during the last 7 days" as of today, with no week to compare, and say why.
4. Find test users, like emails that start with test or end in @example.com. Count the matches by email domain and check each one looks like a test, not a real person. Then leave out their rows in every table by their user id, not only sign-ups, and say how many you left out.
5. Work out the change for each number: this week minus last week, and the percent. If last week was 0, write "new" and skip the percent.
6. Pick the 3 things to look at first. Money and the main thing my app records come first if they moved, then the biggest drop. A table that stopped growing or a key in plain text always gets a spot. Only call something a drop or a jump if it moved 20 percent or more, and only when last week had at least 10. Say a likely reason only if the data shows it, and mark it "maybe".
7. If something looks broken, like a table that stopped growing, show the read only query that found it, and write a fix as a draft only. Say to test it on a copy first, like a Supabase branch on a paid plan, or a second project with the same tables and a few made up rows. Never run it. If a table holds a key or password in plain text, flag the table and column without the value and say to change that key.
Example of one "look at" line, match this: "Bookings fell from 42 to 29 (down 31 percent). 11 of last week's came on Saturday, this week had 0 on Saturday. Maybe the Saturday slots are off."
Give me 4 parts: a short summary (5 lines or less), a table (number, this week, last week, change, the 4 weeks oldest to newest), the 3 things to look at, and the queries you ran, one per number plus any check query. Write each query out in full so I can save it as is. Keep parts 1 to 3 under 200 words.
Before you show me, check:
- Every number in the report matches the result of a query you ran, and the change math adds up. Money is in the right unit, like cents turned into dollars.
- Every query you ran only reads, with no insert, update, delete, alter, drop or truncate in it.
- This week and last week use the same dates and time zone for every number, and no query has a typed in date.
- No email, name, phone, API key, password or secret shows up anywhere in your answer.
Rules:
- Read only, drafts only. Ask me before you change, delete, migrate, publish or deploy anything in Supabase. Any change gets tested on a copy first.
- Never make up a number, date, reason or trend. Use only what is in my Supabase project and what I tell you.
- Show counts, not people. Keep keys and private columns out of your answer.
- If something is missing, write [check: what is missing] in that spot and keep going.
Last, save these steps as a skill called 'Weekly App Report' in Claude or ChatGPT if you use one. In Supabase, save the queries as saved queries in the SQL editor and run this again every Monday morning.
To run it again, just say: "Run my Weekly App Report skill."You need
Supabase![]()
![]()
Any AITested on sample data
Built on Fanatical Prospecting's rule to know your numbers.
Copilot version
There is no separate Copilot version of this one yet. Paste the prompt above into Microsoft 365 Copilot Chat.
See a real example
Tested on sample data Sample data run (simulated tool).
Watch: no video for this one yet.
AuthorCorey Leon