@growthub/cli 0.3.54 → 0.3.56
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 +56 -156
- package/assets/worker-kits/growthub-ai-website-cloner-v1/.env.example +7 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/QUICKSTART.md +116 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/NEW-CLIENT.md +22 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/_template/brand-kit.md +27 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/growthub/brand-kit.md +26 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/bundles/growthub-ai-website-cloner-v1.json +53 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/ai-website-cloner-fork-integration.md +118 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/design-token-system.md +135 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/multi-phase-pipeline.md +129 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/parallel-builder-dispatch.md +103 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/clone-brief-sample.md +54 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/component-spec-sample.md +123 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/platform-handoff-sample.md +102 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/visual-qa-sample.md +119 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/README.md +71 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/kit-standard.md +47 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/kit.json +105 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/output/README.md +26 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/output-standards.md +75 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/runtime-assumptions.md +70 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/check-deps.sh +50 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/clone-fork.sh +66 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/verify-env.mjs +78 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/skills.md +186 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/asset-manifest.md +57 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/builder-dispatch-plan.md +92 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/clone-brief.md +59 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/component-spec.md +124 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/design-token-extraction.md +89 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/platform-handoff.md +114 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/reconnaissance-report.md +77 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/visual-qa-checklist.md +107 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/validation-checklist.md +76 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/workers/ai-website-cloner-operator/CLAUDE.md +256 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/.env.example +40 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/QUICKSTART.md +114 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/NEW-CLIENT.md +42 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/_template/brand-kit.md +49 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/growthub/brand-kit.md +50 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/bundles/growthub-open-montage-studio-v1.json +55 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/cms-node-bridge.md +152 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md +120 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/pipeline-reference.md +147 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/provider-adapter-layer.md +105 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/cms-node-video-gen-sample.md +109 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/pipeline-selection-sample.md +67 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/platform-ready-handoff-sample.md +101 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/video-production-brief-sample.md +68 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/README.md +7 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/kit-standard.md +45 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/kit.json +107 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/output/README.md +34 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/output-standards.md +79 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/runtime-assumptions.md +86 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/check-deps.sh +43 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/clone-fork.sh +53 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/verify-env.mjs +102 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/skills.md +254 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/asset-tracking.md +46 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/cms-node-pipeline-mapping.md +64 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/generation-batch-plan.md +70 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/pipeline-selection-brief.md +67 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/platform-ready-execution-handoff.md +103 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/prompt-matrix.md +48 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/provider-selection-brief.md +86 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/review-qa-checklist.md +59 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/scene-plan.md +65 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/video-production-brief.md +58 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/validation-checklist.md +46 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/workers/open-montage-studio-operator/CLAUDE.md +304 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/.env.example +15 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/QUICKSTART.md +90 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/NEW-CLIENT.md +57 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/_template/brand-kit.md +88 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/growthub/brand-kit.md +92 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/bundles/growthub-twenty-crm-v1.json +56 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/api-and-webhooks.md +296 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/data-model-layer.md +172 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/twenty-fork-integration.md +213 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-playbook-sample.md +172 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-setup-sample.md +100 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/lead-enrichment-sample.md +117 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/pipeline-automation-sample.md +132 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/README.md +114 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/kit-standard.md +61 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/kit.json +108 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/output/README.md +46 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/output-standards.md +175 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/runtime-assumptions.md +150 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/check-deps.sh +56 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/clone-fork.sh +77 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/verify-env.mjs +105 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/skills.md +401 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/api-query-plan.md +179 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-playbook.md +155 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-setup-brief.md +94 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/custom-object-design.md +115 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/data-model-design.md +112 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/enrichment-field-map.md +100 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/import-mapping.md +139 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/integration-handoff.md +190 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/lead-enrichment-pipeline.md +128 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/pipeline-automation-brief.md +88 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/webhook-integration-spec.md +129 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/workspace-config-checklist.md +129 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/validation-checklist.md +115 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/workers/twenty-crm-operator/CLAUDE.md +310 -0
- package/package.json +1 -1
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Quick Start — Open Montage Studio Worker Kit
|
|
2
|
+
|
|
3
|
+
This folder is your self-contained agent working directory for OpenMontage video production with GrowthHub CMS node integration.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Step 1 — Point your Working Directory at this folder
|
|
8
|
+
|
|
9
|
+
**Growthub local (primary):** Open Growthub local and set the **Working Directory** to this folder in your project settings. Every run you start from this working directory will load the operator agent automatically.
|
|
10
|
+
|
|
11
|
+
**Claude Code (alternative):** Open Claude Code settings and set the **Working Directory** to this folder. The operator agent loads from `workers/open-montage-studio-operator/CLAUDE.md` on session start.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Step 2 — Choose your execution mode
|
|
16
|
+
|
|
17
|
+
| Mode | What You Need | Best For |
|
|
18
|
+
|---|---|---|
|
|
19
|
+
| `local-fork` | OpenMontage clone + Python + FFmpeg + Node.js | Full production control, all 52 tools |
|
|
20
|
+
| `agent-only` | GrowthHub session or zero-key mode | Quick projects, CMS node generation |
|
|
21
|
+
| `hybrid` | GrowthHub session + local FFmpeg | CMS generation + local post-production |
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Step 3 — Add your API keys (optional)
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
cp .env.example .env
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Open `.env` and add the keys you have. Every key is optional — more keys = more tools.
|
|
32
|
+
|
|
33
|
+
**Recommended setup order (cheapest first):**
|
|
34
|
+
|
|
35
|
+
1. **Pexels + Pixabay** — free stock media (free developer keys)
|
|
36
|
+
2. **Google API key** — TTS with 700+ voices (1M chars/month free)
|
|
37
|
+
3. **ElevenLabs** — premium TTS (10K chars/month free)
|
|
38
|
+
4. **fal.ai** — FLUX images + video generation (~$0.03/image)
|
|
39
|
+
|
|
40
|
+
**Zero keys is fine.** You still get Piper TTS, free archives, and Remotion composition. Or use GrowthHub CMS nodes for generation.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Step 4 — Verify your setup (optional but recommended)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
node setup/verify-env.mjs
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Shows which providers are configured and checks for the OpenMontage clone.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Step 5 — Set up OpenMontage clone (local-fork mode only)
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
bash setup/check-deps.sh # Check Python, FFmpeg, Node.js, Git
|
|
58
|
+
bash setup/clone-fork.sh # Clone OpenMontage and run make setup
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
This clones OpenMontage to `~/OpenMontage`, installs all dependencies (Python packages, Remotion, Piper TTS), and verifies the tool registry.
|
|
62
|
+
|
|
63
|
+
Skip this step if you are using agent-only or hybrid mode.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Step 6 — Connect GrowthHub (CMS node mode)
|
|
68
|
+
|
|
69
|
+
If you want to use GrowthHub CMS nodes for video/image generation:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
growthub auth:login
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
This authenticates your session so the agent can discover and execute CMS nodes. CMS node costs flow through your GrowthHub billing.
|
|
76
|
+
|
|
77
|
+
Skip this step if you are using local-fork mode with direct API keys only.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Step 7 — Start a new session
|
|
82
|
+
|
|
83
|
+
**Growthub local:** Start a new run from this working directory. The agent loads automatically.
|
|
84
|
+
|
|
85
|
+
**Claude Code:** Open a new session with this folder as the Working Directory. The agent reads `skills.md` and the methodology automatically.
|
|
86
|
+
|
|
87
|
+
In both cases the agent will:
|
|
88
|
+
1. Run the environment gate (check .env, providers, dependencies)
|
|
89
|
+
2. Load the methodology and brand context
|
|
90
|
+
3. Ask you 3 clarifying questions before generating anything
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## What you can ask
|
|
95
|
+
|
|
96
|
+
Copy any of these into your agent session:
|
|
97
|
+
|
|
98
|
+
- "Make a 60-second animated explainer about how neural networks learn"
|
|
99
|
+
- "Create a 30-second cinematic product trailer for a smart water bottle"
|
|
100
|
+
- "Make a documentary montage about city life at 4am using real footage only"
|
|
101
|
+
- "Turn this YouTube video into 3 differentiated concepts for my brand"
|
|
102
|
+
- "Create a TikTok-style explainer about CRISPR gene editing"
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## First-run checklist
|
|
107
|
+
|
|
108
|
+
See `validation-checklist.md` for the full pre-session checklist before your first production run.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Creating a brand kit for a new client
|
|
113
|
+
|
|
114
|
+
See `brands/NEW-CLIENT.md`.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# Creating a Brand Kit for a New Client
|
|
2
|
+
|
|
3
|
+
## Steps
|
|
4
|
+
|
|
5
|
+
1. Copy the template:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
cp -r brands/_template brands/<client-slug>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
2. Open `brands/<client-slug>/brand-kit.md` and fill in:
|
|
12
|
+
- Brand identity (name, tagline, industry, audience)
|
|
13
|
+
- Visual identity (colors, fonts, logo)
|
|
14
|
+
- Tone of voice
|
|
15
|
+
- Visual style preferences
|
|
16
|
+
- Platform profiles
|
|
17
|
+
- Music preferences
|
|
18
|
+
|
|
19
|
+
3. The operator loads this brand kit in Step 1 of every session. All production artifacts will reference these brand guidelines.
|
|
20
|
+
|
|
21
|
+
## Naming Convention
|
|
22
|
+
|
|
23
|
+
- Use kebab-case for the client slug: `acme-corp`, `startup-xyz`
|
|
24
|
+
- Keep the slug short and recognizable
|
|
25
|
+
|
|
26
|
+
## What Goes in a Brand Kit
|
|
27
|
+
|
|
28
|
+
| Section | Required | Purpose |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| Brand identity | Yes | Who they are and who they serve |
|
|
31
|
+
| Visual identity | Yes | Colors, fonts, logo for consistent output |
|
|
32
|
+
| Tone of voice | Yes | How to write scripts and narration |
|
|
33
|
+
| Visual style preferences | Yes | Which visual treatment to use |
|
|
34
|
+
| Platform profiles | Recommended | Target platforms and format constraints |
|
|
35
|
+
| Music preferences | Recommended | Audio direction for background music |
|
|
36
|
+
| Deliverable log | Auto-populated | Running record of all produced content |
|
|
37
|
+
|
|
38
|
+
## Tips
|
|
39
|
+
|
|
40
|
+
- If the client has a website or existing video content, reference it in the brand kit for style alignment
|
|
41
|
+
- Color values should be hex codes for precision
|
|
42
|
+
- If unsure about visual style, default to "clean professional" and note it for client review
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Brand Kit — `<CLIENT NAME>`
|
|
2
|
+
|
|
3
|
+
## Brand Identity
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|---|---|
|
|
7
|
+
| Brand name | |
|
|
8
|
+
| Tagline | |
|
|
9
|
+
| Industry | |
|
|
10
|
+
| Primary audience | |
|
|
11
|
+
|
|
12
|
+
## Visual Identity
|
|
13
|
+
|
|
14
|
+
| Field | Value |
|
|
15
|
+
|---|---|
|
|
16
|
+
| Primary color | `#` |
|
|
17
|
+
| Secondary color | `#` |
|
|
18
|
+
| Accent color | `#` |
|
|
19
|
+
| Background | `#` |
|
|
20
|
+
| Font family (headings) | |
|
|
21
|
+
| Font family (body) | |
|
|
22
|
+
| Logo path | |
|
|
23
|
+
|
|
24
|
+
## Tone of Voice
|
|
25
|
+
|
|
26
|
+
<!-- Describe the brand's communication style: formal/casual, serious/playful, authoritative/approachable. -->
|
|
27
|
+
|
|
28
|
+
## Visual Style Preferences
|
|
29
|
+
|
|
30
|
+
<!-- Preferred visual treatment for video content: photorealistic, illustrated, flat motion, anime, minimalist, cinematic. -->
|
|
31
|
+
|
|
32
|
+
## Platform Profiles
|
|
33
|
+
|
|
34
|
+
| Platform | Aspect Ratio | Duration Range | Notes |
|
|
35
|
+
|---|---|---|---|
|
|
36
|
+
| YouTube | 16:9 | 30-300s | |
|
|
37
|
+
| TikTok | 9:16 | 15-60s | |
|
|
38
|
+
| Instagram Reels | 9:16 | 15-90s | |
|
|
39
|
+
| LinkedIn | 16:9 | 30-120s | |
|
|
40
|
+
|
|
41
|
+
## Music Preferences
|
|
42
|
+
|
|
43
|
+
<!-- Genre, mood, energy level, instrumental vs vocal. -->
|
|
44
|
+
|
|
45
|
+
## Deliverable Log
|
|
46
|
+
|
|
47
|
+
<!-- Append deliverables as they are produced. -->
|
|
48
|
+
|
|
49
|
+
<!-- - YYYY-MM-DD | OpenMontage Video Package v1 — <Project Name> | output/<client-slug>/<project-slug>/ -->
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# Brand Kit — Growthub
|
|
2
|
+
|
|
3
|
+
## Brand Identity
|
|
4
|
+
|
|
5
|
+
| Field | Value |
|
|
6
|
+
|---|---|
|
|
7
|
+
| Brand name | Growthub |
|
|
8
|
+
| Tagline | Growth infrastructure over a stable agentic substrate |
|
|
9
|
+
| Industry | AI / Developer tools / Growth automation |
|
|
10
|
+
| Primary audience | Developers, growth teams, AI-native companies |
|
|
11
|
+
|
|
12
|
+
## Visual Identity
|
|
13
|
+
|
|
14
|
+
| Field | Value |
|
|
15
|
+
|---|---|
|
|
16
|
+
| Primary color | `#1a1a2e` (deep navy) |
|
|
17
|
+
| Secondary color | `#16213e` (dark blue) |
|
|
18
|
+
| Accent color | `#0f3460` (medium blue) |
|
|
19
|
+
| Background | `#0a0a0a` (near black) |
|
|
20
|
+
| Font family (headings) | Monospace / terminal aesthetic |
|
|
21
|
+
| Font family (body) | System sans-serif |
|
|
22
|
+
| Logo path | ASCII art block letter style |
|
|
23
|
+
|
|
24
|
+
## Tone of Voice
|
|
25
|
+
|
|
26
|
+
Technical, direct, confident. No marketing fluff. Speak to builders and operators who value substance over polish. Use declarative statements. Avoid exclamation marks.
|
|
27
|
+
|
|
28
|
+
## Visual Style Preferences
|
|
29
|
+
|
|
30
|
+
- Clean professional or minimalist diagram style for educational content
|
|
31
|
+
- Flat motion graphics for social media
|
|
32
|
+
- Dark backgrounds with high-contrast text and subtle accent colors
|
|
33
|
+
- Terminal/code aesthetic where appropriate
|
|
34
|
+
- Avoid: stock photo look, corporate clip art, generic gradients
|
|
35
|
+
|
|
36
|
+
## Platform Profiles
|
|
37
|
+
|
|
38
|
+
| Platform | Aspect Ratio | Duration Range | Notes |
|
|
39
|
+
|---|---|---|---|
|
|
40
|
+
| YouTube | 16:9 | 30-300s | Primary distribution |
|
|
41
|
+
| TikTok | 9:16 | 15-60s | Short demos |
|
|
42
|
+
| LinkedIn | 16:9 | 30-120s | Product announcements |
|
|
43
|
+
|
|
44
|
+
## Music Preferences
|
|
45
|
+
|
|
46
|
+
Ambient electronic, minimal beats, lo-fi. Instrumental only. Low energy for educational, medium energy for product demos. No vocals.
|
|
47
|
+
|
|
48
|
+
## Deliverable Log
|
|
49
|
+
|
|
50
|
+
<!-- Append deliverables as they are produced. -->
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"bundle": {
|
|
4
|
+
"id": "growthub-open-montage-studio-v1",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"kitId": "growthub-open-montage-studio-v1",
|
|
7
|
+
"workerId": "open-montage-studio-operator"
|
|
8
|
+
},
|
|
9
|
+
"briefType": "open-montage-video-production",
|
|
10
|
+
"publicExampleBrandPaths": [
|
|
11
|
+
"brands/growthub/brand-kit.md"
|
|
12
|
+
],
|
|
13
|
+
"requiredFrozenAssets": [
|
|
14
|
+
"QUICKSTART.md",
|
|
15
|
+
".env.example",
|
|
16
|
+
"skills.md",
|
|
17
|
+
"output-standards.md",
|
|
18
|
+
"runtime-assumptions.md",
|
|
19
|
+
"validation-checklist.md",
|
|
20
|
+
"workers/open-montage-studio-operator/CLAUDE.md",
|
|
21
|
+
"brands/_template/brand-kit.md",
|
|
22
|
+
"brands/growthub/brand-kit.md",
|
|
23
|
+
"brands/NEW-CLIENT.md",
|
|
24
|
+
"setup/clone-fork.sh",
|
|
25
|
+
"setup/verify-env.mjs",
|
|
26
|
+
"setup/check-deps.sh",
|
|
27
|
+
"output/README.md",
|
|
28
|
+
"templates/video-production-brief.md",
|
|
29
|
+
"templates/pipeline-selection-brief.md",
|
|
30
|
+
"templates/provider-selection-brief.md",
|
|
31
|
+
"templates/scene-plan.md",
|
|
32
|
+
"templates/prompt-matrix.md",
|
|
33
|
+
"templates/generation-batch-plan.md",
|
|
34
|
+
"templates/asset-tracking.md",
|
|
35
|
+
"templates/review-qa-checklist.md",
|
|
36
|
+
"templates/platform-ready-execution-handoff.md",
|
|
37
|
+
"templates/cms-node-pipeline-mapping.md",
|
|
38
|
+
"examples/video-production-brief-sample.md",
|
|
39
|
+
"examples/pipeline-selection-sample.md",
|
|
40
|
+
"examples/cms-node-video-gen-sample.md",
|
|
41
|
+
"examples/platform-ready-handoff-sample.md",
|
|
42
|
+
"docs/open-montage-fork-integration.md",
|
|
43
|
+
"docs/provider-adapter-layer.md",
|
|
44
|
+
"docs/cms-node-bridge.md",
|
|
45
|
+
"docs/pipeline-reference.md",
|
|
46
|
+
"growthub-meta/README.md",
|
|
47
|
+
"growthub-meta/kit-standard.md"
|
|
48
|
+
],
|
|
49
|
+
"optionalPresets": [],
|
|
50
|
+
"export": {
|
|
51
|
+
"folderName": "growthub-agent-worker-kit-open-montage-studio-v1",
|
|
52
|
+
"zipFileName": "growthub-agent-worker-kit-open-montage-studio-v1.zip"
|
|
53
|
+
},
|
|
54
|
+
"activationModes": ["export"]
|
|
55
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# CMS Node Bridge — GrowthHub ↔ OpenMontage
|
|
2
|
+
|
|
3
|
+
This document describes the adapter layer that bridges GrowthHub CMS node outputs into the OpenMontage production pipeline.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Overview
|
|
8
|
+
|
|
9
|
+
GrowthHub's CMS exposes video and image generation as hosted execution nodes. These nodes produce output URLs (video clips, images, audio) that can feed directly into OpenMontage's composition engine. The bridge is a **cognitive adapter** — the agent reads this mapping and applies it during pipeline execution. There is no code-level integration; the agent is the integration layer.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Architecture
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
GrowthHub CMS OpenMontage
|
|
17
|
+
───────────── ───────────
|
|
18
|
+
|
|
19
|
+
CMS Capability Registry ──→ Agent discovers available nodes
|
|
20
|
+
│
|
|
21
|
+
↓
|
|
22
|
+
CMS Node Execution ──→ Agent triggers hosted execution
|
|
23
|
+
│
|
|
24
|
+
↓
|
|
25
|
+
Output URLs ──→ Agent feeds URLs as source assets
|
|
26
|
+
│ │
|
|
27
|
+
↓ ↓
|
|
28
|
+
OpenMontage Pipeline Stage
|
|
29
|
+
(assets / edit / compose)
|
|
30
|
+
│
|
|
31
|
+
↓
|
|
32
|
+
Remotion / FFmpeg Composition
|
|
33
|
+
│
|
|
34
|
+
↓
|
|
35
|
+
Final Video Output
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## CMS Capability Registry
|
|
41
|
+
|
|
42
|
+
The CMS capability registry (`cli/src/runtime/cms-capability-registry/`) exposes node primitives:
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
interface CmsCapabilityNode {
|
|
46
|
+
slug: string; // e.g., "video-generation"
|
|
47
|
+
family: CapabilityFamily; // "video" | "image" | "slides" | "text" | "data" | "ops"
|
|
48
|
+
executionKind: string; // "hosted-execute"
|
|
49
|
+
executionBinding: {
|
|
50
|
+
type: "mcp_tool_call";
|
|
51
|
+
strategy: "direct" | "sequential-with-persistence" | "async_operation";
|
|
52
|
+
};
|
|
53
|
+
requiredBindings: string[]; // Provider keys needed
|
|
54
|
+
outputTypes: string[]; // e.g., ["video_url", "image_url"]
|
|
55
|
+
enabled: boolean;
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The agent queries the registry to discover which nodes are available:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
Query: { family: "video", enabledOnly: true }
|
|
63
|
+
Query: { family: "image", enabledOnly: true }
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Node Family → OpenMontage Stage Mapping
|
|
69
|
+
|
|
70
|
+
| CMS Family | Output Type | OpenMontage Stage | Integration |
|
|
71
|
+
|---|---|---|---|
|
|
72
|
+
| `video` | Video URL | `assets` | Download → source clip for composition |
|
|
73
|
+
| `image` | Image URL | `assets` | Download → scene image for Remotion animation |
|
|
74
|
+
| `text` | String | `script` | Direct use as script content |
|
|
75
|
+
| `slides` | Slide assets | `assets` | Scene images extracted from slides |
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Execution Flow
|
|
80
|
+
|
|
81
|
+
### 1. Discovery
|
|
82
|
+
|
|
83
|
+
Agent queries the CMS capability registry during Step 6 (provider selection):
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
Available CMS nodes:
|
|
87
|
+
- video-generation (family: video, hosted-execute)
|
|
88
|
+
- image-generation (family: image, hosted-execute)
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 2. Input Binding Preparation
|
|
92
|
+
|
|
93
|
+
For each scene that will use a CMS node, the agent prepares input bindings from the scene plan:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
CMS Node: image-generation
|
|
97
|
+
Inputs: { prompt: "...", aspect_ratio: "16:9", style: "photorealistic" }
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 3. Hosted Execution
|
|
101
|
+
|
|
102
|
+
The agent triggers execution via the hosted execution client. Results include output URLs:
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Result: { status: "completed", outputUrl: "https://cdn.growthub.ai/gen/abc123.png" }
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### 4. Asset Integration
|
|
109
|
+
|
|
110
|
+
Output URLs are recorded in the asset tracking sheet and fed into the OpenMontage pipeline:
|
|
111
|
+
|
|
112
|
+
- **Video URLs** → downloaded as source clips → timeline assembly via FFmpeg or Remotion
|
|
113
|
+
- **Image URLs** → downloaded as scene images → animated composition via Remotion
|
|
114
|
+
|
|
115
|
+
### 5. Composition
|
|
116
|
+
|
|
117
|
+
OpenMontage handles all post-production:
|
|
118
|
+
- Scene ordering and timeline assembly
|
|
119
|
+
- Transition effects (crossfade, zoom, wipe)
|
|
120
|
+
- Audio mixing (narration + music)
|
|
121
|
+
- Subtitle burn-in (word-level timing)
|
|
122
|
+
- Color grading
|
|
123
|
+
- Final render to target platform spec
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## When to Bridge vs When to Use Direct Providers
|
|
128
|
+
|
|
129
|
+
| Scenario | Recommendation |
|
|
130
|
+
|---|---|
|
|
131
|
+
| User has GrowthHub session, no direct API keys | Bridge via CMS nodes |
|
|
132
|
+
| User prefers unified GrowthHub billing | Bridge via CMS nodes |
|
|
133
|
+
| CMS node matches the required generation type | Bridge via CMS nodes |
|
|
134
|
+
| User has direct API keys and wants lower latency | Use direct providers |
|
|
135
|
+
| Required tool/model is not available as a CMS node | Use direct providers |
|
|
136
|
+
| Local-fork mode with full tool access | Use direct providers (faster) |
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## Adapter Contract
|
|
141
|
+
|
|
142
|
+
The bridge adapter handles:
|
|
143
|
+
|
|
144
|
+
| Operation | Description |
|
|
145
|
+
|---|---|
|
|
146
|
+
| `DISCOVER_NODES` | Query CMS capability registry for available nodes |
|
|
147
|
+
| `PREPARE_BINDINGS` | Map scene plan inputs to CMS node input schema |
|
|
148
|
+
| `EXECUTE_NODE` | Trigger hosted execution and poll for results |
|
|
149
|
+
| `COLLECT_OUTPUTS` | Gather output URLs from execution results |
|
|
150
|
+
| `ROUTE_TO_PIPELINE` | Feed output URLs into the appropriate OpenMontage pipeline stage |
|
|
151
|
+
|
|
152
|
+
The agent performs all of these operations as part of the standard 10-step workflow. No separate adapter code is needed — the agent IS the adapter.
|
package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
# OpenMontage Fork Integration
|
|
2
|
+
|
|
3
|
+
This document describes how the local OpenMontage clone integrates with this worker kit.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Architecture Overview
|
|
8
|
+
|
|
9
|
+
OpenMontage is an agent-first video production system. There is no code orchestrator — the AI agent IS the orchestrator.
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
Agent reads pipeline manifest (YAML) → stages, tools, review criteria
|
|
13
|
+
↓
|
|
14
|
+
Agent reads stage director skill (Markdown) → HOW to execute each stage
|
|
15
|
+
↓
|
|
16
|
+
Agent calls Python tools → scored provider selection across 7 dimensions
|
|
17
|
+
↓
|
|
18
|
+
Agent self-reviews → schema validation, quality checks
|
|
19
|
+
↓
|
|
20
|
+
Agent checkpoints state (JSON) → resumable, with decision log
|
|
21
|
+
↓
|
|
22
|
+
Pre-compose validation gate → delivery promise, slideshow risk
|
|
23
|
+
↓
|
|
24
|
+
Render (Remotion or FFmpeg)
|
|
25
|
+
↓
|
|
26
|
+
Post-render self-review → ffprobe, frame extraction, audio analysis
|
|
27
|
+
↓
|
|
28
|
+
Final video output
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Directory Layout
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
OpenMontage/
|
|
37
|
+
├── tools/ # 52 Python tools (the agent's hands)
|
|
38
|
+
│ ├── video/ # Video gen: Kling, Runway, Veo, Grok, WAN, Hunyuan, etc.
|
|
39
|
+
│ ├── audio/ # TTS: ElevenLabs, Google, OpenAI, Piper + music
|
|
40
|
+
│ ├── graphics/ # Image gen: FLUX, DALL-E, Imagen, Recraft, local diffusion
|
|
41
|
+
│ ├── enhancement/ # Upscale, bg remove, face enhance, color grade
|
|
42
|
+
│ ├── analysis/ # Transcription, scene detect, frame sampling
|
|
43
|
+
│ ├── avatar/ # Talking head, lip sync
|
|
44
|
+
│ └── subtitle/ # SRT/VTT generation
|
|
45
|
+
│
|
|
46
|
+
├── pipeline_defs/ # 12 YAML pipeline manifests
|
|
47
|
+
├── skills/ # 400+ Markdown skill files
|
|
48
|
+
│ ├── pipelines/ # Per-pipeline stage director skills
|
|
49
|
+
│ ├── creative/ # Creative technique skills
|
|
50
|
+
│ ├── core/ # Core tool skills
|
|
51
|
+
│ └── meta/ # Reviewer, checkpoint protocol
|
|
52
|
+
│
|
|
53
|
+
├── schemas/ # JSON Schemas for contract validation
|
|
54
|
+
├── styles/ # Visual style playbooks (YAML)
|
|
55
|
+
├── remotion-composer/ # React/Remotion video composition engine
|
|
56
|
+
├── lib/ # Core infrastructure
|
|
57
|
+
└── config.yaml # Global configuration
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Tool Discovery
|
|
63
|
+
|
|
64
|
+
The tool registry auto-discovers all tools at startup:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
cd ~/OpenMontage
|
|
68
|
+
python3 -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2))"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
This returns the full capability envelope: which tools are available, which providers are configured, and what the system can produce.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Three-Layer Knowledge Architecture
|
|
76
|
+
|
|
77
|
+
| Layer | Location | Purpose |
|
|
78
|
+
|---|---|---|
|
|
79
|
+
| 1 | `tools/` + `pipeline_defs/` | What exists — executable capabilities + orchestration |
|
|
80
|
+
| 2 | `skills/` | How to use it — OpenMontage conventions and quality bars |
|
|
81
|
+
| 3 | `.agents/skills/` | How it works — 47 external technology knowledge packs |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Pipeline Manifests
|
|
86
|
+
|
|
87
|
+
Each pipeline is defined as a YAML manifest in `pipeline_defs/`. The manifest specifies:
|
|
88
|
+
- Stages in order
|
|
89
|
+
- Tools available at each stage
|
|
90
|
+
- Review criteria
|
|
91
|
+
- Success gates
|
|
92
|
+
|
|
93
|
+
The agent reads the manifest, then reads the corresponding stage director skills to know HOW to execute each stage.
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Remotion Composition Engine
|
|
98
|
+
|
|
99
|
+
Located at `remotion-composer/`. A React-based programmatic video composition engine that:
|
|
100
|
+
- Renders TextCard, StatCard, charts, image scenes with spring animations
|
|
101
|
+
- Supports crossfade, wipe, zoom transitions
|
|
102
|
+
- Burns in TikTok-style word-level captions
|
|
103
|
+
- Outputs H.264 MP4 at any resolution/aspect ratio
|
|
104
|
+
|
|
105
|
+
Remotion is always available (no API key needed) and is the primary composition path for image-based video.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Setup
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
bash setup/clone-fork.sh
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
This script:
|
|
116
|
+
1. Clones `https://github.com/calesthio/OpenMontage.git` to `~/OpenMontage`
|
|
117
|
+
2. Runs `make setup` (pip install + npm install + Piper TTS)
|
|
118
|
+
3. Verifies the tool registry
|
|
119
|
+
|
|
120
|
+
After setup, add API keys to `~/OpenMontage/.env` for additional provider access.
|