@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.
- package/README.md +51 -1
- package/bin/awk.js +2 -2
- package/core/GEMINI.md +45 -7
- package/package.json +8 -5
- package/skill-packs/neural-memory/skills/nm-memory-sync/SKILL.md +14 -1
- package/skills/ab-test-store-listing/SKILL.md +220 -0
- package/skills/android-aso/SKILL.md +197 -0
- package/skills/app-analytics/SKILL.md +210 -0
- package/skills/app-clips/SKILL.md +163 -0
- package/skills/app-icon-optimization/SKILL.md +170 -0
- package/skills/app-launch/SKILL.md +153 -0
- package/skills/app-marketing-context/SKILL.md +129 -0
- package/skills/app-store-featured/SKILL.md +213 -0
- package/skills/apple-search-ads/SKILL.md +205 -0
- package/skills/asc-metrics/SKILL.md +157 -0
- package/skills/aso-audit/SKILL.md +179 -0
- package/skills/competitor-analysis/SKILL.md +163 -0
- package/skills/competitor-tracking/SKILL.md +185 -0
- package/skills/crash-analytics/SKILL.md +181 -0
- package/skills/gitnexus-intelligence/SKILL.md +224 -0
- package/skills/in-app-events/SKILL.md +176 -0
- package/skills/keyword-research/SKILL.md +141 -0
- package/skills/localization/SKILL.md +165 -0
- package/skills/market-movers/SKILL.md +137 -0
- package/skills/market-pulse/SKILL.md +170 -0
- package/skills/metadata-optimization/SKILL.md +170 -0
- package/skills/monetization-strategy/SKILL.md +175 -0
- package/skills/onboarding-optimization/SKILL.md +194 -0
- package/skills/orchestrator/SKILL.md +306 -25
- package/skills/press-and-pr/SKILL.md +204 -0
- package/skills/rating-prompt-strategy/SKILL.md +184 -0
- package/skills/retention-optimization/SKILL.md +165 -0
- package/skills/review-management/SKILL.md +154 -0
- package/skills/screenshot-optimization/SKILL.md +167 -0
- package/skills/seasonal-aso/SKILL.md +141 -0
- package/skills/spec-gate/SKILL.md +312 -0
- package/skills/subscription-lifecycle/SKILL.md +206 -0
- package/skills/swiftui-pro/references/design.md +44 -0
- package/skills/symphony-enforcer/SKILL.md +92 -11
- package/skills/symphony-orchestrator/SKILL.md +9 -7
- package/skills/systematic-debugging/SKILL.md +32 -7
- package/skills/ua-campaign/SKILL.md +207 -0
- package/skills/verification-gate/SKILL.md +23 -2
- package/workflows/gitnexus.md +123 -0
- package/symphony/LICENSE +0 -21
- package/symphony/README.md +0 -178
- package/symphony/app/api/agents/route.js +0 -152
- package/symphony/app/api/events/route.js +0 -22
- package/symphony/app/api/knowledge/route.js +0 -253
- package/symphony/app/api/locks/route.js +0 -29
- package/symphony/app/api/notes/route.js +0 -125
- package/symphony/app/api/preflight/route.js +0 -23
- package/symphony/app/api/projects/route.js +0 -116
- package/symphony/app/api/roles/route.js +0 -134
- package/symphony/app/api/skills/route.js +0 -82
- package/symphony/app/api/status/route.js +0 -18
- package/symphony/app/api/tasks/route.js +0 -157
- package/symphony/app/api/workflows/route.js +0 -61
- package/symphony/app/api/workspaces/route.js +0 -15
- package/symphony/app/globals.css +0 -2605
- package/symphony/app/layout.js +0 -20
- package/symphony/app/page.js +0 -2122
- package/symphony/cli/index.js +0 -1060
- package/symphony/core/agent-manager.js +0 -357
- package/symphony/core/context-bus.js +0 -100
- package/symphony/core/db.js +0 -223
- package/symphony/core/file-lock-manager.js +0 -154
- package/symphony/core/merge-pipeline.js +0 -234
- package/symphony/core/orchestrator.js +0 -236
- package/symphony/core/task-manager.js +0 -335
- package/symphony/core/workspace-manager.js +0 -168
- package/symphony/jsconfig.json +0 -7
- package/symphony/lib/core.mjs +0 -1034
- package/symphony/mcp/index.js +0 -29
- package/symphony/mcp/server.js +0 -110
- package/symphony/mcp/tools/context.js +0 -80
- package/symphony/mcp/tools/locks.js +0 -99
- package/symphony/mcp/tools/status.js +0 -82
- package/symphony/mcp/tools/tasks.js +0 -216
- package/symphony/mcp/tools/workspace.js +0 -143
- package/symphony/next.config.mjs +0 -7
- package/symphony/package.json +0 -53
- package/symphony/scripts/postinstall.js +0 -49
- 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
|