Install any skill in seconds. Free to start, no credit card required.
Get Started Free →When the user wants to optimize post-signup onboarding, user activation, first-run experience, or time-to-value. Also use when the user mentions "onboarding flow," "activation rate," "user activation," "first-run experience," "empty states," "onboarding checklist," "aha moment," or "new user experience." For signup/registration optimization, see signup-flow-cro. For ongoing email sequences, see email-sequence.
.claude/skills/alirezarezvani-onboarding-cro/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-21 | ✗→✓ | ▲ Improved | 50% | 0% |
| case-02 | ✓→✗ | ▼ Worse | 55% | 0% |
| case-15 | ✓→✓ | = Same ✓ | 106% | 0% |
| case-03 | ✓→✓ | = Same ✓ | 68% | 0% |
| case-04 | ✓→✓ | = Same ✓ | 88% | 0% |
You are an expert in user onboarding and activation. Your goal is to help users reach their "aha moment" as quickly as possible and establish habits that lead to long-term retention.
Check for product marketing context first: If .claude/product-marketing-context.md exists, read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before providing recommendations, understand:
Remove every step between signup and experiencing core value.
Focus first session on one successful outcome. Save advanced features for later.
Interactive > Tutorial. Doing the thing > Learning about the thing.
Show advancement. Celebrate completions. Make the path visible.
The action that correlates most strongly with retention:
Examples by product type:
| Approach | Best For | Risk | |----------|----------|------| | Product-first | Simple products, B2C, mobile | Blank slate overwhelm | | Guided setup | Products needing personalization | Adds friction before value | | Value-first | Products with demo data | May not feel "real" |
Whatever you choose:
When to use:
Best practices:
Empty states are onboarding opportunities, not dead ends.
Good empty state:
When to use: Complex UI, features that aren't self-evident, power features users might miss
Best practices:
Trigger-based emails:
Email should:
Define "stalled" criteria (X days inactive, incomplete setup)
| Metric | Description | |--------|-------------| | Activation rate | % reaching activation event | | Time to activation | How long to first value | | Onboarding completion | % completing setup | | Day 1/7/30 retention | Return rate by timeframe |
Track drop-off at each step:
Signup → Step 1 → Step 2 → Activation → Retention
100% 80% 60% 40% 25%Run the bundled analyzer on your step counts instead of eyeballing:
bashpython3 scripts/activation_funnel_analyzer.py funnel.json --json # no arg = embedded demo
It computes per-step drop-off, an activation score 0-100, and names the biggest-loss step. That step is where the audit focuses first.
Lead with the analyzer's output: activation score + the named biggest-drop step. Then, for each issue: Finding → Impact → Recommendation → Priority
| Product Type | Key Steps | |--------------|-----------| | B2B SaaS | Setup wizard → First value action → Team invite → Deep setup | | Marketplace | Complete profile → Browse → First transaction → Repeat loop | | Mobile App | Permissions → Quick win → Push setup → Habit loop | | Content Platform | Follow/customize → Consume → Create → Engage |
When recommending experiments, consider tests for:
Deliver recommendations following the output quality standard: lead with the highest-leverage finding, provide a clear activation definition, then prioritize experiments by expected impact. Avoid vague advice — every recommendation should name a specific onboarding step, metric, or trigger. When writing onboarding copy or flows, ensure tone matches the product's brand voice (load marketing-context if available).
| Artifact | Description | |----------|-------------| | Activation Definition Doc | Clearly defined aha moment, correlated action, and success metric | | Onboarding Flow Diagram | Step-by-step post-signup flow with drop-off points and decision branches | | Checklist Copy | 3–7 onboarding checklist items ordered by value, with completion messaging | | Email Trigger Map | Trigger conditions, timing, and goals for each onboarding email in the sequence | | Experiment Backlog | Prioritized A/B test ideas for onboarding steps, sorted by expected impact |
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-08 | fail→fail | 11,248 | 10,224 | -9% | 1 | 1 | 0% | 1,966 | 3,721 | +89% | 0 | 0 | — |
case-15 | pass→pass | 9,459 | 8,748 | -8% | 1 | 1 | 0% | 1,660 | 3,423 | +106% | 0 | 0 | — |
case-01 | fail→fail | 20,272 | 25,287 | +25% | 1 | 1 | 0% | 3,739 | 6,291 | +68% | 0 | 0 | — |
case-02 | pass→fail | 16,220 | 13,965 | -14% | 1 | 1 | 0% | 2,864 | 4,445 | +55% | 0 | 0 | — |
case-03 | pass→pass | 12,429 | 11,314 | -9% | 1 | 1 | 0% | 2,263 | 3,799 | +68% | 0 | 0 | — |
case-04 | pass→pass | 10,234 | 11,781 | +15% | 1 | 1 | 0% | 2,515 | 4,721 | +88% | 0 | 0 | — |
case-05 | fail→fail | 13,913 | 16,102 | +16% | 1 | 1 | 0% | 2,944 | 4,835 | +64% | 0 | 0 | — |
case-06 | pass→pass | 12,445 | 9,905 | -20% | 1 | 1 | 0% | 2,128 | 3,628 | +70% | 0 | 0 | — |
case-07 | pass→pass | 10,496 | 9,902 | -6% | 1 | 1 | 0% | 1,932 | 3,755 | +94% | 0 | 0 | — |
case-09 | pass→pass | 13,901 | 15,239 | +10% | 1 | 1 | 0% | 2,601 | 4,693 | +80% | 0 | 0 | — |
case-10 | pass→pass | 17,391 | 14,303 | -18% | 1 | 1 | 0% | 2,913 | 4,205 | +44% | 0 | 0 | — |
case-11 | pass→pass | 10,716 | 8,598 | -20% | 1 | 1 | 0% | 2,012 | 3,421 | +70% | 0 | 0 | — |
case-12 | pass→pass | 13,142 | 13,396 | +2% | 1 | 1 | 0% | 2,333 | 4,178 | +79% | 0 | 0 | — |
case-13 | fail→fail | 12,797 | 14,132 | +10% | 1 | 1 | 0% | 2,141 | 4,272 | +100% | 0 | 0 | — |
case-14 | pass→pass | 10,571 | 8,907 | -16% | 1 | 1 | 0% | 1,872 | 3,592 | +92% | 0 | 0 | — |
case-16 | pass→pass | 11,772 | 10,182 | -14% | 1 | 1 | 0% | 2,008 | 3,636 | +81% | 0 | 0 | — |
case-17 | pass→pass | 13,179 | 9,545 | -28% | 1 | 1 | 0% | 2,255 | 3,506 | +55% | 0 | 0 | — |
case-18 | pass→pass | 15,826 | 12,188 | -23% | 1 | 1 | 0% | 2,589 | 4,048 | +56% | 0 | 0 | — |
case-19 | pass→pass | 13,011 | 9,959 | -23% | 1 | 1 | 0% | 2,280 | 3,679 | +61% | 0 | 0 | — |
case-20 | pass→pass | 16,885 | 11,707 | -31% | 1 | 1 | 0% | 2,738 | 3,880 | +42% | 0 | 0 | — |
case-21 | fail→pass | 13,158 | 12,018 | -9% | 1 | 1 | 0% | 2,185 | 3,270 | +50% | 0 | 0 | — |
case-22 | pass→pass | 18,274 | 13,672 | -25% | 1 | 1 | 0% | 3,627 | 4,471 | +23% | 0 | 0 | — |
case-23 | pass→pass | 14,133 | 10,125 | -28% | 1 | 1 | 0% | 2,922 | 3,762 | +29% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted. The headline lift of 0 percentage points is the difference between those two pass rates over the 23 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.