
Trust your product data. Live in one click.
Product analytics in your own Supabase, working with any dashboard you use. Skene runs as a GitHub Action on every pull request: it adds the events you're missing and catches a broken one in a PR comment, before the merge and while the data's still recoverable.
The problem
You can't get today's data back tomorrow.
Early on, analytics is handled, for now. You ship features, your agent rewrites the code that writes the events, and one checkout insert quietly gets renamed in a green PR. Nothing errors. The Supabase table just stops filling, and no one notices for weeks.
Then it bites. You're three slides into a board deck defending an activation number you can't personally verify, and the funnel has gone flat. An engineer burns a sprint and finds the break. You can patch the code tomorrow. You can't get back the weeks of data it was broken. That cohort is gone for good, and the decision already went out the door.
Skene catches that break on the pull request, in the same place you already review code, while it's still a comment and the data is still recoverable. The gate sits outside the agent that wrote the code, reads your schema read-only, and your data stays in your own Supabase. Setup takes under ten minutes.
Analytics live in your own Supabase.
Connect once. Skene adds the tracking you're missing, right into the database you already own.
- Connect your repo and Supabase, read-only
- Adds the events you're missing, indexed against your schema, and checks each one fits a table
- Your data stays in your Supabase, never moved or copied
- Checks each PR against its preview branch, via Supabase branching
This may take a few minutes. Stay on this page to see live pipeline updates.
| SIGNAL | TYPE | FOUND AT | STATUS |
|---|---|---|---|
| Account Created | Supabase | public.accounts | Can be tracked (DB) |
| Signup Page Viewed | GitHub | app/admin/(auth)/login/page.tsx | Recommended |
| Signup Form Submitted | GitHub | app/admin/(auth)/login/page.tsx | Recommended |
| Auth User Created | Supabase | auth.users | Can be tracked (DB) |
| auth.users.insert | GitHub | – | Can be tracked (DB) |
| user creates an account record | GitHub | – | Can be tracked (DB) |
Analytics diff detected
Tracking that doesn't quietly break.
Every way a code change can quietly drop an event. Caught on the pull request that caused it.
- Tracking your code stopped recording, or renamed so it no longer lands
- Data shaped wrong, so your database silently drops it
- Tracking that used to fire but stopped, for some users or some flows
- Flagged as a PR comment, not weeks later
Works with any dashboard. Tells you what pays.
Skene feeds the dashboard you already use, and answers the questions that move revenue.
- Point any dashboard or BI tool at your own Supabase
- Or ask the questions that move revenue from inside your coding agent, over MCP. No new dashboard to build
- Skene gives the answer, not another chart to babysit
- Turnkey dollar-revenue viewRoadmap
Schema mismatch detected
Numbers you can defend. Checked on every pull request.
One GitHub Action adds the tracking you're missing, then guards it on every pull request. It reads your Supabase schema read-only, so when an agent's refactor breaks a checkout insert, you hear about it in the PR comment, not three weeks later when the funnel goes flat. Then ask your coding agent for the paths and cohorts that pay.
Four ways to plug Skene in.
Ask questions from your coding agent (MCP server). Run it on every pull request (GitHub Action). Call it from your own scripts (Cloud API). Or start with a one-time check of your repo.
Same engine behind each.
Separation of duties
The agent writes the tracking. It should not grade its own work.
An agent checking the tracking it just wrote is the conflict of interest the check exists to remove. Skene runs alongside Cursor, Claude Code, and Codex, not inside them. The gate sits outside the tool that made the change: it reads the diff against your Supabase schema, sees a write stop landing in its table, and leaves the verdict as a PR comment. The reviewer answers to your schema, not to the agent it is reviewing.
It is not a dashboard you babysit or a copy of your data. Your data stays in your database. Skene owns the gate, and the trusted record you query over MCP for what drives revenue.
Built in the open,
with our design partners.
Patch the code tomorrow. The data from this week is already gone.
A renamed event passes every test, ships green, and sits broken for weeks before anyone notices. Skene runs as a GitHub Action on every pull request, reads your Supabase schema read-only, and comments the moment a write breaks, while your data is still recoverable. Usage-based on tokens, with $5 of free cloud credit to start. A PR that touches none of your tracking costs nothing.
Catch the break on the PR, or lose the cohort for good.
Miss a tracking break and you lose weeks of data you can't backfill. Local use stays free, no card. Cloud and CI are usage-based, and a PR that touches no tracking code costs nothing.
1.5M monthly tokens
- Local MCP server
- GitHub Action with PR comments
- Cloud validation API
- 1.5M monthly tokens
6M monthly tokens
- Local MCP server
- GitHub Action with PR comments
- Cloud validation API
- 6M monthly tokens (4x Pro)
15M monthly tokens
- Local MCP server
- GitHub Action with PR comments
- Cloud validation API
- 15M monthly tokens (10x Pro)
- Priority support