What's Missing in Standard Grafbase Architecture
Grafbase stores data efficiently, but there's no system to track user behavior patterns and identify when users become inactive or hit growth milestones.
Standard Grafbase Flow vs Optimized Skene Flow
User has access to Grafbase features
Features available but usage not monitored
No activation prompts for unused features
Monitor Grafbase usage patterns and feature adoption
Identify users who haven't used key features
Trigger feature discovery emails with examples and use cases
Track feature adoption and send advanced usage guides
Visual comparison of the flows:
Loading diagram...
How Skene Fixes This
This Skene configuration watches Grafbase data changes and detects user behavior patterns. It identifies inactive users and automatically sends personalized re-engagement emails to bring them back.
Implementation Comparison
Using Skene Infrastructure
Install via Prompt
@task: Initialize Skene.
@action: Analyze my local code, validating subscription via `npx skene login`, and generate `skene.config.ts` to implement the Retention Loop pattern for Grafbase.Copy Skene Prompt for Cursor
Generated 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'
}
});