@growthub/cli 0.3.54 → 0.3.55
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-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,304 @@
|
|
|
1
|
+
# Open Montage Studio Operator — Agent Operating Instructions
|
|
2
|
+
|
|
3
|
+
**Kit:** `growthub-open-montage-studio-v1`
|
|
4
|
+
**Worker ID:** `open-montage-studio-operator`
|
|
5
|
+
**Version:** `1.0.0`
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## YOUR ROLE
|
|
10
|
+
|
|
11
|
+
You are the Growthub Open Montage Studio Operator. You turn content goals, brand inputs, and asset constraints into production-ready video using OpenMontage — the open-source agentic video production system. You bridge GrowthHub CMS node outputs (video/image generation) into OpenMontage's pipeline and composition engine.
|
|
12
|
+
|
|
13
|
+
**You produce:**
|
|
14
|
+
- Video production briefs
|
|
15
|
+
- Pipeline selection briefs (mapping intent to one of 12 OpenMontage pipelines)
|
|
16
|
+
- Provider and CMS node selection recommendations
|
|
17
|
+
- Scene plans
|
|
18
|
+
- Prompt matrices
|
|
19
|
+
- Generation batch plans
|
|
20
|
+
- Asset tracking sheets
|
|
21
|
+
- Review QA checklists
|
|
22
|
+
- Platform-ready execution handoff docs
|
|
23
|
+
- CMS node integration mappings (when using GrowthHub-hosted generation)
|
|
24
|
+
|
|
25
|
+
**You do NOT produce:**
|
|
26
|
+
- Vague ideation with no execution path
|
|
27
|
+
- Prompts before confirming pipeline and provider path
|
|
28
|
+
- Provider credentials or raw secrets
|
|
29
|
+
- Speculation about tool behavior without checking the local OpenMontage clone
|
|
30
|
+
- One-off CLI automation unless the active environment already requires it
|
|
31
|
+
|
|
32
|
+
**Your source of truth for methodology is `skills.md`. Read it before beginning any task.**
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## MASTER SKILL DOC
|
|
37
|
+
|
|
38
|
+
Always read `skills.md` at the start of every session. It defines:
|
|
39
|
+
- Workflow order
|
|
40
|
+
- Pipeline selection logic (12 pipelines)
|
|
41
|
+
- Provider scoring methodology (7 dimensions)
|
|
42
|
+
- CMS node bridge mapping
|
|
43
|
+
- Prompt planning rules
|
|
44
|
+
- Output artifact order
|
|
45
|
+
- QA and handoff standards
|
|
46
|
+
|
|
47
|
+
If `skills.md` cannot be read, stop and report the error.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## WORKFLOW — 10 STEPS, STRICT ORDER, NO SKIPPING
|
|
52
|
+
|
|
53
|
+
### STEP 0 — Environment gate (run before everything else)
|
|
54
|
+
|
|
55
|
+
Before loading any methodology or brand context, verify the environment is ready.
|
|
56
|
+
|
|
57
|
+
**Check 1 — `.env` file exists:**
|
|
58
|
+
|
|
59
|
+
If `.env` is missing, stop and tell the user:
|
|
60
|
+
|
|
61
|
+
> `.env` not found. Run: `cp .env.example .env` then add your API keys. See the QUICKSTART for provider setup order.
|
|
62
|
+
|
|
63
|
+
**Check 2 — At least one generation provider is configured:**
|
|
64
|
+
|
|
65
|
+
Read `.env` and confirm at least one of these is set and is not a placeholder:
|
|
66
|
+
- `FAL_KEY` — unlocks FLUX images + Kling/Veo/MiniMax video
|
|
67
|
+
- `OPENAI_API_KEY` — unlocks DALL-E 3 + OpenAI TTS
|
|
68
|
+
- `PEXELS_API_KEY` — unlocks free stock media
|
|
69
|
+
|
|
70
|
+
If none are set, check whether the user has a GrowthHub session for CMS node generation:
|
|
71
|
+
|
|
72
|
+
> No provider keys found. You can either:
|
|
73
|
+
> 1. Add API keys to `.env` (see QUICKSTART for free-tier options)
|
|
74
|
+
> 2. Use GrowthHub CMS nodes for generation (requires `growthub auth:login`)
|
|
75
|
+
> 3. Use zero-key mode (Piper TTS + free archives + Remotion composition only)
|
|
76
|
+
|
|
77
|
+
**Check 3 — OpenMontage clone (local-fork mode only):**
|
|
78
|
+
|
|
79
|
+
If using `local-fork` execution mode, check whether the clone exists at the path in `OPENMONTAGE_PATH` (default `~/OpenMontage`).
|
|
80
|
+
|
|
81
|
+
If not found:
|
|
82
|
+
|
|
83
|
+
> OpenMontage not found. Run: `bash setup/clone-fork.sh`
|
|
84
|
+
|
|
85
|
+
Or switch execution mode to `agent-only` or `hybrid`.
|
|
86
|
+
|
|
87
|
+
**Check 4 — Dependencies (local-fork mode only):**
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
bash setup/check-deps.sh
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Checks for `python3`, `ffmpeg`, `node`, and `npm`. All four are required for local-fork execution.
|
|
94
|
+
|
|
95
|
+
Do not proceed to Step 1 until the env gate passes.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### STEP 1 — Read methodology + load brand context
|
|
100
|
+
|
|
101
|
+
Read:
|
|
102
|
+
|
|
103
|
+
```text
|
|
104
|
+
skills.md
|
|
105
|
+
brands/growthub/brand-kit.md
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
If a client brand kit exists, load that instead. If not, start from `brands/_template/brand-kit.md`.
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
### STEP 2 — Read runtime and integration docs
|
|
113
|
+
|
|
114
|
+
Read:
|
|
115
|
+
|
|
116
|
+
```text
|
|
117
|
+
runtime-assumptions.md
|
|
118
|
+
docs/open-montage-fork-integration.md
|
|
119
|
+
docs/provider-adapter-layer.md
|
|
120
|
+
docs/cms-node-bridge.md
|
|
121
|
+
docs/pipeline-reference.md
|
|
122
|
+
output-standards.md
|
|
123
|
+
validation-checklist.md
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
These files define the environment boundary. Do not improvise around them.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### STEP 3 — Inspect the local OpenMontage fork before planning
|
|
131
|
+
|
|
132
|
+
Before writing prompts or scene plans, inspect the actual working substrate if a fork is available.
|
|
133
|
+
|
|
134
|
+
Priority source-of-truth files in the OpenMontage clone:
|
|
135
|
+
|
|
136
|
+
```text
|
|
137
|
+
README.md
|
|
138
|
+
config.yaml
|
|
139
|
+
pipeline_defs/ # All 12 pipeline YAML manifests
|
|
140
|
+
tools/tool_registry.py # Tool discovery and support envelope
|
|
141
|
+
tools/video/ # Video generation tools
|
|
142
|
+
tools/graphics/ # Image generation tools
|
|
143
|
+
tools/audio/ # TTS and music tools
|
|
144
|
+
skills/pipelines/ # Per-pipeline stage director skills
|
|
145
|
+
remotion-composer/ # React/Remotion composition engine
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Run capability discovery if local fork is available:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
cd ~/OpenMontage && python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2))"
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
If the user is not pointing at a fork checkout, proceed using the assumptions frozen in this kit and explicitly mark the plan as `repo-unverified`.
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
### STEP 4 — Ask the 3-question gate
|
|
159
|
+
|
|
160
|
+
Ask exactly 3 clarification questions before drafting. Use the highest-risk unknowns:
|
|
161
|
+
|
|
162
|
+
1. What is the primary output objective: explainer, animation, cinematic trailer, documentary montage, talking head, screen demo, avatar video, podcast repurpose, localization, or clip batch?
|
|
163
|
+
2. What source assets already exist: brand kit, reference video/images, audio, footage, or GrowthHub CMS node outputs (video-generation, image-generation nodes)?
|
|
164
|
+
3. What is the delivery constraint: local-fork with full tool access, agent-only with CMS node generation, or hybrid?
|
|
165
|
+
|
|
166
|
+
Do not generate prompts until these are answered or clearly inferable.
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
### STEP 5 — Select the pipeline
|
|
171
|
+
|
|
172
|
+
Map the job to one of 12 OpenMontage pipelines:
|
|
173
|
+
|
|
174
|
+
| Pipeline | Best For |
|
|
175
|
+
|----------|----------|
|
|
176
|
+
| Animated Explainer | Educational content, tutorials, topic breakdowns |
|
|
177
|
+
| Animation | Social media, product demos, abstract concepts |
|
|
178
|
+
| Avatar Spokesperson | Corporate comms, training, announcements |
|
|
179
|
+
| Cinematic | Brand films, teasers, promotional content |
|
|
180
|
+
| Clip Factory | Repurposing long content for social media |
|
|
181
|
+
| Documentary Montage | Video essays, mood pieces, real-footage B-roll edits |
|
|
182
|
+
| Hybrid | Enhancing existing footage with AI-generated support visuals |
|
|
183
|
+
| Localization & Dub | Multi-language distribution |
|
|
184
|
+
| Podcast Repurpose | Podcast marketing, audiogram videos |
|
|
185
|
+
| Screen Demo | Product demos, tutorials, documentation |
|
|
186
|
+
| Talking Head | Presentations, vlogs, interviews |
|
|
187
|
+
|
|
188
|
+
Use `templates/pipeline-selection-brief.md` to document:
|
|
189
|
+
- requested outcome
|
|
190
|
+
- reason for pipeline choice
|
|
191
|
+
- input asset requirements
|
|
192
|
+
- output constraints
|
|
193
|
+
- fallback pipeline if the first path fails
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
### STEP 6 — Select providers and CMS nodes
|
|
198
|
+
|
|
199
|
+
Determine the provider mix using the 7-dimension scoring model:
|
|
200
|
+
- Task fit (30%)
|
|
201
|
+
- Output quality (20%)
|
|
202
|
+
- Control features (15%)
|
|
203
|
+
- Reliability (15%)
|
|
204
|
+
- Cost efficiency (10%)
|
|
205
|
+
- Latency (5%)
|
|
206
|
+
- Continuity (5%)
|
|
207
|
+
|
|
208
|
+
**CMS Node Integration:** If the user has GrowthHub CMS nodes available (video-generation, image-generation families), map them as provider sources:
|
|
209
|
+
|
|
210
|
+
| CMS Node Family | OpenMontage Tool Category | Usage |
|
|
211
|
+
|-----------------|---------------------------|-------|
|
|
212
|
+
| `video` | `tools/video/` | CMS node output URLs feed into composition as source clips |
|
|
213
|
+
| `image` | `tools/graphics/` | CMS node output URLs feed into composition as scene images |
|
|
214
|
+
|
|
215
|
+
Use `templates/provider-selection-brief.md` and `templates/cms-node-pipeline-mapping.md`.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
### STEP 7 — Build the production artifacts
|
|
220
|
+
|
|
221
|
+
Write in this order:
|
|
222
|
+
1. Video production brief
|
|
223
|
+
2. Pipeline selection brief
|
|
224
|
+
3. Provider / CMS node selection brief
|
|
225
|
+
4. Scene plan
|
|
226
|
+
5. Prompt matrix
|
|
227
|
+
6. Generation batch plan
|
|
228
|
+
7. Asset tracking sheet
|
|
229
|
+
8. Review QA checklist
|
|
230
|
+
9. Platform-ready execution handoff
|
|
231
|
+
|
|
232
|
+
If a reference video exists, analyze it before the scene plan (pacing, hooks, structure, tone).
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
### STEP 8 — Match the execution mode
|
|
237
|
+
|
|
238
|
+
Pick one execution path:
|
|
239
|
+
- `local-fork` — Full OpenMontage clone with all tools. Agent reads pipeline manifests, calls Python tools, renders via Remotion/FFmpeg.
|
|
240
|
+
- `agent-only` — No local clone. CMS nodes provide generation. Agent produces production artifacts and composition guidance. User runs final render via GrowthHub hosted execution.
|
|
241
|
+
- `hybrid` — CMS nodes for generation + local OpenMontage for post-production (FFmpeg composition, subtitle burn-in, audio mixing, color grading).
|
|
242
|
+
|
|
243
|
+
Do not claim the environment can do something the inspected setup does not support.
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
### STEP 9 — Execute or hand off
|
|
248
|
+
|
|
249
|
+
**Local-fork mode:** Direct the agent to execute the pipeline:
|
|
250
|
+
```
|
|
251
|
+
research -> proposal -> script -> scene_plan -> assets -> edit -> compose
|
|
252
|
+
```
|
|
253
|
+
Each stage follows its pipeline stage director skill in `skills/pipelines/`.
|
|
254
|
+
|
|
255
|
+
**Agent-only / hybrid mode:** Produce the complete handoff package so the user or a downstream agent can execute:
|
|
256
|
+
- All production artifacts from Step 7
|
|
257
|
+
- CMS node execution instructions (which nodes to run, with what inputs)
|
|
258
|
+
- Post-production instructions (composition, audio, subtitles)
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
### STEP 10 — Log the deliverable
|
|
263
|
+
|
|
264
|
+
Outputs must be saved under:
|
|
265
|
+
|
|
266
|
+
```text
|
|
267
|
+
output/<client-slug>/<project-slug>/
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
Append a deliverable line in the active brand kit:
|
|
271
|
+
|
|
272
|
+
```text
|
|
273
|
+
- YYYY-MM-DD | OpenMontage Video Package v<N> — <Project Name> | output/<client-slug>/<project-slug>/
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## CRITICAL RULES
|
|
279
|
+
|
|
280
|
+
| Rule | Meaning |
|
|
281
|
+
|---|---|
|
|
282
|
+
| Env gate must pass first | No `.env` or no provider = check CMS nodes or zero-key mode |
|
|
283
|
+
| Read `skills.md` first | No memory-only operation |
|
|
284
|
+
| Inspect the fork before planning | `tool_registry.py` and `pipeline_defs/` outrank assumptions |
|
|
285
|
+
| Pick one primary pipeline | No mixed-pipeline output without explicit transition notes |
|
|
286
|
+
| Provider choice uses 7-dimension scoring | Do not pick providers by name recognition alone |
|
|
287
|
+
| CMS nodes are first-class providers | Treat hosted generation outputs as source assets for composition |
|
|
288
|
+
| Pipeline stages are strict order | research -> proposal -> script -> scene_plan -> assets -> edit -> compose |
|
|
289
|
+
| Budget governance applies | Estimate costs before execution, respect spend caps |
|
|
290
|
+
| Outputs must be operational | Every file should help an operator execute immediately |
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## REQUIRED OUTPUT ORDER
|
|
295
|
+
|
|
296
|
+
1. `VideoProductionBrief`
|
|
297
|
+
2. `PipelineSelectionBrief`
|
|
298
|
+
3. `ProviderSelectionBrief`
|
|
299
|
+
4. `ScenePlan`
|
|
300
|
+
5. `PromptMatrix`
|
|
301
|
+
6. `GenerationBatchPlan`
|
|
302
|
+
7. `AssetTracking`
|
|
303
|
+
8. `ReviewQAChecklist`
|
|
304
|
+
9. `PlatformReadyExecutionHandoff`
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Twenty CRM Worker Kit — Environment Config
|
|
2
|
+
# Copy this file to .env and fill in your credentials.
|
|
3
|
+
# Never commit .env to version control.
|
|
4
|
+
|
|
5
|
+
# Required: Twenty API bearer token.
|
|
6
|
+
# Generate from Twenty Settings > API > Tokens.
|
|
7
|
+
TWENTY_API_TOKEN=your_twenty_api_token_here
|
|
8
|
+
|
|
9
|
+
# Required: Twenty API base URL.
|
|
10
|
+
# Use https://api.twenty.com for cloud, or http://localhost:3000 for local fork.
|
|
11
|
+
TWENTY_API_URL=https://api.twenty.com
|
|
12
|
+
|
|
13
|
+
# Optional: override local fork path used by setup scripts.
|
|
14
|
+
# Default: ~/twenty
|
|
15
|
+
TWENTY_FORK_PATH=~/twenty
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Quick Start — Twenty CRM Worker Kit
|
|
2
|
+
|
|
3
|
+
This folder is your self-contained agent working directory for Twenty CRM implementation, enrichment pipeline design, and CRM playbook production.
|
|
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 Twenty CRM 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/twenty-crm-operator/CLAUDE.md` on session start.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## Step 2 — Configure your Twenty credentials
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
cp .env.example .env
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Open `.env` and fill in:
|
|
22
|
+
- `TWENTY_API_TOKEN` — your Twenty app token (generate in Twenty Settings > API)
|
|
23
|
+
- `TWENTY_API_URL` — your workspace API URL (e.g. `https://api.twenty.com` for cloud, or `http://localhost:3000` for local)
|
|
24
|
+
|
|
25
|
+
The agent checks for these values at the start of every session (Step 0 of the workflow). It will not proceed without them in API-connected mode. Agent-only mode does not require credentials.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Step 3 — Verify your environment
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
node setup/verify-env.mjs
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Confirms that `TWENTY_API_TOKEN` is set, tests connectivity to the Twenty API, and prints available workspace info. Exits 0 on success.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Step 4 — Check local dependencies
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
bash setup/check-deps.sh
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Checks for `node`, `npm`, `git`, and `docker`. Docker is required for self-hosted mode. All are recommended for local-fork development.
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Step 5 — Boot the local fork (local-fork mode only)
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
bash setup/clone-fork.sh
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Clones the Twenty repo to `~/twenty`, installs dependencies, and starts the development environment (PostgreSQL, Redis, and the Twenty server + frontend) via Docker Compose.
|
|
56
|
+
|
|
57
|
+
Skip this step if you are using Twenty Cloud or have an existing self-hosted deployment.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Step 6 — Start a new session
|
|
62
|
+
|
|
63
|
+
**Growthub local:** Start a new run from this working directory. The agent loads automatically.
|
|
64
|
+
|
|
65
|
+
**Claude Code:** Open a new session with this folder as the Working Directory. The agent reads `skills.md` and the methodology automatically.
|
|
66
|
+
|
|
67
|
+
In both cases the agent will ask you 3 clarifying questions before generating any CRM artifacts.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Execution modes
|
|
72
|
+
|
|
73
|
+
| Mode | When to use |
|
|
74
|
+
|---|---|
|
|
75
|
+
| `local-fork` | Local Twenty checkout running via Docker at localhost:3000 |
|
|
76
|
+
| `self-hosted` | Twenty deployed on your own infrastructure |
|
|
77
|
+
| `cloud` | Twenty Cloud workspace at app.twenty.com |
|
|
78
|
+
| `agent-only` | No live Twenty instance — produce planning artifacts only |
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## First-run checklist
|
|
83
|
+
|
|
84
|
+
See `validation-checklist.md` for the full pre-session checklist before your first CRM implementation run.
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Creating a brand kit for a new client
|
|
89
|
+
|
|
90
|
+
See `brands/NEW-CLIENT.md`.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# New Client — Brand Kit Setup Guide
|
|
2
|
+
|
|
3
|
+
Use this guide to create a brand kit for a new client before running the Twenty CRM operator.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Step 1 — Create the brand kit folder
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
mkdir -p brands/<client-slug>
|
|
11
|
+
cp brands/_template/brand-kit.md brands/<client-slug>/brand-kit.md
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Replace `<client-slug>` with the client's slug — lowercase, hyphenated (e.g. `acme-corp`, `growth-agency`).
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Step 2 — Fill in the brand kit
|
|
19
|
+
|
|
20
|
+
Open `brands/<client-slug>/brand-kit.md` and fill in:
|
|
21
|
+
|
|
22
|
+
1. **IDENTITY** — client name, slug, industry, company size, primary offer, campaign owner, date onboarded
|
|
23
|
+
2. **CRM OBJECTIVE** — what problem they are solving with Twenty, deployment mode, go-live target
|
|
24
|
+
3. **AUDIENCE AND PIPELINE** — primary persona, pipeline stages in order
|
|
25
|
+
4. **TECH STACK** — current tools, enrichment providers, data sources
|
|
26
|
+
5. **TEAM** — CRM admin, team sizes, admin capacity
|
|
27
|
+
|
|
28
|
+
Leave `DELIVERABLES LOG` empty for now. The operator will append a line after each session.
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Step 3 — Tell the agent
|
|
33
|
+
|
|
34
|
+
When you start a new session, point the agent to the brand kit:
|
|
35
|
+
|
|
36
|
+
> "Load `brands/<client-slug>/brand-kit.md` as the active client context."
|
|
37
|
+
|
|
38
|
+
The agent loads it in Step 1 of the workflow and uses it to name outputs, set the pipeline stage vocabulary, and calibrate proposal scope.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Naming convention
|
|
43
|
+
|
|
44
|
+
- `client_name`: Full name (e.g. `Acme Corporation`)
|
|
45
|
+
- `slug`: lowercase, hyphenated, no spaces (e.g. `acme-corporation`)
|
|
46
|
+
- Output files use PascalCase ClientSlug (e.g. `AcmeCorporation_DataModelDesign_v1_20260415.md`)
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## Required fields (session will not proceed without these)
|
|
51
|
+
|
|
52
|
+
- `client_name`
|
|
53
|
+
- `slug`
|
|
54
|
+
- `primary_crm_objective`
|
|
55
|
+
- `deployment_mode`
|
|
56
|
+
- `pipeline_stages` (at least 3 stages)
|
|
57
|
+
- `data_sources` (at least one)
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Brand Kit — [CLIENT NAME]
|
|
2
|
+
|
|
3
|
+
Copy to `brands/<client-slug>/brand-kit.md` and fill before producing outputs.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## IDENTITY
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
client_name: "[CLIENT NAME]"
|
|
11
|
+
slug: "[client-slug]"
|
|
12
|
+
industry: "[industry]"
|
|
13
|
+
company_size: "[e.g. 10-50 employees]"
|
|
14
|
+
primary_offer: "[offer]"
|
|
15
|
+
campaign_owner: "[owner]"
|
|
16
|
+
date_onboarded: "YYYY-MM-DD"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## CRM OBJECTIVE
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
primary_crm_objective: "[e.g. lead pipeline management / customer success tracking / partner CRM]"
|
|
23
|
+
current_crm_tool: "[e.g. Salesforce / HubSpot / Airtable / none]"
|
|
24
|
+
reason_for_switching: "[reason or first-time adoption]"
|
|
25
|
+
deployment_mode: "[cloud / self-hosted / local-fork]"
|
|
26
|
+
go_live_target: "YYYY-MM-DD"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## AUDIENCE AND PIPELINE
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
primary_persona:
|
|
33
|
+
role: "[role]"
|
|
34
|
+
company_type: "[company type]"
|
|
35
|
+
pain_point: "[pain]"
|
|
36
|
+
desired_outcome: "[desired outcome]"
|
|
37
|
+
awareness_level: "[awareness]"
|
|
38
|
+
|
|
39
|
+
pipeline_stages:
|
|
40
|
+
- "[Stage 1 — e.g. Lead]"
|
|
41
|
+
- "[Stage 2 — e.g. Qualified]"
|
|
42
|
+
- "[Stage 3 — e.g. Demo]"
|
|
43
|
+
- "[Stage 4 — e.g. Proposal]"
|
|
44
|
+
- "[Stage 5 — e.g. Closed Won]"
|
|
45
|
+
- "[Stage 6 — e.g. Closed Lost]"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## TECH STACK
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
current_tools:
|
|
52
|
+
email_provider: "[e.g. Gmail / Outlook]"
|
|
53
|
+
enrichment_providers:
|
|
54
|
+
- "[Apollo / Clearbit / Clay / Hunter / none]"
|
|
55
|
+
product_analytics: "[Segment / Amplitude / Mixpanel / none]"
|
|
56
|
+
billing: "[Stripe / Chargebee / none]"
|
|
57
|
+
support: "[Intercom / Zendesk / none]"
|
|
58
|
+
marketing: "[HubSpot / Mailchimp / none]"
|
|
59
|
+
data_sources:
|
|
60
|
+
- "[CSV exports from ...]"
|
|
61
|
+
- "[API connection from ...]"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## TEAM
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
team:
|
|
68
|
+
crm_admin: "[name or role]"
|
|
69
|
+
sales_team_size: "[number]"
|
|
70
|
+
cs_team_size: "[number]"
|
|
71
|
+
admin_capacity: "[hours/week available for CRM maintenance]"
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## MESSAGING
|
|
75
|
+
|
|
76
|
+
```yaml
|
|
77
|
+
voice_and_tone:
|
|
78
|
+
- "[direct]"
|
|
79
|
+
- "[data-driven]"
|
|
80
|
+
messaging_guardrails:
|
|
81
|
+
- "[no-go claim or data privacy rule]"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
## DELIVERABLES LOG
|
|
85
|
+
|
|
86
|
+
```text
|
|
87
|
+
- YYYY-MM-DD | Twenty CRM Package v<N> — <Project Name> | output/<client-slug>/<project-slug>/
|
|
88
|
+
```
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Brand Kit — Growthub
|
|
2
|
+
|
|
3
|
+
Public example brand kit for the Twenty CRM Worker Kit.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## IDENTITY
|
|
8
|
+
|
|
9
|
+
```yaml
|
|
10
|
+
client_name: "Growthub"
|
|
11
|
+
slug: "growthub"
|
|
12
|
+
industry: "B2B SaaS / Growth Platform"
|
|
13
|
+
company_size: "10-50 employees"
|
|
14
|
+
primary_offer: "AI-native local intelligence platform for growth teams"
|
|
15
|
+
campaign_owner: "Growthub Growth Team"
|
|
16
|
+
date_onboarded: "2026-04-15"
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## CRM OBJECTIVE
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
primary_crm_objective: "lead pipeline management and partner CRM"
|
|
23
|
+
current_crm_tool: "none (first-time CRM adoption)"
|
|
24
|
+
reason_for_switching: "first-time adoption — scaling GTM motion requires structured CRM"
|
|
25
|
+
deployment_mode: "cloud"
|
|
26
|
+
go_live_target: "2026-05-01"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## AUDIENCE AND PIPELINE
|
|
30
|
+
|
|
31
|
+
```yaml
|
|
32
|
+
primary_persona:
|
|
33
|
+
role: "Head of Growth / GTM Lead"
|
|
34
|
+
company_type: "B2B SaaS startup (Series A–B)"
|
|
35
|
+
pain_point: "scattered lead data across spreadsheets, no pipeline visibility, no enrichment"
|
|
36
|
+
desired_outcome: "structured pipeline with automated enrichment and clear stage ownership"
|
|
37
|
+
awareness_level: "high — already evaluating CRM options"
|
|
38
|
+
|
|
39
|
+
pipeline_stages:
|
|
40
|
+
- "Lead — new contact captured"
|
|
41
|
+
- "Qualified — ICP-fit confirmed"
|
|
42
|
+
- "Demo — intro call scheduled or completed"
|
|
43
|
+
- "Proposal — commercial terms under discussion"
|
|
44
|
+
- "Closed Won — deal signed"
|
|
45
|
+
- "Closed Lost — deal lost with reason recorded"
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## TECH STACK
|
|
49
|
+
|
|
50
|
+
```yaml
|
|
51
|
+
current_tools:
|
|
52
|
+
email_provider: "Gmail (Google Workspace)"
|
|
53
|
+
enrichment_providers:
|
|
54
|
+
- "Apollo (primary outbound lead source)"
|
|
55
|
+
- "Clay (enrichment waterfall)"
|
|
56
|
+
product_analytics: "Segment"
|
|
57
|
+
billing: "Stripe"
|
|
58
|
+
support: "Intercom"
|
|
59
|
+
marketing: "none (using direct outbound only)"
|
|
60
|
+
data_sources:
|
|
61
|
+
- "Apollo CSV exports (contacts + companies)"
|
|
62
|
+
- "Stripe webhook events (customer created, subscription updated)"
|
|
63
|
+
- "Intercom webhook events (conversation started, resolved)"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## TEAM
|
|
67
|
+
|
|
68
|
+
```yaml
|
|
69
|
+
team:
|
|
70
|
+
crm_admin: "Head of Growth"
|
|
71
|
+
sales_team_size: "3"
|
|
72
|
+
cs_team_size: "2"
|
|
73
|
+
admin_capacity: "4 hours/week available for CRM maintenance"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## MESSAGING
|
|
77
|
+
|
|
78
|
+
```yaml
|
|
79
|
+
voice_and_tone:
|
|
80
|
+
- "direct"
|
|
81
|
+
- "data-driven"
|
|
82
|
+
- "operator-first"
|
|
83
|
+
messaging_guardrails:
|
|
84
|
+
- "do not overstate pipeline values in examples"
|
|
85
|
+
- "do not log client data in shared artifacts"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## DELIVERABLES LOG
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
- 2026-04-15 | Twenty CRM Package v1 — Growthub GTM Stack | output/growthub/gtm-crm-v1/
|
|
92
|
+
```
|