GROWTH PATTERN

Adding Framework Onboarding to Phoenix

Framework setup with Phoenix completes, but there's no system to verify setup success or track developer progress.

Phoenix

Last updated:

What's Missing in Standard Phoenix Architecture

Phoenix is installed and configured, but there's no tracking system to guide developers through framework-specific setup milestones.

Standard Phoenix Flow vs Optimized Skene Flow

Standard Flow
1

Phoenix is installed

2

Framework configured but setup progress not tracked

3

No guidance for framework-specific best practices

Skene Flow
1

Track Phoenix setup milestones (first page, API route, deployment)

2

Identify setup completion milestones

3

Send framework-specific guidance and best practices

4

Track developer progress and send advanced tips

Visual comparison of the flows:

Loading diagram...

How Skene Fixes This

The Skene setup for Phoenix tracks developer progress through framework setup and automatically provides guidance when milestones are reached, helping developers discover advanced features.

Implementation Comparison

Using Skene Infrastructure

Install via Prompt

cursor.mdc
@task: Initialize Skene.
@action: Analyze my local code, validating subscription via `npx skene login`, and generate `skene.config.ts` to implement the Framework Onboarding pattern for Phoenix.

Copy Skene Prompt for Cursor

Generated skene.config.ts

skene.config.ts
// skene.config.ts - The Automated Way
import { defineLoop } from '@skene/sdk';

export default defineLoop({
  type: 'retention',
  opinion: 'Detect dormant users and trigger personalized re-engagement campaigns',
  steps: [
    {
      trigger: {
        type: 'schedule',
        cron: '0 9 * * *' // Daily at 9 AM
      },
      condition: {
        type: 'query',
        query: `SELECT * FROM users WHERE last_activity_at < NOW() - INTERVAL '7 days' AND re_engagement_sent = false`,
        timeout: '10m'
      },
      action: {
        type: 'email',
        provider: 'resend',
        template: 're_engagement',
        personalization: {
          name: '{{user.name}}',
          lastActivity: '{{user.last_activity_at}}'
        }
      }
    }
  ],
  recovery: {
    retries: 3,
    backoff: 'exponential'
  }
});

Frequently asked questions