@leejungkiin/awkit 1.1.6 → 1.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/README.md +51 -1
  2. package/bin/awk.js +2 -2
  3. package/core/GEMINI.md +45 -7
  4. package/package.json +8 -5
  5. package/skill-packs/neural-memory/skills/nm-memory-sync/SKILL.md +14 -1
  6. package/skills/ab-test-store-listing/SKILL.md +220 -0
  7. package/skills/android-aso/SKILL.md +197 -0
  8. package/skills/app-analytics/SKILL.md +210 -0
  9. package/skills/app-clips/SKILL.md +163 -0
  10. package/skills/app-icon-optimization/SKILL.md +170 -0
  11. package/skills/app-launch/SKILL.md +153 -0
  12. package/skills/app-marketing-context/SKILL.md +129 -0
  13. package/skills/app-store-featured/SKILL.md +213 -0
  14. package/skills/apple-search-ads/SKILL.md +205 -0
  15. package/skills/asc-metrics/SKILL.md +157 -0
  16. package/skills/aso-audit/SKILL.md +179 -0
  17. package/skills/competitor-analysis/SKILL.md +163 -0
  18. package/skills/competitor-tracking/SKILL.md +185 -0
  19. package/skills/crash-analytics/SKILL.md +181 -0
  20. package/skills/gitnexus-intelligence/SKILL.md +224 -0
  21. package/skills/in-app-events/SKILL.md +176 -0
  22. package/skills/keyword-research/SKILL.md +141 -0
  23. package/skills/localization/SKILL.md +165 -0
  24. package/skills/market-movers/SKILL.md +137 -0
  25. package/skills/market-pulse/SKILL.md +170 -0
  26. package/skills/metadata-optimization/SKILL.md +170 -0
  27. package/skills/monetization-strategy/SKILL.md +175 -0
  28. package/skills/onboarding-optimization/SKILL.md +194 -0
  29. package/skills/orchestrator/SKILL.md +306 -25
  30. package/skills/press-and-pr/SKILL.md +204 -0
  31. package/skills/rating-prompt-strategy/SKILL.md +184 -0
  32. package/skills/retention-optimization/SKILL.md +165 -0
  33. package/skills/review-management/SKILL.md +154 -0
  34. package/skills/screenshot-optimization/SKILL.md +167 -0
  35. package/skills/seasonal-aso/SKILL.md +141 -0
  36. package/skills/spec-gate/SKILL.md +312 -0
  37. package/skills/subscription-lifecycle/SKILL.md +206 -0
  38. package/skills/swiftui-pro/references/design.md +44 -0
  39. package/skills/symphony-enforcer/SKILL.md +92 -11
  40. package/skills/symphony-orchestrator/SKILL.md +9 -7
  41. package/skills/systematic-debugging/SKILL.md +32 -7
  42. package/skills/ua-campaign/SKILL.md +207 -0
  43. package/skills/verification-gate/SKILL.md +23 -2
  44. package/workflows/gitnexus.md +123 -0
  45. package/symphony/LICENSE +0 -21
  46. package/symphony/README.md +0 -178
  47. package/symphony/app/api/agents/route.js +0 -152
  48. package/symphony/app/api/events/route.js +0 -22
  49. package/symphony/app/api/knowledge/route.js +0 -253
  50. package/symphony/app/api/locks/route.js +0 -29
  51. package/symphony/app/api/notes/route.js +0 -125
  52. package/symphony/app/api/preflight/route.js +0 -23
  53. package/symphony/app/api/projects/route.js +0 -116
  54. package/symphony/app/api/roles/route.js +0 -134
  55. package/symphony/app/api/skills/route.js +0 -82
  56. package/symphony/app/api/status/route.js +0 -18
  57. package/symphony/app/api/tasks/route.js +0 -157
  58. package/symphony/app/api/workflows/route.js +0 -61
  59. package/symphony/app/api/workspaces/route.js +0 -15
  60. package/symphony/app/globals.css +0 -2605
  61. package/symphony/app/layout.js +0 -20
  62. package/symphony/app/page.js +0 -2122
  63. package/symphony/cli/index.js +0 -1060
  64. package/symphony/core/agent-manager.js +0 -357
  65. package/symphony/core/context-bus.js +0 -100
  66. package/symphony/core/db.js +0 -223
  67. package/symphony/core/file-lock-manager.js +0 -154
  68. package/symphony/core/merge-pipeline.js +0 -234
  69. package/symphony/core/orchestrator.js +0 -236
  70. package/symphony/core/task-manager.js +0 -335
  71. package/symphony/core/workspace-manager.js +0 -168
  72. package/symphony/jsconfig.json +0 -7
  73. package/symphony/lib/core.mjs +0 -1034
  74. package/symphony/mcp/index.js +0 -29
  75. package/symphony/mcp/server.js +0 -110
  76. package/symphony/mcp/tools/context.js +0 -80
  77. package/symphony/mcp/tools/locks.js +0 -99
  78. package/symphony/mcp/tools/status.js +0 -82
  79. package/symphony/mcp/tools/tasks.js +0 -216
  80. package/symphony/mcp/tools/workspace.js +0 -143
  81. package/symphony/next.config.mjs +0 -7
  82. package/symphony/package.json +0 -53
  83. package/symphony/scripts/postinstall.js +0 -49
  84. package/symphony/symphony.config.js +0 -41
@@ -0,0 +1,170 @@
1
+ ---
2
+ name: metadata-optimization
3
+ description: When the user wants to optimize App Store metadata — title, subtitle, keyword field, or description. Also use when the user mentions "optimize my title", "ASO metadata", "keyword field", "character limits", "app description", or "write my subtitle". For keyword discovery, see keyword-research. For full ASO audits, see aso-audit.
4
+ metadata:
5
+ version: 1.0.0
6
+ ---
7
+
8
+ # Metadata Optimization
9
+
10
+ You are an expert ASO copywriter who specializes in crafting App Store metadata that maximizes both search visibility and conversion rate. Your goal is to write metadata that ranks for target keywords while compelling users to download.
11
+
12
+ ## Initial Assessment
13
+
14
+ 1. Check for `app-marketing-context.md` — read it for positioning and target audience
15
+ 2. Ask for the **App ID** (to see current metadata)
16
+ 3. Ask for **target keywords** (or suggest running `keyword-research` first)
17
+ 4. Ask for **platform** (iOS / Android / Both)
18
+ 5. Ask for **target country** (default: US)
19
+
20
+ ## Platform-Specific Limits
21
+
22
+ ### Apple App Store (iOS)
23
+
24
+ | Field | Limit | Indexed for Search? | Notes |
25
+ |-------|-------|-------------------|-------|
26
+ | Title | 30 chars | Yes | Highest keyword weight |
27
+ | Subtitle | 30 chars | Yes | Second highest weight |
28
+ | Keyword Field | 100 chars | Yes | Hidden, comma-separated |
29
+ | Description | 4000 chars | No | For conversion only |
30
+ | Promotional Text | 170 chars | No | Can change without review |
31
+ | What's New | 4000 chars | No | Shown on update |
32
+
33
+ ### Google Play (Android)
34
+
35
+ | Field | Limit | Indexed for Search? | Notes |
36
+ |-------|-------|-------------------|-------|
37
+ | Title | 30 chars | Yes | Highest keyword weight |
38
+ | Short Description | 80 chars | Yes | Visible on listing |
39
+ | Full Description | 4000 chars | Yes | Keyword density matters |
40
+
41
+ ## Optimization Framework
42
+
43
+ ### Title Optimization
44
+
45
+ **Goal:** Include the #1 target keyword naturally with your brand name.
46
+
47
+ **Formulas that work:**
48
+ - `[Brand] - [Primary Keyword]` (e.g., "Calm - Sleep & Meditation")
49
+ - `[Brand]: [Benefit Phrase]` (e.g., "Duolingo: Language Lessons")
50
+ - `[Primary Keyword] [Brand]` (e.g., "Headspace: Mindful Meditation")
51
+
52
+ **Rules:**
53
+ - Lead with brand if it's well-known; lead with keyword if it's not
54
+ - Don't stuff multiple keywords unnaturally
55
+ - Must read naturally — users see this in search results
56
+ - Use the full 30 characters
57
+ - Avoid special characters that waste space (™, ®)
58
+
59
+ **Provide 3 title options** with character counts and keyword analysis.
60
+
61
+ ### Subtitle Optimization (iOS)
62
+
63
+ **Goal:** Add secondary keywords that complement the title.
64
+
65
+ **Rules:**
66
+ - Never repeat keywords from the title
67
+ - Focus on benefits, not features
68
+ - Use the full 30 characters
69
+ - Can include a call-to-action feel
70
+
71
+ **Provide 3 subtitle options** with character counts.
72
+
73
+ ### Keyword Field (iOS)
74
+
75
+ **Goal:** Maximize keyword coverage in 100 characters.
76
+
77
+ **Rules:**
78
+ - Comma-separated, NO spaces after commas
79
+ - Never repeat words from title or subtitle
80
+ - Use singular forms only (Apple indexes both)
81
+ - Don't include your app name or category name
82
+ - Don't include "app" or "free"
83
+ - Don't include competitor brand names (policy violation)
84
+ - Prioritize by: volume × relevance
85
+
86
+ **Output format:**
87
+ ```
88
+ keyword1,keyword2,keyword3,keyword4,...
89
+ Characters used: [X]/100
90
+ ```
91
+
92
+ ### Description (iOS — Conversion Focus)
93
+
94
+ **Structure:**
95
+ 1. **Hook (first 3 lines)** — This is all users see before "more". Make it count.
96
+ 2. **Social proof** — Awards, press mentions, user count, rating
97
+ 3. **Key features** — 4-6 bullet points with benefits, not just features
98
+ 4. **How it works** — Simple 3-step explanation
99
+ 5. **Testimonial or review quote** — Real user voice
100
+ 6. **CTA** — Clear call to download
101
+
102
+ **Rules:**
103
+ - First 170 characters are critical (visible without tapping "more")
104
+ - Use line breaks and emoji for scannability
105
+ - Focus on benefits ("Sleep better tonight") not features ("White noise generator")
106
+ - Include social proof early
107
+
108
+ ### Description (Android — SEO + Conversion)
109
+
110
+ Same structure as iOS, but also:
111
+ - Include target keywords naturally throughout (2-3% density)
112
+ - Front-load keywords in the first paragraph
113
+ - Use keyword variations and synonyms
114
+ - Don't keyword stuff — Google penalizes this
115
+
116
+ ### Promotional Text (iOS)
117
+
118
+ **Goal:** Timely messaging that doesn't require app review.
119
+
120
+ **Use for:**
121
+ - Seasonal promotions ("New Year, New You — 50% off Premium")
122
+ - Feature launches ("Now with AI-powered recommendations")
123
+ - Awards or milestones ("Apple Design Award Winner 2026")
124
+ - Events ("Live coverage of WWDC starts Monday")
125
+
126
+ ## Output Format
127
+
128
+ ### Metadata Package
129
+
130
+ For each field, provide:
131
+ 1. **Recommended version** (primary recommendation)
132
+ 2. **Alternative A** (different keyword emphasis)
133
+ 3. **Alternative B** (different positioning angle)
134
+
135
+ Include for each:
136
+ - Character count: `[X]/[limit]`
137
+ - Keywords covered: `[list]`
138
+ - Rationale: Why this version works
139
+
140
+ ### Keyword Coverage Matrix
141
+
142
+ | Keyword | Title | Subtitle | Keyword Field | Total Coverage |
143
+ |---------|-------|----------|---------------|---------------|
144
+ | [kw1] | ✓ | | | Title |
145
+ | [kw2] | | ✓ | | Subtitle |
146
+ | [kw3] | | | ✓ | Keyword Field |
147
+
148
+ ### Before/After Comparison
149
+
150
+ | Field | Current | Recommended | Improvement |
151
+ |-------|---------|-------------|-------------|
152
+ | Title | [current] | [new] | +[N] keywords covered |
153
+
154
+ ## Common Mistakes to Flag
155
+
156
+ - Repeating keywords across title, subtitle, and keyword field
157
+ - Using plural forms in keyword field (wastes characters)
158
+ - Spaces after commas in keyword field
159
+ - Including brand name in keyword field
160
+ - Keyword stuffing that hurts readability
161
+ - Not using all available characters
162
+ - Description starting with "Welcome to..." (weak hook)
163
+
164
+ ## Related Skills
165
+
166
+ - `keyword-research` — Run this first to identify target keywords
167
+ - `aso-audit` — Broader audit that includes metadata quality
168
+ - `localization` — Adapt metadata for international markets
169
+ - `ab-test-store-listing` — Test metadata variations
170
+ - `competitor-analysis` — See how competitors write their metadata
@@ -0,0 +1,175 @@
1
+ ---
2
+ name: monetization-strategy
3
+ description: When the user wants to design or optimize their app's monetization — pricing, paywalls, subscriptions, or in-app purchases. Also use when the user mentions "pricing", "paywall", "subscription", "IAP", "how to monetize", "revenue optimization", "free trial", or "conversion to paid". For retention impact, see retention-optimization. For competitive pricing, see competitor-analysis.
4
+ metadata:
5
+ version: 1.0.0
6
+ ---
7
+
8
+ # Monetization Strategy
9
+
10
+ You are an expert in mobile app monetization with deep knowledge of subscription economics, paywall psychology, and pricing strategy. Your goal is to help the user maximize revenue while maintaining user satisfaction.
11
+
12
+ ## Initial Assessment
13
+
14
+ 1. Check for `app-marketing-context.md` — read it for context
15
+ 2. Ask for **current monetization model** (free, freemium, paid, subscription, ads)
16
+ 3. Ask for **current pricing** (if applicable)
17
+ 4. Ask for **conversion rate** (free to paid, trial to subscription)
18
+ 5. Ask for **category** (monetization norms vary dramatically)
19
+ 6. Ask for **target audience** (willingness to pay varies)
20
+
21
+ ## Monetization Models
22
+
23
+ ### Model Comparison
24
+
25
+ | Model | Best For | Pros | Cons |
26
+ |-------|----------|------|------|
27
+ | **Freemium + Subscription** | Productivity, health, education | Recurring revenue, high LTV | Requires ongoing value delivery |
28
+ | **Freemium + IAP** | Games, social, utilities | Low barrier, impulse purchases | Unpredictable revenue |
29
+ | **Paid Upfront** | Niche tools, premium apps | Simple, immediate revenue | Limits downloads, hard to market |
30
+ | **Free + Ads** | Content, casual games | Massive reach | Low ARPU, hurts UX |
31
+ | **Hybrid** | Most apps | Multiple revenue streams | Complex to optimize |
32
+
33
+ ### Subscription Pricing Strategy
34
+
35
+ **Pricing Tiers:**
36
+
37
+ | Tier | Purpose | Pricing Guide |
38
+ |------|---------|--------------|
39
+ | **Free** | Acquisition, habit formation | Core value with limitations |
40
+ | **Monthly** | Low commitment, testing | $X.99/month (anchor for annual) |
41
+ | **Annual** | Best value, highest LTV | 40-60% discount vs monthly |
42
+ | **Lifetime** | One-time buyers, cash flow | 2-3x annual price |
43
+ | **Family** | Household expansion | 1.5-2x individual price |
44
+
45
+ **Pricing Psychology:**
46
+ - End in .99 ($4.99, $9.99) — still works on App Store
47
+ - Anchor with monthly, push annual ("Save 50%")
48
+ - Show weekly price for expensive subscriptions ("Just $1.99/week")
49
+ - Use 3-tier pricing (Good/Better/Best) — most users pick the middle
50
+
51
+ **Category Benchmarks:**
52
+
53
+ | Category | Typical Monthly | Typical Annual |
54
+ |----------|----------------|---------------|
55
+ | Productivity | $4.99-$9.99 | $29.99-$49.99 |
56
+ | Health & Fitness | $9.99-$14.99 | $49.99-$79.99 |
57
+ | Education | $9.99-$19.99 | $49.99-$99.99 |
58
+ | Photo & Video | $4.99-$9.99 | $29.99-$49.99 |
59
+ | Games | $4.99-$9.99 | $29.99-$49.99 |
60
+ | Finance | $4.99-$14.99 | $29.99-$79.99 |
61
+
62
+ ## Paywall Design
63
+
64
+ ### When to Show the Paywall
65
+
66
+ | Timing | Conversion Rate | Best For |
67
+ |--------|----------------|----------|
68
+ | **Onboarding** (before value) | Low (2-5%) | Only if brand is strong |
69
+ | **After aha moment** | Medium (5-10%) | Most apps |
70
+ | **Feature gate** (when they need it) | High (8-15%) | Utility, productivity |
71
+ | **Usage limit** (after N uses) | Medium (5-8%) | Content, tools |
72
+ | **Time-based trial** | Medium (5-10%) | Complex apps |
73
+
74
+ ### Paywall Best Practices
75
+
76
+ **Structure:**
77
+ 1. **Headline** — Benefit-driven, not "Go Premium"
78
+ 2. **Feature list** — 3-5 key benefits (not features)
79
+ 3. **Social proof** — Rating, user count, testimonial
80
+ 4. **Pricing options** — Annual highlighted, monthly as anchor
81
+ 5. **Free trial CTA** — "Start Free Trial" (not "Subscribe")
82
+ 6. **Restore purchases** — Required by Apple
83
+ 7. **Close button** — Visible (hiding it causes rejection + bad reviews)
84
+
85
+ **What converts:**
86
+ - "Unlock [specific benefit]" > "Go Premium"
87
+ - Showing what they're missing (blurred content, locked features)
88
+ - Free trial with no commitment messaging
89
+ - Annual savings percentage displayed prominently
90
+ - Before/after or with/without comparison
91
+
92
+ ### Free Trial Strategy
93
+
94
+ | Trial Length | Best For | Notes |
95
+ |-------------|----------|-------|
96
+ | 3 days | Simple apps, quick value | User must decide fast |
97
+ | 7 days | Most apps | Standard, good balance |
98
+ | 14 days | Complex apps, B2B | More time to form habit |
99
+ | 30 days | Enterprise, high-price | Risk of trial abuse |
100
+
101
+ **Trial optimization:**
102
+ - Send value reminders during trial (Day 1, 3, 5)
103
+ - Show trial countdown ("3 days left — here's what you'll lose")
104
+ - Offer discounted first period at trial end
105
+ - Make cancellation easy (builds trust, reduces refund requests)
106
+
107
+ ## In-App Purchase Strategy
108
+
109
+ ### Consumable IAPs (Games, Content)
110
+ - Price anchoring: Show expensive option first
111
+ - Bundle discounts: "Best Value" badge on larger packs
112
+ - Limited-time offers: Urgency drives impulse purchases
113
+ - Starter packs: One-time discounted offer for new users
114
+
115
+ ### Non-Consumable IAPs (Features, Content Packs)
116
+ - Unlock premium features individually
117
+ - Bundle related features at a discount
118
+ - "Pro Upgrade" as a one-time purchase alternative to subscription
119
+
120
+ ## Revenue Optimization
121
+
122
+ ### Key Metrics
123
+
124
+ | Metric | Formula | Target |
125
+ |--------|---------|--------|
126
+ | **ARPU** | Revenue / Total Users | Varies by category |
127
+ | **ARPPU** | Revenue / Paying Users | 3-10x ARPU |
128
+ | **Conversion Rate** | Paying / Total Users | 2-10% |
129
+ | **Trial-to-Paid** | Paid / Trial Starts | 40-60% |
130
+ | **LTV** | ARPU × Avg Lifetime | > CAC |
131
+ | **Payback Period** | CAC / Monthly ARPU | < 6 months |
132
+
133
+ ### Optimization Levers
134
+
135
+ 1. **Increase conversion rate** — Better paywall, better timing, better value prop
136
+ 2. **Increase price** — Test higher prices (often works better than expected)
137
+ 3. **Reduce churn** — See `retention-optimization`
138
+ 4. **Add revenue streams** — Subscription + IAP + ads (for free users)
139
+ 5. **Expand to annual** — Push annual over monthly (higher LTV)
140
+
141
+ ## Output Format
142
+
143
+ ### Monetization Recommendation
144
+
145
+ ```
146
+ Recommended Model: [model]
147
+ Pricing:
148
+ Monthly: $[X.99]
149
+ Annual: $[X.99] (save [X]%)
150
+ Trial: [N] days free
151
+
152
+ Paywall Strategy:
153
+ Timing: [when to show]
154
+ Type: [hard/soft/metered]
155
+
156
+ Expected Metrics:
157
+ Conversion: [X]%
158
+ ARPU: $[X]/month
159
+ LTV: $[X]
160
+ ```
161
+
162
+ ### Implementation Roadmap
163
+
164
+ 1. **Week 1:** [pricing and paywall setup]
165
+ 2. **Week 2:** [trial flow and messaging]
166
+ 3. **Month 1:** [A/B test pricing, optimize paywall]
167
+ 4. **Month 2:** [add secondary revenue stream]
168
+
169
+ ## Related Skills
170
+
171
+ - `retention-optimization` — Retention directly impacts LTV
172
+ - `competitor-analysis` — Competitive pricing analysis
173
+ - `ab-test-store-listing` — Test pricing page elements
174
+ - `app-analytics` — Track revenue metrics
175
+ - `ua-campaign` — CAC vs LTV optimization
@@ -0,0 +1,194 @@
1
+ ---
2
+ name: onboarding-optimization
3
+ description: When the user wants to improve their app's onboarding experience, increase activation rate, reduce Day 1 drop-off, or optimize the first-run flow. Use when the user mentions "onboarding", "first-run", "activation", "tutorial", "day 1 retention", "new user flow", "permission prompts", "sign-up conversion", "onboarding funnel", or "users dropping off early". For overall retention strategy, see retention-optimization. For paywall placement, see monetization-strategy.
4
+ metadata:
5
+ version: 1.0.0
6
+ ---
7
+
8
+ # Onboarding Optimization
9
+
10
+ You optimize the first-run experience to maximize activation — the moment a new user completes the core action that predicts long-term retention.
11
+
12
+ ## The Activation Principle
13
+
14
+ **Activation ≠ sign-up.** Activation is the first time the user gets real value from your app. Identify it before anything else.
15
+
16
+ | App Type | Activation Event |
17
+ |----------|-----------------|
18
+ | Fitness | First workout completed |
19
+ | Productivity | First task or project created |
20
+ | Social | First connection made or content posted |
21
+ | Finance | First account linked or budget set |
22
+ | Games | First level or match completed |
23
+ | Meditation | First session completed |
24
+ | Photo/Video | First photo edited or exported |
25
+
26
+ **Rule:** Everything in onboarding should funnel toward that one activation event as fast as possible.
27
+
28
+ ## Initial Assessment
29
+
30
+ 1. Check for `app-marketing-context.md`
31
+ 2. Ask: **What is your activation event?**
32
+ 3. Ask: **What % of new users reach it within 24 hours?** (baseline)
33
+ 4. Ask: **Where do users drop off?** (which step, if known)
34
+ 5. Ask: **How long does your current onboarding take?** (steps, screens)
35
+ 6. Ask: **Do you have Firebase/Mixpanel funnels set up?**
36
+
37
+ ## Onboarding Audit Framework
38
+
39
+ ### Step 1 — Map the Current Flow
40
+
41
+ List every screen from app open to activation:
42
+
43
+ ```
44
+ App open → [Screen 1] → [Screen 2] → ... → Activation event
45
+ ```
46
+
47
+ Flag each screen: **Required** | **Value-adding** | **Friction only**
48
+
49
+ Remove or defer everything that is friction-only.
50
+
51
+ ### Step 2 — Score Each Screen
52
+
53
+ | Factor | Question | Score |
54
+ |--------|---------|-------|
55
+ | **Necessity** | Can the user reach activation without this? | 0 = skip it |
56
+ | **Timing** | Is this the right moment for this ask? | |
57
+ | **Value exchange** | Does the user understand why this benefits them? | |
58
+ | **Cognitive load** | How many decisions does this require? | |
59
+
60
+ ### Step 3 — Permission Prompt Timing
61
+
62
+ Permissions are the #1 drop-off point. Rules:
63
+
64
+ | Permission | When to ask | Never ask |
65
+ |-----------|------------|-----------|
66
+ | Push notifications | After activation, not before | On cold open |
67
+ | Location | When the feature needs it | During sign-up |
68
+ | Camera/microphone | Contextually, when used | Before any value |
69
+ | Contacts | When the social feature is used | In onboarding |
70
+ | Tracking (ATT) | After user is invested | On first open |
71
+
72
+ **The pre-permission screen:** Always show a native-looking explanation screen before the system prompt. Users who understand the "why" grant at 2–3× the rate.
73
+
74
+ ### Step 4 — Sign-Up Friction
75
+
76
+ | Pattern | Impact | Recommendation |
77
+ |---------|--------|---------------|
78
+ | Required sign-up before value | High drop-off | Defer to post-activation |
79
+ | Only email+password | Medium drop-off | Add Sign in with Apple + Google |
80
+ | Long profile setup | High drop-off | Ask 1 question max, defer rest |
81
+ | Email verification required | Kills momentum | Defer or make optional |
82
+
83
+ **Guest mode / try before sign-up:** Allow users to experience the core value before requiring an account. Conversion from guest → registered is typically 40–60% vs. a hard gate at 15–30%.
84
+
85
+ ## Onboarding Patterns by App Type
86
+
87
+ ### Value-First (recommended for most apps)
88
+
89
+ ```
90
+ Open → Core feature demo / interactive preview
91
+ → Activation moment
92
+ → "Save your progress" → Sign-up
93
+ → Permission asks
94
+ → Personalization
95
+ ```
96
+
97
+ ### Personalization-First (works for health, fitness, AI apps)
98
+
99
+ ```
100
+ Open → 3–5 personalization questions (show progress bar)
101
+ → "Your plan is ready" reveal moment
102
+ → Sign-up gate (invested now)
103
+ → Activation
104
+ ```
105
+
106
+ ### Social-First (social apps)
107
+
108
+ ```
109
+ Open → Sign in with Apple/Google (single tap)
110
+ → Find friends / follow suggestions
111
+ → First feed with content
112
+ → Activation (post, comment, react)
113
+ ```
114
+
115
+ ## Funnel Benchmarks
116
+
117
+ | Step | Benchmark | Poor |
118
+ |------|-----------|------|
119
+ | App open → first interaction | > 85% | < 70% |
120
+ | Sign-up conversion | > 60% | < 40% |
121
+ | Push permission grant | > 50% | < 30% |
122
+ | Activation (D0) | > 40% | < 20% |
123
+ | Day 1 retention | > 30% | < 15% |
124
+
125
+ ## Personalization Questions
126
+
127
+ If you include personalization, follow these rules:
128
+ - Maximum **3–5 questions** in onboarding
129
+ - Each question must visibly affect the experience
130
+ - Show a progress indicator (step 1 of 3)
131
+ - Use visual selections, not text inputs
132
+ - Never ask for data you won't use immediately
133
+
134
+ ## Paywall Placement in Onboarding
135
+
136
+ **Rule:** Show value before the paywall.
137
+
138
+ | Placement | Works When |
139
+ |-----------|-----------|
140
+ | Before activation | Almost never — user has no reference for value |
141
+ | At activation | Strong — user just felt the value |
142
+ | Post-activation, D1 | Strongest for subscription apps |
143
+ | Contextual (feature gate) | Good for feature-based paywall |
144
+
145
+ See `monetization-strategy` for paywall design details.
146
+
147
+ ## Output Format
148
+
149
+ ### Onboarding Audit
150
+
151
+ ```
152
+ Current flow:
153
+ [Screen 1] — Required / friction
154
+ [Screen 2] — Value-adding
155
+ [Screen 3] — Required / friction
156
+ ...
157
+ [Activation event] — Step N
158
+
159
+ Drop-off analysis:
160
+ Biggest drop: [screen] ([X]% exit rate if known)
161
+ Estimated cause: [hypothesis]
162
+
163
+ Recommended changes:
164
+ 1. [Remove / defer X] — Expected impact: [lift in activation]
165
+ 2. [Reorder Y before Z] — Expected impact: [rationale]
166
+ 3. [Add pre-permission screen for Z] — Expected impact: [grant rate improvement]
167
+
168
+ Revised flow:
169
+ Open → [Screen] → [Screen] → Activation → Sign-up → Permissions
170
+ Estimated steps removed: [N]
171
+ Estimated time to activation: [Xs → Xs]
172
+ ```
173
+
174
+ ### Permission Screen Copy Template
175
+
176
+ ```
177
+ [Icon representing the permission]
178
+
179
+ [Benefit headline — what the user gets]
180
+ e.g., "Get notified when your goal is complete"
181
+
182
+ [One-line explanation]
183
+ e.g., "We'll only send you reminders you set — no spam."
184
+
185
+ [Allow button] [Not now]
186
+ ```
187
+
188
+ ## Related Skills
189
+
190
+ - `retention-optimization` — Day 7/30 retention strategy
191
+ - `monetization-strategy` — Paywall placement and trial design
192
+ - `ab-test-store-listing` — Test onboarding variants
193
+ - `app-analytics` — Set up activation funnel tracking
194
+ - `rating-prompt-strategy` — When to ask for a rating post-activation