Skip to content
ARCHITECTURE

Separate checks. Reviewable evidence.

Repository analysis, schema evidence, deterministic checks and GitHub review each have a defined job. They can disagree, so the product keeps their evidence visible.

  • Analysis

    Skene maps tracking calls from the linked repository and database-backed steps from an optional schema connection. The Events inventory keeps those evidence types distinct.

  • Deterministic check

    The API and MCP check compare scanner output with the planned event baseline. Linked database coverage can verify whether expected tables exist.

  • Pull-request review

    The GitHub App separately judges a pull-request diff for tracking regressions and missing events. This path does not share an engine with the deterministic check.

  • Measurement

    A plan states the intended change, metric, target, and connected evidence. Readiness is checked before launch; later checks record the verdict and history.

WHERE SKENE SITS

Skene sits at the front of your data stack.

Skene sits between the teams that need a measurement answer and the code that produces its evidence. Existing analytics, database and warehouse systems remain sources and destinations; Skene does not replace them.

Your database stays connected to your analytics.
Tracking
Supabase
Pipelines
Warehouse
Metrics
ON THE PULL REQUEST

It reviews tracking changes before merge.

With PR reviews enabled, the GitHub App judges the diff for removed or renamed tracking and missing events. A separate deterministic check compares scanned evidence with the plan. Neither path claims to know which dashboard would change.

your-team / app · Pull Request #142Changes requested
Sskenebotrequested changes just now
Skene check failed: this change breaks tracking you rely on.
Removing workspace_id from public.subscriptions breaks the events that fill your workspace-health and time-to-value charts.
Downstream: workspace health + time-to-value
Breaks the join behind retention by workspace. workspace_id is the key those metrics join on. Drop it and the numbers go blank, weeks before anyone notices.
Suggested fix
Keep the column the metrics depend on: workspace_id uuid NOT NULL REFERENCES public.workspaces(id),
supabase/migrations/20260805120000_subscriptions.sql1 comment
PRINCIPLES

Three things to know

  • Evidence keeps its source

    Repository calls, database structure, analytics counts, and observed Flows interactions are not presented as interchangeable proof.

  • Read-only is the default

    A read-only Supabase connection exposes schema structure, not row values. Optional read-write access and the analytics destination are separate choices.

  • Findings stay reviewable

    Pull-request findings name the change. A one-click suggestion is used only when the fix fits one contiguous block; broader fixes carry a prompt.

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.

Start free