@growthub/cli 0.3.33 → 0.3.35

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 (31) hide show
  1. package/README.md +21 -0
  2. package/assets/worker-kits/creative-strategist-v1/brands/_template/brand-kit.md +123 -0
  3. package/assets/worker-kits/creative-strategist-v1/brands/solawave/brand-kit.md +139 -0
  4. package/assets/worker-kits/creative-strategist-v1/bundles/creative-strategist-v1.json +46 -0
  5. package/assets/worker-kits/creative-strategist-v1/growthub-meta/README.md +14 -0
  6. package/assets/worker-kits/creative-strategist-v1/growthub-meta/kit-standard.md +47 -0
  7. package/assets/worker-kits/creative-strategist-v1/kit.json +72 -0
  8. package/assets/worker-kits/creative-strategist-v1/skills.md +341 -0
  9. package/assets/worker-kits/creative-strategist-v1/templates/ad-formats/INDEX.md +94 -0
  10. package/assets/worker-kits/creative-strategist-v1/templates/ad-formats/bedroom-minimic-talk.md +197 -0
  11. package/assets/worker-kits/creative-strategist-v1/templates/ad-formats/frame-analysis.md +209 -0
  12. package/assets/worker-kits/creative-strategist-v1/templates/ad-formats/process-specialist-medical.md +105 -0
  13. package/assets/worker-kits/creative-strategist-v1/templates/ad-formats/villain-animation.md +183 -0
  14. package/assets/worker-kits/creative-strategist-v1/templates/brief-template.js +470 -0
  15. package/assets/worker-kits/creative-strategist-v1/templates/hooks-library/500-winning-hooks.csv +539 -0
  16. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/INDEX.md +151 -0
  17. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/body/before-after-flatlay.md +143 -0
  18. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/body/minimic-problem.md +109 -0
  19. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/body/product-demo-glow.md +123 -0
  20. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/body/tiktok-skeptic-pivot.md +119 -0
  21. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/body/villain-agitation.md +156 -0
  22. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/cta/bogo-meme-bookend.md +144 -0
  23. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/cta/guarantee-close.md +143 -0
  24. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/hooks/dollar-amount.md +105 -0
  25. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/hooks/meme-overlay.md +104 -0
  26. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/hooks/pov-confession.md +92 -0
  27. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/hooks/tiktok-comment.md +116 -0
  28. package/assets/worker-kits/creative-strategist-v1/templates/scene-modules/hooks/villain-hook.md +134 -0
  29. package/assets/worker-kits/creative-strategist-v1/workers/creative-strategist/CLAUDE.md +440 -0
  30. package/dist/index.js +206 -0
  31. package/package.json +3 -2
@@ -0,0 +1,92 @@
1
+ # Scene Module: POV Mirror Confession Hook
2
+ > ID: `pov-confession`
3
+ > Type: hook (Scene 1)
4
+ > Compatible Formats: `bedroom-minimic-talk`
5
+ > Status: ✅ PROVEN — Solawave BOGO (Hook E)
6
+
7
+ ---
8
+
9
+ ## WHAT IT DOES
10
+
11
+ Creator is caught in a candid moment: looking at herself in a mirror, scrutinizing her skin. "POV:" text appears — a TikTok native language signal that puts the viewer IN the moment. She turns to camera with mini-mic, transitioning from the private moment to the share.
12
+
13
+ **Why it works:** "POV:" is the highest-engagement text format on TikTok/Reels — it collapses the distance between creator and viewer. The mirror moment is relatable to anyone who's ever examined their own face. The turn-to-camera creates a reveal beat in 3 seconds.
14
+
15
+ ---
16
+
17
+ ## VISUAL DIRECTION
18
+
19
+ ```
20
+ Frame: Creator in bathroom or bedroom, facing mirror. Camera captures her OVER THE SHOULDER
21
+ so we see both her face and the mirror reflection simultaneously.
22
+ OR: creator looking directly into front camera as if checking skin — then pulls back.
23
+ Beat: She leans in to look at her skin (1 second) → recognition/reaction face (0.5s)
24
+ → turns toward camera/phone with mini-mic (1.5s).
25
+ Lighting: Warm bathroom/vanity light. Natural, slightly imperfect. NOT studio.
26
+ ```
27
+
28
+ ---
29
+
30
+ ## ON-SCREEN TEXT
31
+
32
+ ```
33
+ Line 1: "POV: [PAIN_POINT_AS_POV_STATEMENT]"
34
+
35
+ Templates:
36
+ "POV: your $80 eye cream stopped working"
37
+ "POV: you've been using the same serum for 6 months and nothing changed"
38
+ "POV: you just turned [AGE] and your face noticed first"
39
+ "POV: you've tried every skincare thing on your FYP"
40
+
41
+ Style: White text, black outline. "POV:" in slightly smaller text than the statement.
42
+ Appears at top of frame (unlike other hooks which use bottom third).
43
+ ```
44
+
45
+ ---
46
+
47
+ ## ACTOR DIALOGUE
48
+
49
+ ```
50
+ Pattern: [names the specific failed product/investment] + [pivot to solution]
51
+
52
+ Templates:
53
+ "Been there. Here's what actually moved the needle."
54
+ "That was me. And then I stopped wasting money and tried this."
55
+ "Same. For [TIME]. Until I found [PRODUCT_NAME]."
56
+ "I had that exact face every morning until [PRODUCT_NAME]."
57
+
58
+ Delivery: Matter-of-fact. She's past the frustration stage — she found the answer.
59
+ Slight confidence in the turn-to-camera moment.
60
+ ```
61
+
62
+ ---
63
+
64
+ ## BRAND-KIT PLACEHOLDERS
65
+
66
+ | Placeholder | Source | Example |
67
+ |-------------|--------|---------|
68
+ | `[PAIN_POINT_AS_POV_STATEMENT]` | `brand-kit.md → target_pain_point` | "your $80 eye cream stopped working" |
69
+ | `[PRODUCT_NAME]` | `brand-kit.md → primary_service` | "Solawave" |
70
+ | `[AGE]` | `brand-kit.md → target_age_range` midpoint | "28" / "32" |
71
+
72
+ ---
73
+
74
+ ## JS STUB (hookCard)
75
+
76
+ ```js
77
+ hookCard("E", "POV Mirror Confession",
78
+ "VISUAL: Creator in bathroom/bedroom facing mirror. Camera over-shoulder — we see face + reflection.\n" +
79
+ "She leans in to examine skin, reaction face, then turns to camera with mini-mic.\n\n" +
80
+ "ON-SCREEN TEXT (top of frame): 'POV: [PAIN_POINT_AS_POV_STATEMENT]'\n\n" +
81
+ "ACTOR LINE: '[PIVOT_TO_SOLUTION_LINE]'\n\n" +
82
+ "NOTE: Native TikTok language. Mirror moment is universally relatable. Best for 25–35 female demo."
83
+ )
84
+ ```
85
+
86
+ ---
87
+
88
+ ## AI GENERATION PROMPT STUB
89
+
90
+ ```
91
+ Photoreal female creator, [AI_ACTOR_AGE], natural look. Bathroom or bedroom vanity. Camera captures her over-the-shoulder — both face and mirror reflection visible. She leans in to look at her skin, expression: scrutiny → recognition → resolves to discovery. Turns to camera/phone with silver mini-mic in hand. Warm vanity/bathroom lighting. Unfiltered, authentic. Text overlay at top: 'POV: [PAIN_POINT]'. 9:16. 3 seconds.
92
+ ```
@@ -0,0 +1,116 @@
1
+ # Scene Module: TikTok Comment Hook
2
+ > ID: `tiktok-comment`
3
+ > Type: hook (Scene 1)
4
+ > Compatible Formats: `bedroom-minimic-talk`
5
+ > Status: ✅ PROVEN — Solawave BOGO (Hook B)
6
+
7
+ ---
8
+
9
+ ## WHAT IT DOES
10
+
11
+ Opens with a TikTok-style comment bubble overlaid on screen. The comment voices the viewer's exact skepticism about the category/product ("Is this legit or just another skincare scam?"). The creator reads it, recognizes it, and responds directly to camera — turning the comment into a shared moment rather than a defensive rebuttal.
12
+
13
+ **Why it works:** It names the objection in the viewer's own voice before the viewer consciously forms it. The comment feels like a peer asking, not an ad defending. The creator's response ("Girl, I had the same question") transforms skepticism into curiosity in 3 seconds. High persuasion hook for any category with trust barriers.
14
+
15
+ ---
16
+
17
+ ## VISUAL DIRECTION
18
+
19
+ ```
20
+ Frame: Creator at bedroom desk, mini-mic in one hand.
21
+ She's holding her phone slightly toward the camera, or comment appears as overlay.
22
+ Comment: TikTok-style comment bubble (dark rounded rectangle, white username + text).
23
+ Positioned in lower-middle or left-of-center of frame.
24
+ Creator glances DOWN at it → raises an eyebrow → looks UP at camera.
25
+ Duration: Comment visible for 1.5–2 seconds.
26
+ Lighting: Warm bedroom ambient.
27
+ ```
28
+
29
+ **Comment text options (pick one per variation):**
30
+ ```
31
+ "Is this legit or just another skincare scam?"
32
+ "does this actually work or is it just hype"
33
+ "Is this legit tho?"
34
+ "wait is this actually real??"
35
+ "tried so many of these. Do they actually work?"
36
+ ```
37
+
38
+ ---
39
+
40
+ ## ON-SCREEN TEXT
41
+
42
+ ```
43
+ Overlay: [TikTok comment bubble] — "Is this legit or just another [CATEGORY] scam?"
44
+ Username: @[generic — e.g. @sarahtrying2024 / @beautygirl_real]
45
+
46
+ After: Comment fades. Creator's caption appears:
47
+ "[RESPONSE_LINE]"
48
+ e.g. "girl. i had the same question."
49
+ ```
50
+
51
+ ---
52
+
53
+ ## ACTOR DIALOGUE
54
+
55
+ ```
56
+ Pattern: [validates the question] + [earned credibility signal] + [pivot to answer]
57
+
58
+ Templates:
59
+ "Girl. I had the same question. So I actually tested it."
60
+ "Literally me 3 weeks ago. I looked it up."
61
+ "Same. I went down the rabbit hole so you don't have to."
62
+ "I asked that too. Here's what I found."
63
+
64
+ Delivery: Slight amused smile at the comment. Recognition, not defensiveness.
65
+ She's not selling — she's answering a question she had herself.
66
+ ```
67
+
68
+ ---
69
+
70
+ ## BRAND-KIT PLACEHOLDERS
71
+
72
+ | Placeholder | Source | Example |
73
+ |-------------|--------|---------|
74
+ | `[CATEGORY]` | `brand-kit.md → industry` | "skincare" / "pet" / "supplement" |
75
+ | `[PRODUCT_NAME]` | `brand-kit.md → primary_service` | "Solawave wand" |
76
+ | `[RESPONSE_LINE]` | Brief content | "girl. i had the same question." |
77
+
78
+ ---
79
+
80
+ ## DUAL USE: Hook OR Body Scene
81
+
82
+ This module works in TWO positions:
83
+ 1. **As Hook A or B** (Scene 1, 0–3s) — pure skepticism open. No product shown.
84
+ 2. **As Scene 3 body beat** (8–13s) — comment appears mid-ad as the "skeptic pivot" after the problem confession. Product is introduced immediately after.
85
+
86
+ When used in Scene 3, pair with `body/tiktok-skeptic-pivot.md` for the full beat.
87
+
88
+ ---
89
+
90
+ ## MUSE REFERENCE
91
+
92
+ Muse: @frankyshaw — frames around 11–13s (the "if you even" + "me rn editing" beat)
93
+ The muse doesn't use a literal TikTok comment — but addresses viewer skepticism directly at this beat.
94
+ The TikTok comment format is the **Solawave enhancement** of that skepticism-disarm beat.
95
+
96
+ ---
97
+
98
+ ## JS STUB (hookCard)
99
+
100
+ ```js
101
+ hookCard("B", "TikTok Comment — 'Is This Legit?'",
102
+ "VISUAL: TikTok comment bubble overlaid: 'Is this legit or just another [CATEGORY] scam?'\n" +
103
+ "Actor glances down at it, raises eyebrow, looks back at camera with amused recognition.\n\n" +
104
+ "ON-SCREEN TEXT: [comment bubble] → clears → '[RESPONSE_LINE]'\n\n" +
105
+ "ACTOR LINE: '[RESPONSE_LINE] So I actually tested it.'\n\n" +
106
+ "NOTE: Preempts #1 consumer objection in the first 2 seconds. High persuasion."
107
+ )
108
+ ```
109
+
110
+ ---
111
+
112
+ ## AI GENERATION PROMPT STUB
113
+
114
+ ```
115
+ Photoreal female creator, [AI_ACTOR_AGE], natural look, warm skin tone. Bedroom desk. Silver mini-mic in one hand. TikTok comment bubble overlaid on frame: 'Is this legit or just another [CATEGORY] scam?' (dark rounded rectangle, white text, @username visible). She looks down at comment, raises an eyebrow in recognition, looks up at camera with slight amused smile. Warm ambient bedroom lighting. Authentic TikTok creator aesthetic. 9:16. 3 seconds.
116
+ ```
@@ -0,0 +1,134 @@
1
+ # Scene Module: Villain Character Hook
2
+ > ID: `villain-hook`
3
+ > Type: hook (Scene 1)
4
+ > Compatible Formats: `villain-animation`
5
+ > Status: ✅ PROVEN — Clarifion ODRx brief (Scenes 1–5 villain format)
6
+
7
+ ---
8
+
9
+ ## WHAT IT DOES
10
+
11
+ Opens with animated villain characters — the failing/competing products rendered as cartoon objects with expressive faces and small arms — standing in the problem environment. Establishes the enemy and the frustration in one visual before a single word of VO plays. The viewer's problem is externalised as a villain, not their own failure.
12
+
13
+ **Why it works:** Villain characters make the problem feel conquerable. When a litter bag or a scented plug-in has a smug face, the viewer's frustration has a target. The animated format also bypasses competitor brand legal concerns while being more memorable than live footage. The emotional shorthand is immediate: chaotic + dark + villain face = "I know exactly what this is."
14
+
15
+ ---
16
+
17
+ ## VISUAL DIRECTION
18
+
19
+ ```
20
+ Setting: [PROBLEM_ENVIRONMENT] — the place where the problem lives.
21
+ e.g. wall outlets (air quality), litter box area (pet odor), bathroom sink (skincare)
22
+ Color palette: dark, cool, slightly chaotic. Contrasts sharply with the hero scenes.
23
+
24
+ Villain: [VILLAIN_CHARACTER] — animated version of the competing/failed product.
25
+ Has: expressive face (smug, angry, mocking), small stubby arms, exaggerated emotions.
26
+ Positioned: center frame, between 2–3 other failed products.
27
+ Animation: slight idle bounce or arm-wave — alive and antagonistic.
28
+
29
+ Animals/characters: If relevant to category — present and frustrated/unhappy.
30
+ Positioned near the villain (reinforces the problem, not the solution).
31
+ ```
32
+
33
+ **Villain design by category:**
34
+ - Air quality / odor: Animated scented plug-in with smug face between 3 wall outlets
35
+ - Pet behavior: Litter bag villain inside/near litter box. Clay, crystal, enzyme cleaner villains.
36
+ - Supplement / pill: Pill bottle villain with exaggerated grimace. Supplement jar.
37
+ - Skincare: Cream jar or serum bottle with frustrated face. "Still not working" energy.
38
+ - Home cleaning: Spray bottle villain, baking soda box, mop — all with villain faces.
39
+
40
+ ---
41
+
42
+ ## ON-SCREEN TEXT
43
+
44
+ ```
45
+ Style: Karaoke word-by-word — 1–4 words at a time. Key word highlighted in brand accent color.
46
+ This is the ONLY text rhythm for this format. Do not use full sentences.
47
+
48
+ Hook line template:
49
+ "[WHY NOTHING] / [CHANGED] / [AND YOU HAVE] / [MIGHT WORK] / [WE RAN OUT]"
50
+ (each chunk = one karaoke beat, ~0.5–1 second each)
51
+
52
+ Examples:
53
+ "WHY NOTHING / WORKED" → "AND YOU SPENT" → "$[AMOUNT]" → "TRYING"
54
+ "STILL HAPPENING" → "EVERY SINGLE" → "DAY"
55
+ "YOU'VE TRIED" → "EVERYTHING" → "NOTHING STICKS"
56
+ ```
57
+
58
+ ---
59
+
60
+ ## ACTOR/VO DIALOGUE
61
+
62
+ ```
63
+ This format uses VOICEOVER (not on-camera creator). The VO speaks over the animation.
64
+
65
+ Pattern: [addresses viewer's frustration directly] + [acknowledges failed attempts] + [implies answer is coming]
66
+
67
+ Templates:
68
+ "Why nothing changed — and you have [FAILED_PRODUCT_1], [FAILED_PRODUCT_2], and [FAILED_PRODUCT_3]..."
69
+ "You've tried everything. And [VILLAIN] is still there every single morning."
70
+ "Still happening. Even after [DOLLAR_AMOUNT] and [TIME_SPENT]."
71
+
72
+ Delivery: Direct, slightly conspiratorial. NOT an announcer. Voice of a peer who's been there.
73
+ Pace matches the karaoke text rhythm — one thought per beat.
74
+ ```
75
+
76
+ ---
77
+
78
+ ## BRAND-KIT PLACEHOLDERS
79
+
80
+ | Placeholder | Source | Example |
81
+ |-------------|--------|---------|
82
+ | `[PROBLEM_ENVIRONMENT]` | `brand-kit.md → target_pain_point` | "wall outlets + living room" |
83
+ | `[VILLAIN_CHARACTER]` | Brief content / category | "animated scented plug-in with smug face" |
84
+ | `[FAILED_PRODUCT_1/2/3]` | Brief content | "Enzyme Cleaner, Scented Plug-In, Clay Litter" |
85
+ | `[DOLLAR_AMOUNT]` | Brief content | "$300" |
86
+ | `[BRAND_ACCENT_COLOR]` | `brand-kit.md → colors.secondary` | "2C7FF8" (Clarifion blue) |
87
+
88
+ ---
89
+
90
+ ## HOOK VARIATIONS FOR THIS MODULE (5 A–E)
91
+
92
+ ```
93
+ Hook A — "Why Nothing Changed" (direct muse mirror)
94
+ VO: "Why nothing changed — and you've tried [FAILED_1], [FAILED_2], [FAILED_3]..."
95
+ Villain: center frame, mocking expression, surrounded by competing products
96
+
97
+ Hook B — "You've Spent [AMOUNT]"
98
+ VO: "You've spent [AMOUNT] on [CATEGORY]. And [PROBLEM] is still there."
99
+ Villain: inside/on the failed product, arms raised triumphantly
100
+
101
+ Hook C — "Every Morning / Every Night"
102
+ VO: "Every single [morning/night]. Same problem. Different product. Nothing works."
103
+ Villain: animated in daily-loop — same scene repeating
104
+
105
+ Hook D — "The Thing That Actually Works"
106
+ VO: "The thing that actually works isn't what they keep selling you."
107
+ Villain: running away from incoming hero product light (tone flip tease)
108
+
109
+ Hook E — "You Gave Up Too Soon"
110
+ VO: "You didn't give up. The products gave up on you."
111
+ Villain: visually failing/broken — villainizes the product, not the viewer
112
+ ```
113
+
114
+ ---
115
+
116
+ ## JS STUB (hookCard)
117
+
118
+ ```js
119
+ hookCard("A", "Villain Hook — Direct Muse Mirror",
120
+ "VISUAL: Animated [PROBLEM_ENVIRONMENT]. [VILLAIN_CHARACTER] center frame with smug/angry face + small arms.\n" +
121
+ "2–3 competing products visible around it. [ANIMAL/CHARACTER] unhappy nearby. Dark, chaotic color palette.\n\n" +
122
+ "ON-SCREEN TEXT (karaoke): '[WHY_NOTHING]' → '[CHANGED]' → '[AND_YOU_HAVE]' — key word in [ACCENT_COLOR].\n\n" +
123
+ "VO: '[HOOK_A_LINE]'\n\n" +
124
+ "NOTE: Identical villain format to muse. Test first."
125
+ )
126
+ ```
127
+
128
+ ---
129
+
130
+ ## AI GENERATION PROMPT STUB
131
+
132
+ ```
133
+ 3D animated [PROBLEM_ENVIRONMENT]. [VILLAIN_CHARACTER] with expressive cartoon face (smug/angry) and small stubby arms, positioned center frame. 2–3 other [FAILED_PRODUCTS] rendered as villain characters surrounding it. [ANIMAL/CHARACTER] in background looking frustrated/unhappy. Dark, cool, slightly chaotic color palette. Karaoke text overlaid word-by-word in white with [ACCENT_COLOR] highlight on key word. Animated villain has slight idle bounce. 9:16. 15–17 seconds.
134
+ ```