@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,184 @@
1
+ ---
2
+ name: rating-prompt-strategy
3
+ description: When the user wants to improve their app's star rating, increase ratings volume, optimize when and how they prompt users for a review, or recover from a bad rating period. Use when the user mentions "app rating", "star rating", "review prompt", "SKStoreReviewRequest", "In-App Review API", "ask for review", "low rating", "rating drop", "get more reviews", or "recover from 1-star". For responding to reviews, see review-management. For overall ASO health, see aso-audit.
4
+ metadata:
5
+ version: 1.0.0
6
+ ---
7
+
8
+ # Rating Prompt Strategy
9
+
10
+ You optimize when, how, and to whom an app shows review prompts — maximizing high ratings while minimizing negative ones. Ratings are an App Store ranking signal and a conversion factor on the product page.
11
+
12
+ ## Why Ratings Matter for ASO
13
+
14
+ - **Search ranking** — Apps with higher ratings rank better for competitive keywords
15
+ - **Conversion** — Rating stars are visible in search results; a 4.8 beats 4.2 at a glance
16
+ - **iOS:** Rating resets per version (you can request a reset in App Store Connect)
17
+ - **Android:** Ratings are permanent and cumulative — one bad period is hard to recover
18
+
19
+ ## The Core Rule
20
+
21
+ **Only prompt users who have experienced value.** Prompting too early produces low ratings. Prompting at a success moment produces 4–5 star ratings.
22
+
23
+ ## iOS — SKStoreReviewRequest
24
+
25
+ Apple's native prompt. Rules:
26
+ - Shows at most **3 times per year** regardless of how many times you call it
27
+ - Apple controls the display logic — calling it doesn't guarantee it shows
28
+ - Never prompt after an error, crash, or frustrating moment
29
+ - Cannot customize the prompt UI
30
+
31
+ ```swift
32
+ import StoreKit
33
+
34
+ // Call at the right moment
35
+ if let scene = UIApplication.shared.connectedScenes.first as? UIWindowScene {
36
+ SKStoreReviewController.requestReview(in: scene)
37
+ }
38
+ ```
39
+
40
+ ## Android — Play In-App Review API
41
+
42
+ Google's native prompt. Rules:
43
+ - No hard limits, but Google throttles it if called too often
44
+ - Show after a clear positive moment
45
+ - Cannot determine if the user actually rated (privacy)
46
+
47
+ ```kotlin
48
+ val manager = ReviewManagerFactory.create(context)
49
+ val request = manager.requestReviewFlow()
50
+ request.addOnCompleteListener { task ->
51
+ if (task.isSuccessful) {
52
+ val reviewInfo = task.result
53
+ val flow = manager.launchReviewFlow(activity, reviewInfo)
54
+ flow.addOnCompleteListener { /* proceed */ }
55
+ }
56
+ }
57
+ ```
58
+
59
+ ## Timing Framework
60
+
61
+ ### The Success Moment Trigger
62
+
63
+ Define 1–3 "success moments" in your app where users are most satisfied:
64
+
65
+ | App Type | Good Prompt Moments | Bad Prompt Moments |
66
+ |----------|--------------------|--------------------|
67
+ | Fitness | After completing a workout | After skipping a session |
68
+ | Productivity | After completing a project/task | After a failed save or sync error |
69
+ | Games | After winning a level or beating a boss | After losing or failing |
70
+ | Finance | After first successful transaction | After a confusing error |
71
+ | Meditation | After completing a session | On cold open |
72
+ | Shopping | After a successful purchase/delivery | After a failed checkout |
73
+
74
+ ### Session-Based Rules
75
+
76
+ Only prompt users who meet all criteria:
77
+
78
+ ```
79
+ Criteria to prompt:
80
+ ✓ Sessions >= 3 (not a first-time user)
81
+ ✓ Time since install >= 3 days
82
+ ✓ Has completed [activation event] at least once
83
+ ✓ No crash in last session
84
+ ✓ No negative signal (error, cancellation) in current session
85
+ ✓ Not already rated this version
86
+ ```
87
+
88
+ ## Pre-Prompt Survey (Recommended)
89
+
90
+ Before triggering the native prompt, show a single in-app question:
91
+
92
+ ```
93
+ "Are you enjoying [App Name]?"
94
+ [Yes, love it!] [Not really]
95
+ ```
96
+
97
+ - **"Yes"** → trigger `SKStoreReviewRequest` / Play In-App Review
98
+ - **"Not really"** → show a feedback form (email or in-app), **do not** trigger the native prompt
99
+
100
+ This filters out dissatisfied users before they can rate you 1–2 stars.
101
+
102
+ **Expected improvement:** 0.3–0.8 stars on average with a pre-prompt filter.
103
+
104
+ ## Version-Gating (iOS)
105
+
106
+ iOS allows you to reset ratings per version in App Store Connect. Use this strategically:
107
+
108
+ - **Reset after a major improvement** — If you fixed the top-complained issues
109
+ - **Do not reset** after a controversial change that users disliked
110
+ - After a reset, run an aggressive (but filtered) prompt campaign in the first 7 days
111
+ - Target your most engaged users first (longest session history)
112
+
113
+ ## Recovering from a Rating Drop
114
+
115
+ ### Diagnosis
116
+
117
+ 1. Check which version caused the drop — correlate with release dates
118
+ 2. Read the 1-star reviews for that period — find the common complaint
119
+ 3. Fix the issue in the next release
120
+ 4. Reply to every 1–3 star review (see `review-management` skill)
121
+
122
+ ### Recovery Campaign
123
+
124
+ After the fix is shipped:
125
+ 1. Reply to negative reviews: "Fixed in version X.X — please update and let us know"
126
+ 2. Some users will update their rating after a reply
127
+ 3. Run a prompt campaign targeted at your most loyal users (highest session count)
128
+ 4. Do not prompt users who left a negative review
129
+
130
+ ### Timeline
131
+
132
+ ```
133
+ Day 0: Issue identified — hotfix or patch in progress
134
+ Day 1–3: Reply to every negative review acknowledging the issue
135
+ Day 7: Fix shipped — reply to previous negative reviews "Fixed in X.X"
136
+ Day 8+: Enable prompt for sessions >= 5, no crash last 7 days
137
+ Week 3: Monitor rating trend — should recover 0.2–0.5 stars in 2–4 weeks
138
+ ```
139
+
140
+ ## Prompt Frequency
141
+
142
+ | Platform | Maximum | Recommended |
143
+ |----------|---------|-------------|
144
+ | iOS | 3× per 365 days (Apple-enforced) | 1–2× per version |
145
+ | Android | No hard limit (Google throttles) | 1× per 30 days per user |
146
+
147
+ Never show the prompt twice in the same session.
148
+
149
+ ## Output Format
150
+
151
+ ### Rating Strategy Plan
152
+
153
+ ```
154
+ Current rating: [X.X] ★ ([N] ratings)
155
+ Platform: iOS / Android / Both
156
+
157
+ Success moments identified:
158
+ 1. [Event name] — fires when [condition]
159
+ 2. [Event name] — fires when [condition]
160
+
161
+ Pre-prompt survey: Yes / No
162
+ If yes: "Are you enjoying [App Name]?" → Yes / Not really
163
+
164
+ Prompt trigger logic:
165
+ Sessions >= [N]
166
+ Days since install >= [N]
167
+ No crash in last [N] sessions
168
+ [Activation event] completed: yes
169
+ Already rated this version: no
170
+
171
+ Expected outcome: +[X] stars over [N] weeks
172
+
173
+ Recovery plan (if rating < 4.0):
174
+ 1. [Fix] — ship by [date]
175
+ 2. [Reply strategy] — [N] reviews to address
176
+ 3. [Prompt campaign] — start [date], target [segment]
177
+ ```
178
+
179
+ ## Related Skills
180
+
181
+ - `review-management` — Respond to reviews to recover rating
182
+ - `onboarding-optimization` — Fix activation issues that drive 1-star reviews
183
+ - `android-aso` — Play In-App Review API context
184
+ - `retention-optimization` — Engaged users give better ratings
@@ -0,0 +1,165 @@
1
+ ---
2
+ name: retention-optimization
3
+ description: When the user wants to reduce churn, improve user engagement, or increase lifetime value. Also use when the user mentions "retention", "churn", "users leaving", "engagement", "DAU/MAU", "user activation", or "why are users uninstalling". For onboarding-specific issues, see app-launch. For monetization, see monetization-strategy.
4
+ metadata:
5
+ version: 1.0.0
6
+ ---
7
+
8
+ # Retention Optimization
9
+
10
+ You are an expert in mobile app retention and engagement strategy. Your goal is to diagnose retention issues and provide a prioritized plan to keep users coming back.
11
+
12
+ ## Initial Assessment
13
+
14
+ 1. Check for `app-marketing-context.md` — read it for context
15
+ 2. Ask for **current retention metrics** (Day 1, Day 7, Day 30 if available)
16
+ 3. Ask for **app category** (benchmarks vary dramatically)
17
+ 4. Ask about **monetization model** (retention strategy differs for free vs subscription)
18
+ 5. Ask about **current engagement features** (push notifications, streaks, etc.)
19
+
20
+ ## Retention Benchmarks
21
+
22
+ ### Industry Averages (Day 1 / Day 7 / Day 30)
23
+
24
+ | Category | Day 1 | Day 7 | Day 30 | Good |
25
+ |----------|-------|-------|--------|------|
26
+ | Games | 25-30% | 10-15% | 3-5% | D1 >35%, D30 >8% |
27
+ | Social | 30-35% | 15-20% | 8-12% | D1 >40%, D30 >15% |
28
+ | Health & Fitness | 20-25% | 10-12% | 4-6% | D1 >30%, D30 >10% |
29
+ | Productivity | 15-20% | 8-10% | 3-5% | D1 >25%, D30 >8% |
30
+ | E-commerce | 15-20% | 5-8% | 2-3% | D1 >25%, D30 >5% |
31
+ | Finance | 20-25% | 10-12% | 5-8% | D1 >30%, D30 >10% |
32
+ | Education | 15-20% | 8-10% | 3-5% | D1 >25%, D30 >8% |
33
+
34
+ ## Retention Framework
35
+
36
+ ### 1. Activation (Day 0-1)
37
+
38
+ The first session determines everything. Users who don't reach the "aha moment" in session 1 rarely return.
39
+
40
+ **Diagnose:**
41
+ - What % of users complete onboarding?
42
+ - How long until the first value moment?
43
+ - What's the drop-off point in the first session?
44
+
45
+ **Optimize:**
46
+ - Reduce time-to-value (show core value in < 60 seconds)
47
+ - Remove unnecessary onboarding steps
48
+ - Defer account creation until after value delivery
49
+ - Use progressive disclosure (don't overwhelm)
50
+ - Show a "quick win" in the first session
51
+
52
+ ### 2. Habit Formation (Day 1-7)
53
+
54
+ **Diagnose:**
55
+ - What triggers bring users back?
56
+ - Is there a natural usage frequency?
57
+ - What do retained users do that churned users don't?
58
+
59
+ **Optimize:**
60
+ - **Push notifications** — Personalized, value-driven, not spammy
61
+ - Day 1: "Welcome back — here's what you missed"
62
+ - Day 3: "[Specific value] is waiting for you"
63
+ - Day 7: "You're on a [N]-day streak!"
64
+ - **Streaks & progress** — Visual progress indicators
65
+ - **Daily content** — New content, challenges, or recommendations
66
+ - **Social hooks** — Friends, leaderboards, sharing
67
+
68
+ ### 3. Engagement Deepening (Day 7-30)
69
+
70
+ **Diagnose:**
71
+ - Which features do power users use that casual users don't?
72
+ - What's the engagement cliff (when do users stop exploring)?
73
+
74
+ **Optimize:**
75
+ - Feature discovery prompts (introduce advanced features gradually)
76
+ - Personalization (adapt content/recommendations to usage patterns)
77
+ - Community features (forums, social, user-generated content)
78
+ - Achievement system (badges, milestones, rewards)
79
+
80
+ ### 4. Long-term Retention (Day 30+)
81
+
82
+ **Diagnose:**
83
+ - What causes late-stage churn?
84
+ - Are there seasonal patterns?
85
+ - Do updates improve or hurt retention?
86
+
87
+ **Optimize:**
88
+ - Regular content updates
89
+ - Feature launches that re-engage dormant users
90
+ - Win-back campaigns for churned users
91
+ - Loyalty rewards for long-term users
92
+
93
+ ## Churn Prevention Tactics
94
+
95
+ ### Push Notification Strategy
96
+
97
+ | Timing | Message Type | Example |
98
+ |--------|-------------|---------|
99
+ | Day 1 | Welcome + quick tip | "Tap here to set up your first [X]" |
100
+ | Day 3 | Value reminder | "Your [data/content] is ready to view" |
101
+ | Day 5 | Social proof | "[N] people completed [action] this week" |
102
+ | Day 7 | Streak/progress | "You're building a great habit!" |
103
+ | Day 14 | Feature discovery | "Did you know you can also [feature]?" |
104
+ | Day 30 | Milestone | "One month! Here's your progress summary" |
105
+
106
+ **Rules:**
107
+ - Max 3-5 notifications per week
108
+ - Always provide value, never just "Come back!"
109
+ - Personalize based on user behavior
110
+ - Allow granular notification preferences
111
+ - A/B test timing and copy
112
+
113
+ ### Win-back Campaigns
114
+
115
+ For users who haven't opened the app in 7+ days:
116
+ 1. **Email** (if you have it) — "We've added [feature] since you last visited"
117
+ 2. **Push notification** — "[Specific value] is waiting for you"
118
+ 3. **In-app message** (on return) — "Welcome back! Here's what's new"
119
+
120
+ ### Cancellation Flow (Subscriptions)
121
+
122
+ When a user tries to cancel:
123
+ 1. Ask why (multiple choice)
124
+ 2. Offer alternatives based on reason:
125
+ - "Too expensive" → Offer discount or downgrade
126
+ - "Don't use enough" → Show usage stats, suggest features
127
+ - "Missing feature" → Share roadmap, offer to notify
128
+ - "Found alternative" → Highlight unique value
129
+ 3. Offer pause instead of cancel
130
+ 4. Make it easy to cancel (forced retention backfires)
131
+
132
+ ## Output Format
133
+
134
+ ### Retention Diagnostic
135
+
136
+ ```
137
+ Current State:
138
+ - Day 1: [X]% (benchmark: [Y]%) [above/below]
139
+ - Day 7: [X]% (benchmark: [Y]%) [above/below]
140
+ - Day 30: [X]% (benchmark: [Y]%) [above/below]
141
+
142
+ Biggest Drop-off: Day [N] to Day [N]
143
+ Estimated Impact: [X]% improvement = [Y] additional monthly users
144
+ ```
145
+
146
+ ### Action Plan
147
+
148
+ **Week 1 (Quick Wins):**
149
+ 1. [specific tactic with expected impact]
150
+ 2. [specific tactic with expected impact]
151
+
152
+ **Month 1 (High Impact):**
153
+ 1. [specific tactic with expected impact]
154
+ 2. [specific tactic with expected impact]
155
+
156
+ **Quarter 1 (Strategic):**
157
+ 1. [specific tactic with expected impact]
158
+ 2. [specific tactic with expected impact]
159
+
160
+ ## Related Skills
161
+
162
+ - `app-analytics` — Set up retention tracking
163
+ - `monetization-strategy` — Retention's impact on revenue
164
+ - `review-management` — Retention issues surface in reviews
165
+ - `app-launch` — First-time user experience
@@ -0,0 +1,154 @@
1
+ ---
2
+ name: review-management
3
+ description: When the user wants to analyze, respond to, or improve their app reviews and ratings. Also use when the user mentions "reviews", "ratings", "negative reviews", "how to get more reviews", "review response", or "my rating is dropping". For broader ASO audit, see aso-audit. For retention issues causing bad reviews, see retention-optimization.
4
+ metadata:
5
+ version: 1.0.0
6
+ ---
7
+
8
+ # Review Management
9
+
10
+ You are an expert in app review strategy and reputation management. Your goal is to help the user turn reviews into a growth lever — improving ratings, gaining insights, and building user trust.
11
+
12
+ ## Initial Assessment
13
+
14
+ 1. Check for `app-marketing-context.md` — read it for context
15
+ 2. Ask for the **App ID** (to fetch current reviews)
16
+ 3. Ask for **target country** (default: US)
17
+ 4. Ask about their **current rating** and **trend** (improving or declining?)
18
+ 5. Ask if they **currently respond** to reviews
19
+
20
+ ## Review Analysis Framework
21
+
22
+ ### Sentiment Analysis
23
+
24
+ Categorize reviews into:
25
+
26
+ | Category | Description | Action |
27
+ |----------|-------------|--------|
28
+ | **Bugs & Crashes** | Technical issues | Fix and respond with timeline |
29
+ | **Feature Requests** | Users want something new | Track frequency, consider for roadmap |
30
+ | **UX Complaints** | Confusing or frustrating flows | Prioritize UX improvements |
31
+ | **Pricing Complaints** | Too expensive, paywall issues | Review monetization strategy |
32
+ | **Love & Praise** | Positive feedback | Thank and ask for sharing |
33
+ | **Competitor Mentions** | Users comparing to alternatives | Understand competitive gaps |
34
+
35
+ ### Review Metrics to Track
36
+
37
+ | Metric | Target | Why |
38
+ |--------|--------|-----|
39
+ | Average rating | 4.5+ stars | Below 4.0 significantly hurts conversion |
40
+ | Rating trend | Stable or improving | Declining trend signals problems |
41
+ | Review velocity | Consistent | Sudden drops may indicate prompt issues |
42
+ | Response rate | 100% of negative | Shows you care, can change ratings |
43
+ | Response time | < 24 hours | Fast responses build trust |
44
+
45
+ ## Rating Improvement Strategy
46
+
47
+ ### In-App Rating Prompt Optimization
48
+
49
+ **When to show the prompt:**
50
+ - After a positive experience (completed a task, achieved a goal)
51
+ - After the user has used the app 3+ times
52
+ - After at least 7 days of usage
53
+ - Never after a crash, error, or frustrating moment
54
+ - Never during onboarding or first session
55
+
56
+ **Apple's SKStoreReviewController rules:**
57
+ - Can only be called 3 times per 365-day period per device
58
+ - Apple controls when the dialog actually appears
59
+ - You cannot customize the dialog
60
+ - You can control WHEN you call it (timing is everything)
61
+
62
+ **Smart trigger patterns:**
63
+ 1. **Achievement trigger** — User completes a milestone
64
+ 2. **Streak trigger** — User returns for N consecutive days
65
+ 3. **Value trigger** — User saves money, time, or achieves a result
66
+ 4. **Delight trigger** — After a moment of surprise or delight
67
+
68
+ ### Handling Negative Reviews
69
+
70
+ **Response framework (HEAR):**
71
+ 1. **H**ear — Acknowledge the specific issue they mentioned
72
+ 2. **E**mpathize — Show you understand their frustration
73
+ 3. **A**ct — Explain what you're doing about it (or have done)
74
+ 4. **R**esolve — Invite them to contact support for direct help
75
+
76
+ **Response templates:**
77
+
78
+ **Bug report:**
79
+ > Thank you for reporting this, [name]. We identified the issue and it's fixed in version [X.X] releasing [date]. We appreciate your patience — please update when available and let us know if it resolves the issue.
80
+
81
+ **Feature request:**
82
+ > Great suggestion! We've added this to our roadmap. We're always looking to improve based on user feedback. Stay tuned for upcoming updates.
83
+
84
+ **Vague negative ("This app sucks"):**
85
+ > We're sorry to hear about your experience. We'd love to understand what went wrong so we can improve. Could you reach out to [support email] with details? We're here to help.
86
+
87
+ **What NOT to do:**
88
+ - Don't be defensive or argumentative
89
+ - Don't copy-paste the same response to every review
90
+ - Don't ignore negative reviews
91
+ - Don't ask users to change their rating (against guidelines)
92
+ - Don't offer incentives for reviews
93
+
94
+ ### Turning Detractors into Advocates
95
+
96
+ 1. **Fix the issue** they reported
97
+ 2. **Respond** acknowledging the fix
98
+ 3. **Follow up** via support if they contacted you
99
+ 4. Many users will **update their review** after a positive resolution
100
+
101
+ ## Review Mining for Product Insights
102
+
103
+ ### Competitor Review Analysis
104
+
105
+ Read competitor reviews to find:
106
+ - **Unmet needs** — What do users wish the competitor had?
107
+ - **Common complaints** — What frustrates users? (your opportunity)
108
+ - **Switching triggers** — Why do users leave competitors?
109
+ - **Feature expectations** — What's table stakes in the category?
110
+
111
+ ### Your Review Patterns
112
+
113
+ Analyze your reviews for:
114
+ - **Most mentioned features** (positive and negative)
115
+ - **Common user segments** (who uses your app?)
116
+ - **Emotional language** (what feelings does your app evoke?)
117
+ - **Comparison mentions** (which competitors do users mention?)
118
+
119
+ ## Output Format
120
+
121
+ ### Review Health Report
122
+
123
+ ```
124
+ Rating: [X.X] ★ ([trend: ↑/↓/→])
125
+ Total Reviews: [N]
126
+ Last 30 Days: [N] reviews, [X.X] avg rating
127
+ Response Rate: [X]%
128
+
129
+ Top Issues:
130
+ 1. [issue] — mentioned [N] times
131
+ 2. [issue] — mentioned [N] times
132
+ 3. [issue] — mentioned [N] times
133
+
134
+ Top Praise:
135
+ 1. [praise] — mentioned [N] times
136
+ 2. [praise] — mentioned [N] times
137
+ ```
138
+
139
+ ### Action Plan
140
+
141
+ 1. **Immediate:** [respond to X negative reviews using templates]
142
+ 2. **This week:** [fix top reported bug, optimize rating prompt timing]
143
+ 3. **This month:** [implement top feature request, analyze competitor reviews]
144
+
145
+ ### Response Drafts
146
+
147
+ Provide specific response drafts for the most impactful negative reviews.
148
+
149
+ ## Related Skills
150
+
151
+ - `aso-audit` — Reviews as part of broader ASO health check
152
+ - `retention-optimization` — Fix retention issues causing bad reviews
153
+ - `competitor-analysis` — Mine competitor reviews for insights
154
+ - `app-analytics` — Track review metrics over time
@@ -0,0 +1,167 @@
1
+ ---
2
+ name: screenshot-optimization
3
+ description: When the user wants to design, optimize, or evaluate App Store screenshots and preview videos. Also use when the user mentions "screenshots", "app preview", "product page design", "screenshot design", "creative assets", or "what should my screenshots show". For A/B testing screenshots, see ab-test-store-listing. For full ASO audit, see aso-audit.
4
+ metadata:
5
+ version: 1.0.0
6
+ ---
7
+
8
+ # Screenshot Optimization
9
+
10
+ You are an expert in App Store creative optimization with deep knowledge of what converts browsers into downloaders. Your goal is to help the user design screenshots that maximize conversion rate.
11
+
12
+ ## Initial Assessment
13
+
14
+ 1. Check for `app-marketing-context.md` — read it for positioning and audience
15
+ 2. Ask for the **App ID** (to see current screenshots)
16
+ 3. Ask for **target audience** — who is browsing the App Store for this?
17
+ 4. Ask for **top 3 features** they want to highlight
18
+ 5. Ask if they have a **designer** or need guidance for DIY
19
+
20
+ ## Screenshot Psychology
21
+
22
+ Users spend **3-6 seconds** on a product page before deciding. The first 3 screenshots (visible without scrolling) determine 80% of the conversion decision.
23
+
24
+ **What users look for:**
25
+ 1. "Does this solve my problem?" (first screenshot)
26
+ 2. "Is it easy to use?" (UI clarity)
27
+ 3. "Is it worth downloading?" (social proof, quality signals)
28
+
29
+ ## Screenshot Strategy Framework
30
+
31
+ ### Slot 1: The Hook
32
+
33
+ The first screenshot is the most important. It should answer "What does this app do and why should I care?"
34
+
35
+ **Effective patterns:**
36
+ - **Benefit headline + key UI** — "Sleep Better Tonight" + sleep tracking screen
37
+ - **Before/After** — Show the transformation
38
+ - **Social proof + UI** — "5M+ users trust us" + main screen
39
+ - **Problem statement** — "Tired of [problem]?" + solution screen
40
+
41
+ **Avoid:**
42
+ - Generic "Welcome to [App]" screens
43
+ - Login/signup screens
44
+ - Settings or menu screens
45
+
46
+ ### Slots 2-3: Core Value
47
+
48
+ Show the 2 most compelling features with benefit-driven captions.
49
+
50
+ ### Slots 4-7: Feature Showcase
51
+
52
+ Each screenshot = one feature with a clear benefit headline.
53
+
54
+ **Formula:** `[Benefit Headline] + [Feature UI] + [Supporting Detail]`
55
+
56
+ ### Slots 8-9: Trust & Differentiation
57
+
58
+ - Awards, press mentions, ratings
59
+ - Comparison with alternatives
60
+ - Premium/unique features
61
+
62
+ ### Slot 10: Call to Action
63
+
64
+ - "Start your free trial"
65
+ - "Join [X] million users"
66
+ - Recap of key benefits
67
+
68
+ ## Design Best Practices
69
+
70
+ ### Text Overlays
71
+
72
+ | Do | Don't |
73
+ |----|-------|
74
+ | Benefit-driven headlines | Feature names ("Push Notifications") |
75
+ | 4-6 words per headline | Long paragraphs |
76
+ | Large, readable font (min 60px) | Small text that's unreadable |
77
+ | High contrast text | Text over busy backgrounds |
78
+ | Consistent font and style | Mixed fonts and sizes |
79
+
80
+ ### Visual Design
81
+
82
+ | Do | Don't |
83
+ |----|-------|
84
+ | Clean, uncluttered UI | Busy screens with too much data |
85
+ | Consistent color scheme | Clashing colors |
86
+ | Modern device frames (or frameless) | Outdated device frames |
87
+ | Real app content (not lorem ipsum) | Placeholder or empty states |
88
+ | Dark mode if your app supports it | Ignoring dark mode users |
89
+
90
+ ### Layout Patterns
91
+
92
+ **Portrait (recommended for most apps):**
93
+ - Device centered with text above or below
94
+ - Full-bleed UI with text overlay
95
+ - Split layout: text left, device right
96
+
97
+ **Landscape (games, video, productivity):**
98
+ - Full-screen gameplay/content
99
+ - Minimal text overlay
100
+ - Action-focused moments
101
+
102
+ ### Localization
103
+
104
+ - Translate text overlays for each market
105
+ - Adjust cultural references and imagery
106
+ - Consider right-to-left layouts for Arabic/Hebrew
107
+ - Use local currency in pricing screenshots
108
+
109
+ ## App Preview Video
110
+
111
+ ### When to Use
112
+ - Complex apps that need demonstration
113
+ - Games (almost always beneficial)
114
+ - Apps with unique interactions
115
+
116
+ ### Best Practices
117
+ - **Hook in first 3 seconds** — show the most impressive feature
118
+ - **15-30 seconds** optimal length
119
+ - **No sound dependency** — add captions/text overlays
120
+ - **Show real usage** — not marketing fluff
121
+ - **End with CTA** — "Download Free" or key benefit
122
+
123
+ ### When to Skip
124
+ - Simple utility apps (screenshots are enough)
125
+ - Apps where the value is in content, not UI
126
+
127
+ ## Output Format
128
+
129
+ ### Screenshot Plan
130
+
131
+ For each of the 10 slots:
132
+
133
+ ```
134
+ Slot [N]: [Headline]
135
+ - Caption: "[benefit-driven text]"
136
+ - Screen: [which app screen to show]
137
+ - Layout: [portrait/landscape, device frame, text position]
138
+ - Key element: [what draws the eye]
139
+ ```
140
+
141
+ ### Design Brief
142
+
143
+ If the user needs to brief a designer:
144
+ - Color palette (from app brand)
145
+ - Font recommendations
146
+ - Layout template
147
+ - Text overlay copy for all 10 slots
148
+ - Device frame preference
149
+ - Background style
150
+
151
+ ### Competitor Screenshot Audit
152
+
153
+ | Element | Your App | Comp 1 | Comp 2 | Comp 3 |
154
+ |---------|----------|--------|--------|--------|
155
+ | # of screenshots | | | | |
156
+ | Has video? | | | | |
157
+ | First screenshot type | | | | |
158
+ | Text overlay style | | | | |
159
+ | Design quality (1-10) | | | | |
160
+ | Unique angle | | | | |
161
+
162
+ ## Related Skills
163
+
164
+ - `ab-test-store-listing` — Test screenshot variations
165
+ - `aso-audit` — Screenshots as part of broader audit
166
+ - `competitor-analysis` — Analyze competitor creative strategy
167
+ - `localization` — Localize screenshots for international markets