Log In
CLI docs

skene CLI documentation

Analyze codebases for product-led growth opportunities, generate growth plans, and build implementation prompts.

Push Command

The push command builds Supabase migrations from growth loop telemetry definitions and optionally pushes the artifacts to Skene Cloud upstream.

Prerequisites

Before running push, you need:

  • Growth loop definitions with Supabase telemetry in skene-context/growth-loops/. These are generated by the build command. See Build for details.
  • For upstream push: authentication via skene login. See Login.

Basic usage

Generate a Supabase migration from all growth loops with telemetry:

uvx skene push

Push a specific loop by ID:

uvx skene push --loop my_activation_loop

Push to upstream (Skene Cloud):

uvx skene push --upstream https://skene.ai/workspace/my-app

Flag reference

FlagShortDescription
PATHProject root directory (default: .)
--context PATH-cPath to skene-context directory (auto-detected if omitted)
--loop TEXT-lPush only this loop by loop_id. If omitted, pushes all loops with Supabase telemetry.
--upstream TEXT-uUpstream workspace URL (e.g. https://skene.ai/workspace/my-app). Resolved from .skene.config or this flag.
--push-onlyRe-push current output without regenerating migrations

How it works

Step 1: Load growth loops

The command loads all growth loop JSON files from skene-context/growth-loops/ and filters for loops that have Supabase telemetry (telemetry items with type: "supabase").

Step 2: Generate Supabase migration

For each loop with Supabase telemetry, the command generates SQL trigger functions that:

  • Create a trigger on the specified table for the specified operation (INSERT, UPDATE, or DELETE)
  • INSERT a row into skene.event_log with the captured properties
  • Use idempotent DDL (DROP TRIGGER IF EXISTS before CREATE)

The migration is written to supabase/migrations/<timestamp>_skene_telemetry.sql.

Step 3: Push artifact snapshot to upstream (optional)

When an upstream URL is configured (via --upstream or .skene.config), the command sends an artifact payload to POST https://www.skene.ai/api/v1/push.

The upstream endpoint accepts only these keys:

  • engine_yaml
  • schema_yaml
  • state_machine_yaml
  • feature_registry (JSON object or JSON string)
  • growth_manifest (JSON object or JSON string)
  • growth_template (JSON object or JSON string)
  • growth_plan (Markdown string)
  • product_docs (Markdown string)

Extra keys are ignored and empty strings are treated as omitted.

This endpoint stores artifact snapshots in skene_deploys for the workspace. It does not apply SQL migrations to the linked Supabase project and does not run the full engine sync pipeline.

Base schema

Right now init create the sql files required for deploying skene schema to supabase without connecting Skene Cloud at all. The goal is to increase security.

Before pushing telemetry migrations, you need the base schema. Run skene init to create it:

uvx skene init

This creates supabase/migrations/20260201000000_skene_schema.sql with:

  • skene.event_log — universal sink for allowlisted triggers
  • skene.failed_events — dead-letter queue for events exceeding retry limits
  • skene.enrichment_map — rules table for metadata enrichment

Telemetry format

Growth loops include telemetry definitions that describe what events to capture. The Supabase telemetry type looks like:

{
  "type": "supabase",
  "table": "documents",
  "operation": "INSERT",
  "properties": ["id", "name", "created_at"],
  "action_name": "document_insert"
}

The push command converts these into SQL trigger functions automatically.

Upstream authentication

To push to upstream, authenticate first:

uvx skene login --upstream https://skene.ai/workspace/my-app

The upstream URL can also be resolved from:

  1. upstream field in .skene.config (saved by skene login)
  2. --upstream CLI flag (highest priority)

Next steps

  • Login -- Authenticate with Skene Cloud upstream
  • Build -- Generate growth loop definitions with telemetry
  • Status -- Verify growth loop implementation
  • CLI Reference -- Full reference for all commands and flags
© 2026 Skene. All rights reserved.