# Skene > Product analytics in your own Supabase that work with any dashboard you use. Skene adds the tracking you are missing and keeps the events you have from breaking: it reads the events your code writes into Supabase, builds an index of every write and the table it lands in, and flags removed, renamed, or broken event writes on every PR before it merges. Skene is not a coding agent. It runs alongside Cursor, Claude Code, Codex, and Devin as an independent check. It is also not a dashboard you babysit, a CDP, or an instrumentation library: your data stays in your own Supabase. Skene validates that the events your code writes into it still fire and still match your schema after the next PR. Four product surfaces: an MCP server for the coding agent, a GitHub Action for CI, a cloud validation API, and a one-time CLI repo audit. This file is a machine-readable index. For the expanded plain-text corpus, see [/llms-full.txt](/llms-full.txt). ## Company & trust - [About Skene](https://www.skene.ai/about): Three Helsinki co-founders, €800K pre-seed in 2025, why they built a checkpoint for coding agents. - [Editorial standards](https://www.skene.ai/editorial): Authorship, fact-checking, AI-assistance disclosure, corrections policy. - [Contact](https://www.skene.ai/contact): support@skene.ai, Helsinki office, GitHub issues and discussions. - [Privacy](https://www.skene.ai/privacy): Data handling policy. - [Terms](https://www.skene.ai/terms): Service terms. ## Product - [Product overview](https://www.skene.ai/product): What Skene is, how it fits in an agent-driven dev workflow. - [How it works](https://www.skene.ai/product/how-it-works): Three steps: setup, the PR check, the fix. - [What Skene catches](https://www.skene.ai/product/features): Five failure modes: removed events, renamed columns, moved events, altered payloads, conditional firing changes. - [Architecture](https://www.skene.ai/product/architecture): Parser, indexer, comparator, reporter. Static analysis with a baseline and a semantic diff. - [Integrations](https://www.skene.ai/product/integrations): Data store (Supabase, read-only over OAuth), coding agents (Cursor, Claude Code, Codex, Devin), CI (GitHub Actions), repo hosts (GitHub, GitLab, Bitbucket). - [Security](https://www.skene.ai/product/security): Per-surface trust model. Local MCP and CLI never see code leave the dev machine; GitHub Action runs in your own CI; cloud API is opt-in with isolated workspaces. - [Pricing](https://www.skene.ai/pricing): Free for local MCP and repo audit. Usage-based for cloud and GitHub Action: $29/mo for 1.5M tokens, $99 for 6M, $199 for 15M. ## Documentation - [Documentation hub](https://www.skene.ai/resources/docs): Docs for the Skene CLI and Skene Cloud. - [Skene CLI](https://www.skene.ai/resources/docs/skene): CLI toolkit for analyzing codebases through the lens of product-led growth: growth features, growth plans, and pushing growth loops to Skene Cloud. - [Skene Cloud](https://www.skene.ai/resources/docs/cloud): Hosted platform: connect your Supabase project, analyze your schema, define growth features, and deploy database triggers. ## Glossary - [Glossary index](https://www.skene.ai/resources/glossary): Terms for analytics instrumentation, drift, and validation. - [Analytics call](https://www.skene.ai/resources/glossary/analytics-call): A statement in your code that records an event. In a Supabase-first setup, a write into a Postgres table, like `supabase.from('events').insert(...)`. - [Event name](https://www.skene.ai/resources/glossary/event-name): The string identifier passed to an analytics call, used to group occurrences of the same thing on a dashboard. - [Payload (event properties)](https://www.skene.ai/resources/glossary/payload): The object you write alongside the event name, carrying contextual properties that land on the event row in your database. - [Identify call](https://www.skene.ai/resources/glossary/identify-call): The call that ties subsequent events to a known user identity, typically by mapping an anonymous ID to a real user ID. - [Event taxonomy](https://www.skene.ai/resources/glossary/event-taxonomy): The set of event names and properties a product agrees to emit, and the rules for naming them. - [Instrumentation surface](https://www.skene.ai/resources/glossary/instrumentation-surface): The total set of analytics calls in a codebase. The thing Skene reads, indexes, and watches for drift. - [Baseline manifest](https://www.skene.ai/resources/glossary/baseline-manifest): The recorded state of an instrumentation surface at a point in time, used as the comparison point for future PRs. - [Instrumentation drift](https://www.skene.ai/resources/glossary/instrumentation-drift): Unintended changes to analytics calls between two states of a codebase. Often introduced by refactors or coding agents. - [Semantic diff](https://www.skene.ai/resources/glossary/semantic-diff): A diff between two states that compares meaning, not text. The kind of diff Skene runs on instrumentation manifests. - [Removed event](https://www.skene.ai/resources/glossary/removed-event): An analytics call that existed in the previous version of the codebase and no longer exists in the new one. - [Renamed event](https://www.skene.ai/resources/glossary/renamed-event): An analytics event whose name string changes between two states of the codebase, splitting funnels across two names. - [Moved event](https://www.skene.ai/resources/glossary/moved-event): An analytics call that still exists in the codebase but now fires from a different control-flow context than before. - [Altered payload](https://www.skene.ai/resources/glossary/altered-payload): A change to the properties object of an analytics call: renamed key, dropped key, or changed type. - [Conditional firing change](https://www.skene.ai/resources/glossary/conditional-firing-change): A change to the if-block guarding an event. The event still fires, but for a different set of users or sessions. - [Customer Data Platform (CDP)](https://www.skene.ai/resources/glossary/cdp): A tool that ingests events from your app and fans them out to multiple downstream destinations. Segment, RudderStack, Hightouch Events. - [Schema registry](https://www.skene.ai/resources/glossary/schema-registry): A central catalogue of event names and payload shapes that an analytics team agrees to. Sometimes called a tracking plan. - [MCP (Model Context Protocol)](https://www.skene.ai/resources/glossary/mcp): An open protocol for letting AI agents call out to external tools. Skene exposes its validation engine as an MCP server. - [Coding agent](https://www.skene.ai/resources/glossary/coding-agent): An AI tool that reads and writes code: Cursor, Claude Code, Codex, Devin, Aider. The category Skene is built to live alongside. - [Side effect](https://www.skene.ai/resources/glossary/side-effect): Code that affects something outside the function it lives in. Analytics calls are side effects. So are logs, emails, and metric increments. - [Funnel](https://www.skene.ai/resources/glossary/funnel): A sequence of events users move through. The chart most teams check daily; the chart most affected by instrumentation drift. - [Conversion event](https://www.skene.ai/resources/glossary/conversion-event): An event that represents a desired outcome - usually tied to revenue. The most expensive thing to lose instrumentation on. - [Activation event](https://www.skene.ai/resources/glossary/activation-event): The event that marks when a new user reaches first value. Usually one of the most-watched metrics in product orgs. - [Cohort](https://www.skene.ai/resources/glossary/cohort): A group of users defined by a shared property or behaviour. Most retention analysis runs on cohorts. ## Playbooks - [All playbooks](https://www.skene.ai/resources/playbooks): Audit, set up, recover, validate. - [Audit your current event taxonomy](https://www.skene.ai/resources/playbooks/audit-your-event-taxonomy): Before you can stop instrumentation from drifting, you need to know what you have. A one-time audit produces a manifest that every later decision can sit on top of. - [Set up Skene for a Supabase codebase](https://www.skene.ai/resources/playbooks/set-up-skene-for-supabase): Step-by-step for repos that write events into Supabase. Covers the MCP install, the GitHub Action, and how to baseline the existing surface. - [Fix dashboards that have already drifted](https://www.skene.ai/resources/playbooks/fix-dashboards-that-have-drifted): Recovery playbook. When you discover the funnel has been wrong for weeks, here is the order of operations to get back to honest data. - [Validate analytics in CI as part of code review](https://www.skene.ai/resources/playbooks/validate-analytics-in-ci): Treat instrumentation drift like any other code regression: caught on the PR, fixed before merge, reviewed by humans on the same surface they review everything else. - [Catch instrumentation breakage from coding agents](https://www.skene.ai/resources/playbooks/catch-instrumentation-breakage-from-coding-agents): When the agent is writing the code, the agent is the first reviewer. The earlier Skene's signal reaches the agent, the cheaper the fix. - [Migrate from one analytics tool to another without losing fidelity](https://www.skene.ai/resources/playbooks/migrate-analytics-tools-without-losing-fidelity): Moving events from one backend to another, including into your own Supabase. The hard part is not the SDK swap; it is not silently losing or renaming events along the way. ## Blog - [Blog index](https://www.skene.ai/resources/blog): All Skene posts. - [Supabase Pipelines is faithful. Your tracking has to be too.](https://www.skene.ai/resources/blog/supabase-pipelines-tracking-integrity): Supabase Pipelines replicates your Postgres to BigQuery faithfully, schema changes and all. That faithfulness is the point, and the risk: it will carry a broken event rename straight to the warehouse, looking healthy at every hop. Four worked examples, and where Skene catches each one on the pull request. - [Product analytics that live in your own Supabase](https://www.skene.ai/resources/blog/product-analytics-in-your-own-supabase): A technical walkthrough of how Skene puts product analytics inside your own Supabase project: raw events in an Analytics Bucket (Iceberg/Parquet) via a DuckDB ingest path, a lifecycle map built from your repo and schema, and a check that runs on every pull request so the tracking stops going quietly wrong. - [Analytics is not retroactive](https://www.skene.ai/resources/blog/analytics-isnt-retroactive): Coding agents rewrite the lines that record your events as a side effect of every feature. Skene runs on every pull request, reads your Supabase schema read-only, and catches the break while the data is still recoverable. - [Skene Welcomes Supabase to Helsinki](https://www.skene.ai/resources/blog/skene-welcomes-supabase-to-helsinki-finland-tech-scene): Skene Welcomes Supabase to Helsinki by launching a Supabase community events in Helsinki - [Why Custom Event Tracking Makes or Breaks Product Growth](https://www.skene.ai/resources/blog/custom-event-tracking-product-growth): Product growth dies when custom events break silently. Here's why tracking user actions matters more than vanity metrics and how to protect your data. - [How to Speed Up Development (Without Breaking Everything)](https://www.skene.ai/resources/blog/speed-up-development-without-breaking-everything): Practical strategies to accelerate development speed without sacrificing code quality. Real tactics from founders who ship fast and maintain stable products. - [How Skene Helped CelX Build V1 and Pivot from SaaS to Agents-as-a-Service](https://www.skene.ai/resources/blog/celx-plg-case-study): A three-run case study: CelX used Skene as a continuous build loop to fix onboarding leakage, harden security for agentic execution, and pivot from seat-based SaaS to outcome-based Agents-as-a-Service. - [How redesigning Pitchkit's creation page cut time to first pitch by 59%](https://www.skene.ai/resources/blog/pitchkit-creation-page-redesign): Pitchkit's fastest creation method (URL generation) was buried as one of four equal links. Only 12% of users tried it. I promoted it to hero, added progress animations, and switched to a card layout. Completion went from 38% to 58%. - [How Skene's PLG analysis helped Pitchkit cut first-pitch drop-off by 34%](https://www.skene.ai/resources/blog/pitchkit-plg-case-study): I ran Skene's PLG skills on my pitch deck builder. The analysis found decision paralysis on the creation page. I built a 4-step onboarding survey based on the recommendations. First-pitch completion jumped 34%. - [AI onboarding tools compared: what actually works in 2026](https://www.skene.ai/resources/blog/ai-onboarding-tools-comparison): An honest comparison of AI-powered onboarding tools for SaaS in 2026, covering features, pricing, and which type of team each tool fits. - [SaaS onboarding checklist template (2026): from signup to activation](https://www.skene.ai/resources/blog/saas-onboarding-checklist-template): A ready-to-use SaaS onboarding checklist template covering every step from signup to activation, with examples and metrics. - [What is activation rate and how to improve it (with 2026 benchmarks)](https://www.skene.ai/resources/blog/activation-rate-benchmarks-improvement): Everything you need to know about activation rate: how to define, measure, and improve it, with benchmark data by product type. - [Churn prediction for SaaS: how to spot at-risk accounts before they leave](https://www.skene.ai/resources/blog/churn-prediction-product-signals): How to identify at-risk SaaS accounts using product usage signals, support data, and engagement patterns before they churn. - [Developer onboarding: how to get developers to first API call in under 5 minutes](https://www.skene.ai/resources/blog/developer-onboarding-guide): Patterns from Stripe, Twilio, and Vercel for developer onboarding that gets developers to their first API call in minutes, not hours. - [Reverse trial strategy: when freemium beats free trial (and vice versa)](https://www.skene.ai/resources/blog/reverse-trial-strategy): A decision framework for choosing between reverse trials, freemium, and free trials in your PLG pricing strategy. - [How to define product-qualified leads (PQLs) for your SaaS product](https://www.skene.ai/resources/blog/how-to-define-pql-criteria): Step-by-step guide to defining PQL criteria, building a scoring model, and routing product-qualified leads to sales effectively. - [How to reduce time-to-value in SaaS onboarding (with examples)](https://www.skene.ai/resources/blog/time-to-value-saas-onboarding): A practical framework for measuring and reducing time-to-value in SaaS onboarding, with real examples from fast-growing companies. - [Self-serve onboarding without a CS team: the complete playbook](https://www.skene.ai/resources/blog/self-serve-onboarding-without-cs-team): How to build effective self-serve onboarding when you have no customer success team. A playbook for early-stage SaaS with zero CS headcount. - [Expansion revenue playbook: how top SaaS companies grow 40%+ from existing customers](https://www.skene.ai/resources/blog/expansion-revenue-playbook): Learn how top SaaS companies drive 40%+ of new ARR from expansion revenue. Frameworks for upsells, cross-sells, and usage-based growth. - [Product-led sales: how to add sales to your PLG motion without killing self-serve](https://www.skene.ai/resources/blog/product-led-sales-guide): A guide to implementing product-led sales (PLS) alongside your PLG motion. Learn when to layer in sales, how to define PQLs, and avoid killing self-serve. - [Usage-based pricing for SaaS: how to implement with Chargebee, Stripe, or Paddle](https://www.skene.ai/resources/blog/usage-based-pricing-implementation-guide): A practical guide to implementing usage-based pricing in your SaaS product, comparing Chargebee, Stripe, and Paddle for metering and billing. - [Retention loops vs growth loops: which to build first](https://www.skene.ai/resources/blog/retention-loops-vs-growth-loops): A decision framework for choosing between retention loops and growth loops in your PLG motion, with design templates and real examples. - [Stalled accounts: how to re-engage users who stopped onboarding](https://www.skene.ai/resources/blog/stalled-accounts-reengagement-playbook): A practical playbook for identifying and re-engaging stalled SaaS accounts that stopped onboarding midway, with email sequences and product signals. - [The PLG metrics dashboard: 12 metrics every product-led team should track](https://www.skene.ai/resources/blog/plg-metrics-dashboard): The 12 essential product-led growth metrics you should track, with benchmarks and a framework for building your PLG dashboard. - [BoxyHQ SaaS Starter Kit Review: PLG Audit 2026](https://www.skene.ai/resources/blog/plg-analysis-boxyhq-saas-starter-kit): Is the BoxyHQ SaaS Starter Kit good for product-led growth? We audited signup, feature gating, analytics, and billing. Score: 4.2/10 for PLG. Strong enterprise features (SAML, SCIM), but no plan-based gating or trials. - [ixartz SaaS Boilerplate scored 3/10 for PLG. Here is why.](https://www.skene.ai/resources/blog/plg-analysis-ixartz-saas-boilerplate): We audited the popular ixartz/SaaS-Boilerplate against ten product-led growth criteria. Free version lacks checkout, trials, and analytics. Pro pricing locks the parts you need to grow. Full breakdown plus what to use instead. - [JustShip SvelteKit Boilerplate Review: PLG Audit 2026](https://www.skene.ai/resources/blog/plg-analysis-justship-sveltekit): Is JustShip good for product-led growth? We audited signup, feature gating, analytics, and billing. Score: 2/10 for PLG. Clean auth with PostHog, but Stripe webhooks don't save to database and no feature gating exists. - [Launch MVP Review: Best Supabase SaaS Starter PLG Audit 2026](https://www.skene.ai/resources/blog/plg-analysis-launch-mvp-supabase): Is Launch MVP the best Supabase starter for SaaS? Highest PLG score (5.9/10) with working trials, onboarding, and PostHog analytics. See the full audit and what needs enabling. - [Nextbase Review: Next.js 16 + Supabase Starter PLG Audit 2026](https://www.skene.ai/resources/blog/plg-analysis-nextbase-supabase-starter): Is Nextbase good for SaaS? We audited signup flow, auth, and database schema. Best signup (8/10) among Supabase starters but zero monetization. Score: 3.2/10 for PLG. See what's missing. - [Saasfly Boilerplate Review: PLG Audit 2026](https://www.skene.ai/resources/blog/plg-analysis-saasfly): Is Saasfly good for product-led growth? We audited signup, feature gating, analytics, and billing. Score: 4/10 for PLG. Has PostHog and Stripe, but feature limits aren't enforced: code is commented out. - [SvelteKit Supabase SaaS Starter Review: PLG Audit 2026](https://www.skene.ai/resources/blog/plg-analysis-sveltekit-supabase-starter): Is the CMSaasStarter template good for product-led growth? We audited signup, feature gating, analytics, and billing. Score: 3.7/10 for PLG. Best Stripe integration of any SvelteKit starter, but no analytics or feature gating. - [Vercel Next.js Subscription Payments Template Review: PLG Audit 2026](https://www.skene.ai/resources/blog/plg-analysis-nextjs-subscription-payments): Is the Vercel Next.js Subscription Payments template good for SaaS? We audited signup flow, Stripe integration, analytics, and feature gating. Score: 3/10 for PLG. See what's missing and how to fix it. - [Skene raises €800,000 to turn software products into growth engines with autonomous AI agents](https://www.skene.ai/resources/blog/skene-raises-800k-pre-seed): Turning great tools into widely adopted, revenue-generating products without heavy sales and support is a challenge for most development teams. Skene's AI agents understand a product's code base, driving growth by guiding users to valuable outcomes. - [Best resources for learning product-led growth (2026)](https://www.skene.ai/resources/blog/best-resources-for-learning-product-led-growth): A curated list of the top resources for learning product-led growth in 2026: books, courses, newsletters, communities, and people to follow. - [How to achieve product-led growth?](https://www.skene.ai/resources/blog/how-to-achieve-product-led-growth): A practical playbook for early-stage teams whose PLG deck looks great but revenue doesn't. - [How to choose a CDP for product-led growth?](https://www.skene.ai/resources/blog/how-to-choose-a-cdp-for-product-led-growth): How to pick a CDP that actually supports product-led growth instead of becoming an expensive logging system. - [How to learn product-led growth strategy?](https://www.skene.ai/resources/blog/how-to-learn-product-led-growth-strategy): A practical path to actually learning product-led growth, by running real experiments instead of just reading buzzword decks. ## Open source & community - [Skene on GitHub](https://github.com/SkeneTechnologies): Open-source core (parser, indexer, comparator). - [Skene repo](https://github.com/SkeneTechnologies/skene): Source and issue tracker. - [Open source projects](https://www.skene.ai/community/open-source): Skene's open stack.