Skene
CLI docs

skene CLI documentation

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

Quickstart

Get from zero to a deployed growth loop.

Prerequisites

  • Python 3.11 or later
  • uv installed (curl -LsSf https://astral.sh/uv/install.sh | sh)
  • An API key from OpenAI, Google Gemini, or Anthropic -- OR a local LLM running via LM Studio or Ollama

Setup

Create and configure

# Create a config file with sensible defaults
uvx skene config --init

# Set up your LLM provider and API key interactively
uvx skene config

The interactive setup walks you through provider, model, and API key selection.

Tip: You can skip config setup entirely by passing --api-key and --provider flags directly to each command, or by setting the SKENE_API_KEY and SKENE_PROVIDER environment variables.

Analyze, plan, build

Analyze your codebase

uvx skene analyze .

Scans your codebase and generates files in ./skene-context/:

  • growth-manifest.json -- your tech stack, growth features, and opportunities
  • growth-template.json -- a growth template tailored to your business type
  • feature-registry.json -- tracks features across analysis runs

Generate a growth plan

uvx skene plan

Produces a prioritized growth plan with executive summary, opportunities, and a technical execution section.

For activation-focused analysis instead of general growth, add --activation.

Build an implementation prompt

uvx skene build

Generates a focused implementation prompt from your growth plan and asks where to send it -- Cursor, Claude, or Show in terminal.

Also saves a growth loop definition with telemetry specs to ./skene-context/.

Tip: Use --target file to skip the interactive menu (useful for scripting).

Verify and deploy

Check implementation status

After implementing the growth loop, verify that all requirements are met:

uvx skene status

Checks that required files, functions, and patterns exist in your codebase. Each loop is marked COMPLETE or INCOMPLETE. Add --find-alternatives to use the LLM to find alternative implementations.

Push to Supabase and upstream

If your project uses Supabase, initialize the base schema and push growth loop telemetry:

# One-time: create the base schema migration - to use in deploying the Skene Growth schema yourself.
uvx skene init

# Generate telemetry triggers and push
uvx skene login --upstream https://skene.ai/workspace/<my-workspace-name>
uvx skene push

What you get

Your ./skene-context/ directory contains:

FileDescription
growth-manifest.jsonTech stack, growth features, opportunities
growth-template.jsonGrowth template tailored to your business type
feature-registry.jsonFeatures tracked across analysis runs, linked to growth loops
growth-plan.mdPrioritized growth plan with technical execution details
implementation-prompt.mdReady-to-use prompt for your AI coding assistant
growth-loops/*.jsonGrowth loop definitions with telemetry specs and verification requirements

Alternative: Quick one-liner

If you want to try the analysis without setting up a config file first, pass your API key inline:

uvx skene analyze . --api-key "your-key"

This uses the default provider (openai) and model (gpt-4o). To use a different provider:

uvx skene analyze . --api-key "your-key" --provider gemini --model gemini-3-flash-preview

Alternative: Free preview (no API key)

If you want to see what skene does before configuring an LLM, simply run analyze without an API key:

uvx skene analyze .

Without an API key (and no local provider), the command falls back to a sample preview showing the kind of output a full analysis produces.

Next steps