@growthub/cli 0.8.0 → 0.8.2
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/assets/worker-kits/growthub-agency-portal-starter-v1/.env.example +53 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/QUICKSTART.md +98 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/SKILL.md +89 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/.env.example +25 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/README.md +36 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/app/api/settings/integrations/route.js +13 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/app/api/workspace/route.js +27 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/app/globals.css +237 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/app/layout.jsx +14 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/app/page.jsx +165 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/app/settings/integrations/page.jsx +134 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/adapters/auth/index.js +21 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/adapters/env.js +28 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/adapters/integrations/growthub-connection-normalizer.js +95 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/adapters/integrations/index.js +178 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/adapters/payments/index.js +13 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/adapters/persistence/index.js +13 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/adapters/persistence/postgres.js +16 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/adapters/persistence/provider-managed.js +16 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/adapters/persistence/qstash-kv.js +16 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/domain/integrations.js +185 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/lib/domain/portal.js +16 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/next.config.js +10 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/package-lock.json +976 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/package.json +17 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/postcss.config.mjs +3 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/apps/agency-portal/vercel.json +5 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/brands/NEW-CLIENT.md +10 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/brands/_template/brand-kit.md +27 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/brands/growthub/brand-kit.md +25 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/bundles/growthub-agency-portal-starter-v1.json +65 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/docs/adapter-contracts.md +79 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/docs/fork-sync-integration.md +32 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/docs/governed-workspace-primitives.md +182 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/docs/starter-kit-overview.md +30 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/docs/vercel-serverless-deployment.md +46 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/docs/vite-ui-shell-guide.md +24 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/examples/portal-brief-sample.md +44 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/examples/workspace-sample.md +10 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/growthub-meta/README.md +11 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/growthub-meta/kit-standard.md +16 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/helpers/README.md +49 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/kit.json +156 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/output/README.md +13 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/output-standards.md +25 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/runtime-assumptions.md +15 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/setup/check-deps.sh +20 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/setup/verify-env.mjs +92 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/skills/README.md +55 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/skills.md +133 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/studio/index.html +12 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/studio/package-lock.json +1677 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/studio/package.json +20 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/studio/serve.mjs +42 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/studio/src/App.jsx +162 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/studio/src/app.css +138 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/studio/src/main.jsx +10 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/studio/vite.config.js +8 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/templates/agent-contract.md +9 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/templates/client-onboarding-plan.md +56 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/templates/deployment-handoff.md +61 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/templates/deployment-plan.md +22 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/templates/portal-brief.md +65 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/templates/project.md +55 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/templates/self-eval.md +67 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/templates/supabase-setup-plan.md +26 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/templates/workspace-brief.md +11 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/validation-checklist.md +32 -0
- package/assets/worker-kits/growthub-agency-portal-starter-v1/workers/agency-portal-operator/CLAUDE.md +75 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/.env.example +28 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/QUICKSTART.md +118 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/SKILL.md +103 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/.env.example +20 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/README.md +33 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/api/pipeline/route.js +27 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/globals.css +203 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/layout.jsx +14 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/page.jsx +131 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/app/settings/keys/page.jsx +154 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/lib/adapters/env.js +14 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/lib/adapters/generative/index.js +31 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/lib/domain/pipeline.js +30 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/next.config.js +10 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/package-lock.json +17 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/package.json +17 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/postcss.config.mjs +3 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/apps/creative-video-pipeline/vercel.json +5 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/brands/NEW-CLIENT.md +21 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/brands/_template/brand-kit.md +123 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/brands/growthub/brand-kit.md +123 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/bundles/growthub-creative-video-pipeline-v1.json +83 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/adapter-contracts.md +73 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/governed-workspace-primitives.md +50 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/pipeline-architecture.md +61 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/starter-kit-overview.md +33 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/vercel-deployment.md +42 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/examples/pipeline-brief-sample.md +56 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/growthub-meta/README.md +9 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/growthub-meta/kit-standard.md +24 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/helpers/README.md +8 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/helpers/check-generative-adapter.sh +41 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/helpers/run-pipeline.sh +30 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/kit.json +148 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/output/README.md +23 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/output-standards.md +63 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/runtime-assumptions.md +61 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/setup/check-deps.sh +63 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/setup/clone-fork.sh +18 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/setup/install-skill.sh +10 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/setup/verify-env.mjs +50 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills/README.md +11 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills/brief-generation/SKILL.md +42 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills/generative-execution/SKILL.md +86 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills/video-edit/SKILL.md +41 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/skills.md +302 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/index.html +12 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/package-lock.json +20 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/package.json +20 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/serve.mjs +41 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/src/App.jsx +210 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/src/app.css +194 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/src/main.jsx +10 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/studio/vite.config.js +8 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/edit-plan.md +66 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/generative-plan.md +83 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/pipeline-brief.md +129 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/project.md +68 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/templates/self-eval.md +67 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/validation-checklist.md +52 -0
- package/assets/worker-kits/growthub-creative-video-pipeline-v1/workers/creative-video-pipeline-operator/CLAUDE.md +109 -0
- package/dist/index.js +42 -33
- package/package.json +1 -1
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Brand Kit — [CLIENT NAME]
|
|
2
|
+
> Copy this file to `brands/<client-slug>/brand-kit.md` and fill in every field.
|
|
3
|
+
> Leave no field blank. Use "N/A" or "TBD" if unknown — do not delete the key.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## IDENTITY
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
client_name: "" # Full legal/brand name
|
|
11
|
+
slug: "" # kebab-case folder name e.g. "greentree-wellness"
|
|
12
|
+
industry: "" # e.g. Healthcare / Med Spa / Legal / Real Estate
|
|
13
|
+
primary_service: "" # The ONE service this campaign promotes
|
|
14
|
+
campaign_name: "" # e.g. "Regenerative Medicine — Spring 2026"
|
|
15
|
+
date_onboarded: "" # YYYY-MM-DD
|
|
16
|
+
account_owner: "" # Internal contact name
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## AUDIENCE
|
|
22
|
+
|
|
23
|
+
```yaml
|
|
24
|
+
target_age_range: "" # e.g. "55–70"
|
|
25
|
+
target_gender: "" # e.g. "All" / "Female-skewing" / "Male"
|
|
26
|
+
target_pain_point: "" # e.g. "Chronic joint pain — knees, hips, shoulders"
|
|
27
|
+
target_intent: "" # e.g. "Actively seeking non-surgical treatment options"
|
|
28
|
+
geographic_target: "" # e.g. "New Jersey — Bergen/Morris/Essex County"
|
|
29
|
+
do_not_attract: "" # Who we explicitly DO NOT want — critical for ad targeting
|
|
30
|
+
# e.g. "Pain medication / opioid patients. People seeking prescriptions."
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## MESSAGING
|
|
36
|
+
|
|
37
|
+
```yaml
|
|
38
|
+
core_message: "" # One sentence — what the brand promises
|
|
39
|
+
emotional_arc: "" # e.g. "Struggle → Recognition → Transformation → Action"
|
|
40
|
+
tone: [] # 3–5 adjectives e.g. ["warm", "credible", "science-informed", "hopeful"]
|
|
41
|
+
approved_phrases: [] # Language that IS approved for use
|
|
42
|
+
# e.g. ["natural healing", "body's own repair process", "results within weeks"]
|
|
43
|
+
messaging_guardrails: [] # Language that is NEVER allowed
|
|
44
|
+
# e.g. ["pain management", "medication", "prescriptions", "opioids"]
|
|
45
|
+
cta_text: "" # Primary CTA e.g. "Schedule Your Free Consultation"
|
|
46
|
+
cta_offer: "" # Offer text e.g. "Free Initial Assessment" / "50% off first visit"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## BRAND DESIGN
|
|
52
|
+
|
|
53
|
+
```yaml
|
|
54
|
+
colors:
|
|
55
|
+
primary: "" # Hex e.g. "2D6A4F"
|
|
56
|
+
secondary: "" # Hex e.g. "40916C"
|
|
57
|
+
light_accent: "" # Hex e.g. "D8F3DC"
|
|
58
|
+
dark: "" # Hex e.g. "1B1B1B"
|
|
59
|
+
white: "FFFFFF"
|
|
60
|
+
mid_gray: "6B7280"
|
|
61
|
+
|
|
62
|
+
fonts:
|
|
63
|
+
primary: "Arial" # Default — change only if brand font is embedded
|
|
64
|
+
heading_size: 56 # Half-points. 56 = 28pt heading
|
|
65
|
+
body_size: 20 # Half-points. 20 = 10pt body
|
|
66
|
+
|
|
67
|
+
logo_file: "" # Relative path e.g. "assets/logo.png"
|
|
68
|
+
logo_on_dark: "" # Version for dark backgrounds e.g. "assets/logo-white.png"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## TALENT & PRODUCTION
|
|
74
|
+
|
|
75
|
+
```yaml
|
|
76
|
+
doctor_or_founder_name: "" # Full name + credentials e.g. "Dr. Anthony Carabasi, DO"
|
|
77
|
+
founder_on_camera: "" # Yes / No / Available on request
|
|
78
|
+
ai_avatar_type: "" # Photoreal / Talking Head / UGC / None
|
|
79
|
+
ai_actor_age_range: "" # e.g. "55–65"
|
|
80
|
+
ai_actor_notes: "" # e.g. "Warm, relatable, diverse — 2 actors per creative"
|
|
81
|
+
ugc_inspiration: "" # Link to reference actors/style
|
|
82
|
+
vo_style: "" # e.g. "Warm credible male, 40–55, calm pace — NOT announcer"
|
|
83
|
+
broll_cadence: "" # e.g. "Cut every ~3 seconds — never >3s of uninterrupted talking head"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## ASSET LINKS
|
|
89
|
+
|
|
90
|
+
```yaml
|
|
91
|
+
brand_assets_air: "" # e.g. "https://app.air.inc/a/b302d671b"
|
|
92
|
+
broll_library: "" # e.g. "https://app.air.inc/a/b9bf52f3b"
|
|
93
|
+
ugc_inspiration: "" # e.g. "https://app.air.inc/a/bb21113fd"
|
|
94
|
+
google_drive: "" # Drive folder link if applicable
|
|
95
|
+
instagram: "" # Instagram handle or URL
|
|
96
|
+
tiktok: "" # TikTok handle or URL
|
|
97
|
+
website: "" # Main website URL
|
|
98
|
+
landing_page: "" # Specific campaign landing page URL
|
|
99
|
+
phone_number: "" # Contact number for CTA overlays
|
|
100
|
+
previous_ads: [] # List of previous ad files/links for reference
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## PLATFORM & FORMAT
|
|
106
|
+
|
|
107
|
+
```yaml
|
|
108
|
+
primary_platforms: [] # e.g. ["Meta Feed", "Instagram Reels", "YouTube Pre-Roll"]
|
|
109
|
+
aspect_ratios: [] # e.g. ["9:16", "1:1", "16:9"]
|
|
110
|
+
caption_default: "ON" # ON / OFF — always ON unless client specifies otherwise
|
|
111
|
+
compliance_notes: "" # Any legal/regulatory constraints
|
|
112
|
+
# e.g. "No before/after guarantees. 'Results may vary' required if specific claims made."
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
## DELIVERABLES LOG
|
|
118
|
+
|
|
119
|
+
> Append a new line each time a deliverable is completed.
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
- YYYY-MM-DD | [Asset Type] v[N] | [file path or link]
|
|
123
|
+
```
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# Brand Kit — Growthub
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## IDENTITY
|
|
6
|
+
|
|
7
|
+
```yaml
|
|
8
|
+
client_name: "Growthub"
|
|
9
|
+
slug: "growthub"
|
|
10
|
+
industry: "AI / Marketing Technology / Creator Tools"
|
|
11
|
+
primary_service: "AI-powered creative video pipeline for marketing teams"
|
|
12
|
+
campaign_name: "Creative Video Pipeline Launch"
|
|
13
|
+
date_onboarded: "2026-04-24"
|
|
14
|
+
account_owner: "Growthub Team"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## AUDIENCE
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
target_age_range: "25–45"
|
|
23
|
+
target_gender: "All"
|
|
24
|
+
target_pain_point: "Time-consuming manual video production and disconnected creative workflows"
|
|
25
|
+
target_intent: "Scaling video content production with AI without sacrificing brand quality"
|
|
26
|
+
geographic_target: "Global — English-speaking markets"
|
|
27
|
+
do_not_attract: "Users looking for fully automated no-input tools. This requires brand-aware operation."
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## MESSAGING
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
core_message: "Brief to final video in one governed pipeline — brand-grounded, AI-accelerated."
|
|
36
|
+
emotional_arc: "Overwhelm → Clarity → Confidence → Action"
|
|
37
|
+
tone: ["direct", "capable", "modern", "grounded", "builder-focused"]
|
|
38
|
+
approved_phrases:
|
|
39
|
+
- "governed pipeline"
|
|
40
|
+
- "brief to video"
|
|
41
|
+
- "brand-grounded generation"
|
|
42
|
+
- "one workflow"
|
|
43
|
+
- "production-ready"
|
|
44
|
+
messaging_guardrails:
|
|
45
|
+
- "Do not claim fully automated — operator drives the brief"
|
|
46
|
+
- "Do not promise specific platform reach numbers"
|
|
47
|
+
- "Do not use 'magic' or 'effortless' language"
|
|
48
|
+
cta_text: "Start your pipeline"
|
|
49
|
+
cta_offer: "Export the kit — free and open source"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## BRAND DESIGN
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
colors:
|
|
58
|
+
primary: "38bdf8"
|
|
59
|
+
secondary: "0ea5e9"
|
|
60
|
+
light_accent: "e0f2fe"
|
|
61
|
+
dark: "080b12"
|
|
62
|
+
white: "f7fafc"
|
|
63
|
+
mid_gray: "93a3b8"
|
|
64
|
+
|
|
65
|
+
fonts:
|
|
66
|
+
primary: "Inter"
|
|
67
|
+
heading_size: 56
|
|
68
|
+
body_size: 20
|
|
69
|
+
|
|
70
|
+
logo_file: "assets/growthub-logo.png"
|
|
71
|
+
logo_on_dark: "assets/growthub-logo-white.png"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## TALENT & PRODUCTION
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
doctor_or_founder_name: "N/A"
|
|
80
|
+
founder_on_camera: "No"
|
|
81
|
+
ai_avatar_type: "None"
|
|
82
|
+
ai_actor_age_range: "N/A"
|
|
83
|
+
ai_actor_notes: "N/A"
|
|
84
|
+
ugc_inspiration: "N/A"
|
|
85
|
+
vo_style: "Clear, direct, no announcer energy — product demo tone"
|
|
86
|
+
broll_cadence: "Cut every ~3s — product UI + pipeline flow screens"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## ASSET LINKS
|
|
92
|
+
|
|
93
|
+
```yaml
|
|
94
|
+
brand_assets_air: ""
|
|
95
|
+
broll_library: ""
|
|
96
|
+
ugc_inspiration: ""
|
|
97
|
+
google_drive: ""
|
|
98
|
+
instagram: ""
|
|
99
|
+
tiktok: ""
|
|
100
|
+
website: "https://growthub.ai"
|
|
101
|
+
landing_page: ""
|
|
102
|
+
phone_number: ""
|
|
103
|
+
previous_ads: []
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## PLATFORM & FORMAT
|
|
109
|
+
|
|
110
|
+
```yaml
|
|
111
|
+
primary_platforms: ["YouTube", "LinkedIn", "X (Twitter)"]
|
|
112
|
+
aspect_ratios: ["16:9", "9:16", "1:1"]
|
|
113
|
+
caption_default: "ON"
|
|
114
|
+
compliance_notes: "No guaranteed outcome claims. No before/after metrics without disclosure."
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## DELIVERABLES LOG
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
- 2026-04-24 | Brand Kit v1 | brands/growthub/brand-kit.md
|
|
123
|
+
```
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"bundle": {
|
|
4
|
+
"id": "growthub-creative-video-pipeline-v1",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"kitId": "growthub-creative-video-pipeline-v1",
|
|
7
|
+
"workerId": "creative-video-pipeline-operator"
|
|
8
|
+
},
|
|
9
|
+
"briefType": "creative-video-pipeline",
|
|
10
|
+
"capabilityType": "worker",
|
|
11
|
+
"executionMode": "export",
|
|
12
|
+
"activationModes": [
|
|
13
|
+
"export"
|
|
14
|
+
],
|
|
15
|
+
"export": {
|
|
16
|
+
"folderName": "growthub-agent-worker-kit-creative-video-pipeline-v1",
|
|
17
|
+
"zipFileName": "growthub-agent-worker-kit-creative-video-pipeline-v1.zip"
|
|
18
|
+
},
|
|
19
|
+
"publicExampleBrandPaths": [
|
|
20
|
+
"brands/growthub/brand-kit.md"
|
|
21
|
+
],
|
|
22
|
+
"requiredFrozenAssets": [
|
|
23
|
+
"QUICKSTART.md",
|
|
24
|
+
".env.example",
|
|
25
|
+
"SKILL.md",
|
|
26
|
+
"skills.md",
|
|
27
|
+
"output-standards.md",
|
|
28
|
+
"runtime-assumptions.md",
|
|
29
|
+
"validation-checklist.md",
|
|
30
|
+
"workers/creative-video-pipeline-operator/CLAUDE.md",
|
|
31
|
+
"brands/_template/brand-kit.md",
|
|
32
|
+
"brands/growthub/brand-kit.md",
|
|
33
|
+
"brands/NEW-CLIENT.md",
|
|
34
|
+
"setup/check-deps.sh",
|
|
35
|
+
"setup/verify-env.mjs",
|
|
36
|
+
"setup/clone-fork.sh",
|
|
37
|
+
"setup/install-skill.sh",
|
|
38
|
+
"output/README.md",
|
|
39
|
+
"templates/pipeline-brief.md",
|
|
40
|
+
"templates/generative-plan.md",
|
|
41
|
+
"templates/edit-plan.md",
|
|
42
|
+
"templates/project.md",
|
|
43
|
+
"templates/self-eval.md",
|
|
44
|
+
"examples/pipeline-brief-sample.md",
|
|
45
|
+
"docs/starter-kit-overview.md",
|
|
46
|
+
"docs/pipeline-architecture.md",
|
|
47
|
+
"docs/adapter-contracts.md",
|
|
48
|
+
"docs/vercel-deployment.md",
|
|
49
|
+
"docs/governed-workspace-primitives.md",
|
|
50
|
+
"growthub-meta/README.md",
|
|
51
|
+
"growthub-meta/kit-standard.md",
|
|
52
|
+
"helpers/README.md",
|
|
53
|
+
"helpers/run-pipeline.sh",
|
|
54
|
+
"helpers/check-generative-adapter.sh",
|
|
55
|
+
"skills/README.md",
|
|
56
|
+
"skills/brief-generation/SKILL.md",
|
|
57
|
+
"skills/generative-execution/SKILL.md",
|
|
58
|
+
"skills/video-edit/SKILL.md",
|
|
59
|
+
"studio/index.html",
|
|
60
|
+
"studio/package.json",
|
|
61
|
+
"studio/package-lock.json",
|
|
62
|
+
"studio/vite.config.js",
|
|
63
|
+
"studio/serve.mjs",
|
|
64
|
+
"studio/src/main.jsx",
|
|
65
|
+
"studio/src/App.jsx",
|
|
66
|
+
"studio/src/app.css",
|
|
67
|
+
"apps/creative-video-pipeline/README.md",
|
|
68
|
+
"apps/creative-video-pipeline/.env.example",
|
|
69
|
+
"apps/creative-video-pipeline/package.json",
|
|
70
|
+
"apps/creative-video-pipeline/package-lock.json",
|
|
71
|
+
"apps/creative-video-pipeline/next.config.js",
|
|
72
|
+
"apps/creative-video-pipeline/postcss.config.mjs",
|
|
73
|
+
"apps/creative-video-pipeline/vercel.json",
|
|
74
|
+
"apps/creative-video-pipeline/app/layout.jsx",
|
|
75
|
+
"apps/creative-video-pipeline/app/page.jsx",
|
|
76
|
+
"apps/creative-video-pipeline/app/globals.css",
|
|
77
|
+
"apps/creative-video-pipeline/app/settings/keys/page.jsx",
|
|
78
|
+
"apps/creative-video-pipeline/app/api/pipeline/route.js",
|
|
79
|
+
"apps/creative-video-pipeline/lib/adapters/env.js",
|
|
80
|
+
"apps/creative-video-pipeline/lib/adapters/generative/index.js",
|
|
81
|
+
"apps/creative-video-pipeline/lib/domain/pipeline.js"
|
|
82
|
+
]
|
|
83
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Adapter Contracts
|
|
2
|
+
|
|
3
|
+
## Execution — growthub-pipeline (primary)
|
|
4
|
+
|
|
5
|
+
The official CLI + SDK is the execution layer. No custom wrapper.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
growthub pipeline execute '<DynamicRegistryPipeline JSON>'
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
**SDK types:** `@growthub/api-contract`
|
|
12
|
+
- Input: `DynamicRegistryPipeline` — pipelineId, executionMode, nodes[].{nodeId, slug, bindings}
|
|
13
|
+
- Events: `ExecutionEvent` — validated with `isExecutionEvent()`
|
|
14
|
+
- Event types: `node_start`, `node_complete`, `node_error`, `progress`, `credit_warning`, `complete`, `error`
|
|
15
|
+
|
|
16
|
+
**Required env:**
|
|
17
|
+
- `GROWTHUB_BRIDGE_ACCESS_TOKEN`
|
|
18
|
+
- `GROWTHUB_BRIDGE_BASE_URL`
|
|
19
|
+
- Valid session from `growthub auth login` (`~/.claude/config/session.json`)
|
|
20
|
+
|
|
21
|
+
**Auth pre-flight:**
|
|
22
|
+
```bash
|
|
23
|
+
growthub auth whoami --json
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Payload (DynamicRegistryPipeline):**
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"pipelineId": "<uuid>",
|
|
30
|
+
"executionMode": "hosted",
|
|
31
|
+
"nodes": [
|
|
32
|
+
{
|
|
33
|
+
"nodeId": "video-gen-1",
|
|
34
|
+
"slug": "video-generation",
|
|
35
|
+
"bindings": {
|
|
36
|
+
"videoModel": "veo-3.1-generate-001",
|
|
37
|
+
"prompt": "<scene prompt>",
|
|
38
|
+
"seconds": 8,
|
|
39
|
+
"aspectRatio": "9:16",
|
|
40
|
+
"creativeCount": 1,
|
|
41
|
+
"refs": [{ "name": "brand_reference", "dataUrl": "data:image/jpeg;base64,<b64>" }]
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
]
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Execution — byo-api-key (secondary)
|
|
51
|
+
|
|
52
|
+
**Required env:**
|
|
53
|
+
- `VIDEO_MODEL_PROVIDER` — `veo` | `fal` | `runway`
|
|
54
|
+
- Provider key: `GOOGLE_AI_API_KEY` / `FAL_API_KEY` / `RUNWAY_API_KEY`
|
|
55
|
+
|
|
56
|
+
Call the provider SDK directly. No CLI wrapper.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Manifest (output contract)
|
|
61
|
+
|
|
62
|
+
`output/<client>/<project>/generative/manifest.json`:
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"kitId": "growthub-creative-video-pipeline-v1",
|
|
66
|
+
"adapter": "growthub-pipeline",
|
|
67
|
+
"executionId": "<from complete event>",
|
|
68
|
+
"createdAt": "<iso>",
|
|
69
|
+
"artifacts": [{ "url": "<artifact url>", "type": "video", "nodeId": "..." }]
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
This is the Stage 2 → Stage 3 handoff artifact. Stage 3 reads this to locate source clips.
|
package/assets/worker-kits/growthub-creative-video-pipeline-v1/docs/governed-workspace-primitives.md
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Governed Workspace Primitives v1.2
|
|
2
|
+
|
|
3
|
+
This kit implements the six-primitive governed-workspace contract.
|
|
4
|
+
|
|
5
|
+
## Primitive 1 — SKILL.md
|
|
6
|
+
|
|
7
|
+
Top-level `SKILL.md` at the kit root. Frontmatter declares triggers, selfEval criteria (5 items), maxRetries:3, helpers[], and subSkills[].
|
|
8
|
+
|
|
9
|
+
## Primitive 2 — AGENTS.md Pointer
|
|
10
|
+
|
|
11
|
+
`workers/creative-video-pipeline-operator/CLAUDE.md` serves as the operator contract. References the repo-level `AGENTS.md` as authoritative agent contract.
|
|
12
|
+
|
|
13
|
+
## Primitive 3 — project.md
|
|
14
|
+
|
|
15
|
+
`.growthub-fork/project.md` seeded from `templates/project.md` at fork register time via `scaffoldSessionMemory`. Contains `pipelineState` frontmatter tracking stage status.
|
|
16
|
+
|
|
17
|
+
Every stage boundary appends a log entry:
|
|
18
|
+
```
|
|
19
|
+
## Stage N Complete — <stage-name>
|
|
20
|
+
Date: <iso>
|
|
21
|
+
Output: <artifact path>
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Primitive 4 — selfEval
|
|
25
|
+
|
|
26
|
+
`templates/self-eval.md` provides the self-eval template. `recordSelfEval` in `cli/src/skills/self-eval.ts` is the canonical primitive. maxRetries:3 applies to all three stages.
|
|
27
|
+
|
|
28
|
+
## Primitive 5 — Sub-skills
|
|
29
|
+
|
|
30
|
+
`skills/` directory contains three sub-skill SKILL.md files:
|
|
31
|
+
- `skills/brief-generation/SKILL.md`
|
|
32
|
+
- `skills/generative-execution/SKILL.md`
|
|
33
|
+
- `skills/video-edit/SKILL.md`
|
|
34
|
+
|
|
35
|
+
## Primitive 6 — Helpers
|
|
36
|
+
|
|
37
|
+
`helpers/` directory contains safe shell wrappers:
|
|
38
|
+
- `helpers/run-pipeline.sh` — wraps `growthub pipeline execute`
|
|
39
|
+
- `helpers/check-generative-adapter.sh` — validates adapter env
|
|
40
|
+
|
|
41
|
+
## trace.jsonl
|
|
42
|
+
|
|
43
|
+
Machine-readable governance log. Each stage boundary writes:
|
|
44
|
+
```json
|
|
45
|
+
{"type":"stage-complete","stage":"brief","ts":"<iso>"}
|
|
46
|
+
{"type":"stage-complete","stage":"generative","ts":"<iso>"}
|
|
47
|
+
{"type":"stage-complete","stage":"edit","ts":"<iso>"}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Additional event types: `auth-preflight`, `adapter-selected`, `artifact-written`, `self-eval-pass`, `self-eval-retry`.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Pipeline Architecture
|
|
2
|
+
|
|
3
|
+
## Stage 1 — Brief
|
|
4
|
+
|
|
5
|
+
**Input:** `brands/<client>/brand-kit.md`
|
|
6
|
+
**Process:** Brand-constrained scene structure and hook generation
|
|
7
|
+
**Output:** `output/<client>/<project>/brief/pipeline-brief.md`
|
|
8
|
+
|
|
9
|
+
The brief stage is purely Claude-driven. No external API calls. The brand-kit.md is the sole source of truth for brand voice, audience, scene count, and hook patterns. Optional: reference `CREATIVE_STRATEGIST_HOME/hooks/500-winning-hooks.csv` for hook inspiration — never as brand override.
|
|
10
|
+
|
|
11
|
+
## Stage 2 — Generate
|
|
12
|
+
|
|
13
|
+
**Input:** `pipeline-brief.md` scene prompts + reference images
|
|
14
|
+
**Output:** `GenerativeArtifact[]` + `output/<client>/<project>/generative/manifest.json`
|
|
15
|
+
|
|
16
|
+
Two adapter paths with identical output contracts:
|
|
17
|
+
|
|
18
|
+
### growthub-pipeline (primary)
|
|
19
|
+
```
|
|
20
|
+
DynamicRegistryPipeline JSON → growthub pipeline execute → NDJSON stream
|
|
21
|
+
→ official CLI/SDK ExecutionEvent handling → GenerativeArtifact[]
|
|
22
|
+
```
|
|
23
|
+
Node: `video-generation` / Model: `veo-3.1-generate-001`
|
|
24
|
+
|
|
25
|
+
### byo-api-key (secondary)
|
|
26
|
+
```
|
|
27
|
+
VIDEO_MODEL_PROVIDER (veo|fal|runway) → provider SDK → GenerativeArtifact[]
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Stage 3 — Edit
|
|
31
|
+
|
|
32
|
+
**Input:** `manifest.json` source clips + `pipeline-brief.md` editing guidelines
|
|
33
|
+
**Process:** Delegate entirely to `VIDEO_USE_HOME` video-use fork
|
|
34
|
+
**Output:** `output/<client>/<project>/final/final.mp4`
|
|
35
|
+
|
|
36
|
+
```
|
|
37
|
+
edit-plan.md (handoff) → video-use fork → ElevenLabs Scribe → word-boundary EDL → FFmpeg → final.mp4
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The kit does NOT inline any video-use logic. The `edit-plan.md` is the only interface.
|
|
41
|
+
|
|
42
|
+
## Data Flow
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
brand-kit.md
|
|
46
|
+
│
|
|
47
|
+
▼ Stage 1
|
|
48
|
+
pipeline-brief.md
|
|
49
|
+
│
|
|
50
|
+
▼ Stage 2 (adapter-routed)
|
|
51
|
+
GenerativeArtifact[] + manifest.json
|
|
52
|
+
│
|
|
53
|
+
▼ Stage 3 (video-use delegation)
|
|
54
|
+
final.mp4
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Governance
|
|
58
|
+
|
|
59
|
+
Every stage boundary appends:
|
|
60
|
+
- `.growthub-fork/project.md` — human-readable progress log
|
|
61
|
+
- `trace.jsonl` — machine-readable stage events
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Starter Kit Overview
|
|
2
|
+
|
|
3
|
+
`growthub-creative-video-pipeline-v1` is a fully self-contained worker kit that composes three governed primitives into a single three-stage creative video pipeline.
|
|
4
|
+
|
|
5
|
+
## What's Included
|
|
6
|
+
|
|
7
|
+
| Surface | Description |
|
|
8
|
+
|---------|-------------|
|
|
9
|
+
| `studio/` | Vite 5 + React 18 local-first UI shell |
|
|
10
|
+
| `apps/creative-video-pipeline/` | Next.js 16 + React 19 Vercel-deployable app |
|
|
11
|
+
| `workers/creative-video-pipeline-operator/` | Governed worker contract |
|
|
12
|
+
| `skills/` | Three sub-skill primitives (brief, generative, edit) |
|
|
13
|
+
| `helpers/` | Safe shell wrappers |
|
|
14
|
+
| `templates/` | Governed output templates |
|
|
15
|
+
| `brands/` | Brand kit template + Growthub reference brand |
|
|
16
|
+
| `setup/` | Dependency check, env verify, fork clone, skill install |
|
|
17
|
+
| `docs/` | Architecture, adapter contracts, deployment |
|
|
18
|
+
|
|
19
|
+
## Three-Stage Pipeline
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Stage 1 — Brief brands/<client>/brand-kit.md → pipeline-brief.md
|
|
23
|
+
Stage 2 — Generate growthub-pipeline | byo-api-key → GenerativeArtifact[] + manifest.json
|
|
24
|
+
Stage 3 — Edit VIDEO_USE_HOME fork → Scribe → EDL → FFmpeg → final.mp4
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Governed Workspace
|
|
28
|
+
|
|
29
|
+
Every stage boundary writes:
|
|
30
|
+
- Updated `.growthub-fork/project.md`
|
|
31
|
+
- A `{"type":"stage-complete","stage":"<name>","ts":"<iso>"}` event to `trace.jsonl`
|
|
32
|
+
|
|
33
|
+
See `docs/governed-workspace-primitives.md` for the full primitive contract.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Vercel Deployment
|
|
2
|
+
|
|
3
|
+
## Deploy the Next.js App
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
cd apps/creative-video-pipeline
|
|
7
|
+
vercel --prod
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
Or connect the `apps/creative-video-pipeline` directory in the Vercel dashboard.
|
|
11
|
+
|
|
12
|
+
## Environment Variables
|
|
13
|
+
|
|
14
|
+
Set these in Vercel → Project → Settings → Environment Variables:
|
|
15
|
+
|
|
16
|
+
| Variable | Required | Notes |
|
|
17
|
+
|----------|----------|-------|
|
|
18
|
+
| `CREATIVE_VIDEO_PIPELINE_GENERATIVE_ADAPTER` | yes | `growthub-pipeline` or `byo-api-key` |
|
|
19
|
+
| `GROWTHUB_BRIDGE_ACCESS_TOKEN` | adapter | growthub-pipeline only |
|
|
20
|
+
| `GROWTHUB_BRIDGE_BASE_URL` | adapter | growthub-pipeline only |
|
|
21
|
+
| `ELEVENLABS_API_KEY` | yes | Stage 3 transcription |
|
|
22
|
+
| `VIDEO_MODEL_PROVIDER` | adapter | byo-api-key only |
|
|
23
|
+
| `GOOGLE_AI_API_KEY` | conditional | veo provider |
|
|
24
|
+
| `FAL_API_KEY` | conditional | fal provider |
|
|
25
|
+
| `RUNWAY_API_KEY` | conditional | runway provider |
|
|
26
|
+
| `VIDEO_USE_HOME` | yes | Path to video-use fork (server-side Stage 3) |
|
|
27
|
+
|
|
28
|
+
## vercel.json
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"framework": "nextjs",
|
|
33
|
+
"buildCommand": "npm run build",
|
|
34
|
+
"installCommand": "npm install"
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Notes
|
|
39
|
+
|
|
40
|
+
- All pages using `readAdapterConfig()` or `describeGenerativeAdapter()` run server-side — env vars are never exposed to the client.
|
|
41
|
+
- `app/api/pipeline/route.js` uses `export const dynamic = "force-dynamic"` to read live env state at request time.
|
|
42
|
+
- The studio Vite shell (`studio/`) is local-only and is not deployed to Vercel.
|
package/assets/worker-kits/growthub-creative-video-pipeline-v1/examples/pipeline-brief-sample.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
client: growthub
|
|
3
|
+
project: launch-2025
|
|
4
|
+
stage: brief
|
|
5
|
+
brand_kit: brands/growthub/brand-kit.md
|
|
6
|
+
created_at: 2025-01-15T10:00:00Z
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Pipeline Brief — Growthub Launch 2025
|
|
10
|
+
|
|
11
|
+
## Brand Constraints
|
|
12
|
+
| Constraint | Value |
|
|
13
|
+
|------------|-------|
|
|
14
|
+
| Primary Colour | #38bdf8 (sky blue) |
|
|
15
|
+
| Tone | Direct, capable, builder-focused |
|
|
16
|
+
| Target Audience | Indie founders, solo operators, small creative teams |
|
|
17
|
+
| Platform | Instagram Reels / TikTok |
|
|
18
|
+
| Format | 9:16 vertical, 30s |
|
|
19
|
+
| Scene Count | 3 |
|
|
20
|
+
|
|
21
|
+
## Brief Overview
|
|
22
|
+
| Field | Value |
|
|
23
|
+
|-------|-------|
|
|
24
|
+
| Campaign Goal | Launch awareness for Growthub governed worker kits |
|
|
25
|
+
| Core Message | From brief to final video in three governed stages |
|
|
26
|
+
| CTA | Try the pipeline today |
|
|
27
|
+
|
|
28
|
+
## Scene Structure
|
|
29
|
+
| Scene | Duration | Hook Type | B-Roll Notes |
|
|
30
|
+
|-------|----------|-----------|--------------|
|
|
31
|
+
| 1 | 8s | Problem-agitation | Developer staring at blank terminal |
|
|
32
|
+
| 2 | 14s | Solution demo | Pipeline running, artifacts materialising |
|
|
33
|
+
| 3 | 8s | Social proof + CTA | Finished video output, Growthub branding |
|
|
34
|
+
|
|
35
|
+
## Scene 1 — Hook Variations
|
|
36
|
+
**A.** "You've been stuck on the brief for 3 hours. The pipeline has it in 30 seconds."
|
|
37
|
+
**B.** "Stop designing workflows. Start shipping governed ones."
|
|
38
|
+
**C.** "Brief to final video. Three stages. Zero guesswork."
|
|
39
|
+
**D.** "Every creative decision is logged. Every output is governed."
|
|
40
|
+
**E.** "The video pipeline that actually ships."
|
|
41
|
+
|
|
42
|
+
## Scene 2 — Solution Demo
|
|
43
|
+
Generative prompt: A clean dark terminal UI showing a three-stage pipeline strip — Brief, Generate, Edit — each card lighting up in sequence. Sky-blue accent colours. Text overlay: "governed workspace". Cinematic, confident pacing.
|
|
44
|
+
|
|
45
|
+
## Scene 3 — CTA
|
|
46
|
+
Generative prompt: Split screen — pipeline dashboard on the left, finished .mp4 playing on the right. Growthub wordmark animates in bottom-left. Text: "Try it today." Sky-blue text on dark background.
|
|
47
|
+
|
|
48
|
+
## Editing Guidelines
|
|
49
|
+
- Cut on beat (lo-fi electronic track, 100 BPM)
|
|
50
|
+
- Scene 1→2 hard cut at 8s
|
|
51
|
+
- Scene 2→3 fade at 22s
|
|
52
|
+
- Captions: word-boundary subtitles via ElevenLabs Scribe
|
|
53
|
+
- Final frame hold: 2s on CTA
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
*Generated by creative-video-pipeline-operator Stage 1 — Brief*
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# growthub-meta/
|
|
2
|
+
|
|
3
|
+
Kit metadata consumed by the Growthub registry and CLI export tooling.
|
|
4
|
+
|
|
5
|
+
| File | Purpose |
|
|
6
|
+
|------|---------|
|
|
7
|
+
| `kit-standard.md` | Kit standard version, outputStandard contract, and upgrade notes |
|
|
8
|
+
|
|
9
|
+
These files are read by `growthub worker-kit export` and `growthub worker-kit validate`.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Kit Standard
|
|
2
|
+
|
|
3
|
+
## Version
|
|
4
|
+
- Kit: `growthub-creative-video-pipeline-v1`
|
|
5
|
+
- Schema: `2`
|
|
6
|
+
- Standard: `v1.2`
|
|
7
|
+
- CLI minimum: `0.4.3`
|
|
8
|
+
|
|
9
|
+
## outputStandard
|
|
10
|
+
|
|
11
|
+
Required paths for a complete pipeline run:
|
|
12
|
+
```
|
|
13
|
+
output/<client>/<project>/brief/pipeline-brief.md
|
|
14
|
+
output/<client>/<project>/generative/manifest.json
|
|
15
|
+
output/<client>/<project>/final/final.mp4
|
|
16
|
+
output/<client>/<project>/.growthub-fork/project.md
|
|
17
|
+
output/<client>/<project>/.growthub-fork/trace.jsonl
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Upgrade Notes
|
|
21
|
+
|
|
22
|
+
- v1 → v2 schema: `frozenAssetPaths` array added. All asset paths enumerated in `kit.json`.
|
|
23
|
+
- outputStandard v1.2: `trace.jsonl` required at every stage boundary (previously optional).
|
|
24
|
+
- Adapter contract v1.0: `GenerativeArtifact[]` normalisation required for both adapters.
|