@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.
Files changed (109) hide show
  1. package/README.md +56 -156
  2. package/assets/worker-kits/growthub-ai-website-cloner-v1/.env.example +7 -0
  3. package/assets/worker-kits/growthub-ai-website-cloner-v1/QUICKSTART.md +116 -0
  4. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/NEW-CLIENT.md +22 -0
  5. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/_template/brand-kit.md +27 -0
  6. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/growthub/brand-kit.md +26 -0
  7. package/assets/worker-kits/growthub-ai-website-cloner-v1/bundles/growthub-ai-website-cloner-v1.json +53 -0
  8. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/ai-website-cloner-fork-integration.md +118 -0
  9. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/design-token-system.md +135 -0
  10. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/multi-phase-pipeline.md +129 -0
  11. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/parallel-builder-dispatch.md +103 -0
  12. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/clone-brief-sample.md +54 -0
  13. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/component-spec-sample.md +123 -0
  14. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/platform-handoff-sample.md +102 -0
  15. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/visual-qa-sample.md +119 -0
  16. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/README.md +71 -0
  17. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/kit-standard.md +47 -0
  18. package/assets/worker-kits/growthub-ai-website-cloner-v1/kit.json +105 -0
  19. package/assets/worker-kits/growthub-ai-website-cloner-v1/output/README.md +26 -0
  20. package/assets/worker-kits/growthub-ai-website-cloner-v1/output-standards.md +75 -0
  21. package/assets/worker-kits/growthub-ai-website-cloner-v1/runtime-assumptions.md +70 -0
  22. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/check-deps.sh +50 -0
  23. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/clone-fork.sh +66 -0
  24. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/verify-env.mjs +78 -0
  25. package/assets/worker-kits/growthub-ai-website-cloner-v1/skills.md +186 -0
  26. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/asset-manifest.md +57 -0
  27. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/builder-dispatch-plan.md +92 -0
  28. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/clone-brief.md +59 -0
  29. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/component-spec.md +124 -0
  30. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/design-token-extraction.md +89 -0
  31. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/platform-handoff.md +114 -0
  32. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/reconnaissance-report.md +77 -0
  33. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/visual-qa-checklist.md +107 -0
  34. package/assets/worker-kits/growthub-ai-website-cloner-v1/validation-checklist.md +76 -0
  35. package/assets/worker-kits/growthub-ai-website-cloner-v1/workers/ai-website-cloner-operator/CLAUDE.md +256 -0
  36. package/assets/worker-kits/growthub-open-montage-studio-v1/.env.example +40 -0
  37. package/assets/worker-kits/growthub-open-montage-studio-v1/QUICKSTART.md +114 -0
  38. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/NEW-CLIENT.md +42 -0
  39. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/_template/brand-kit.md +49 -0
  40. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/growthub/brand-kit.md +50 -0
  41. package/assets/worker-kits/growthub-open-montage-studio-v1/bundles/growthub-open-montage-studio-v1.json +55 -0
  42. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/cms-node-bridge.md +152 -0
  43. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md +120 -0
  44. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/pipeline-reference.md +147 -0
  45. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/provider-adapter-layer.md +105 -0
  46. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/cms-node-video-gen-sample.md +109 -0
  47. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/pipeline-selection-sample.md +67 -0
  48. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/platform-ready-handoff-sample.md +101 -0
  49. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/video-production-brief-sample.md +68 -0
  50. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/README.md +7 -0
  51. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/kit-standard.md +45 -0
  52. package/assets/worker-kits/growthub-open-montage-studio-v1/kit.json +107 -0
  53. package/assets/worker-kits/growthub-open-montage-studio-v1/output/README.md +34 -0
  54. package/assets/worker-kits/growthub-open-montage-studio-v1/output-standards.md +79 -0
  55. package/assets/worker-kits/growthub-open-montage-studio-v1/runtime-assumptions.md +86 -0
  56. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/check-deps.sh +43 -0
  57. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/clone-fork.sh +53 -0
  58. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/verify-env.mjs +102 -0
  59. package/assets/worker-kits/growthub-open-montage-studio-v1/skills.md +254 -0
  60. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/asset-tracking.md +46 -0
  61. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/cms-node-pipeline-mapping.md +64 -0
  62. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/generation-batch-plan.md +70 -0
  63. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/pipeline-selection-brief.md +67 -0
  64. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/platform-ready-execution-handoff.md +103 -0
  65. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/prompt-matrix.md +48 -0
  66. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/provider-selection-brief.md +86 -0
  67. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/review-qa-checklist.md +59 -0
  68. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/scene-plan.md +65 -0
  69. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/video-production-brief.md +58 -0
  70. package/assets/worker-kits/growthub-open-montage-studio-v1/validation-checklist.md +46 -0
  71. package/assets/worker-kits/growthub-open-montage-studio-v1/workers/open-montage-studio-operator/CLAUDE.md +304 -0
  72. package/assets/worker-kits/growthub-twenty-crm-v1/.env.example +15 -0
  73. package/assets/worker-kits/growthub-twenty-crm-v1/QUICKSTART.md +90 -0
  74. package/assets/worker-kits/growthub-twenty-crm-v1/brands/NEW-CLIENT.md +57 -0
  75. package/assets/worker-kits/growthub-twenty-crm-v1/brands/_template/brand-kit.md +88 -0
  76. package/assets/worker-kits/growthub-twenty-crm-v1/brands/growthub/brand-kit.md +92 -0
  77. package/assets/worker-kits/growthub-twenty-crm-v1/bundles/growthub-twenty-crm-v1.json +56 -0
  78. package/assets/worker-kits/growthub-twenty-crm-v1/docs/api-and-webhooks.md +296 -0
  79. package/assets/worker-kits/growthub-twenty-crm-v1/docs/data-model-layer.md +172 -0
  80. package/assets/worker-kits/growthub-twenty-crm-v1/docs/twenty-fork-integration.md +213 -0
  81. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-playbook-sample.md +172 -0
  82. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-setup-sample.md +100 -0
  83. package/assets/worker-kits/growthub-twenty-crm-v1/examples/lead-enrichment-sample.md +117 -0
  84. package/assets/worker-kits/growthub-twenty-crm-v1/examples/pipeline-automation-sample.md +132 -0
  85. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/README.md +114 -0
  86. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/kit-standard.md +61 -0
  87. package/assets/worker-kits/growthub-twenty-crm-v1/kit.json +108 -0
  88. package/assets/worker-kits/growthub-twenty-crm-v1/output/README.md +46 -0
  89. package/assets/worker-kits/growthub-twenty-crm-v1/output-standards.md +175 -0
  90. package/assets/worker-kits/growthub-twenty-crm-v1/runtime-assumptions.md +150 -0
  91. package/assets/worker-kits/growthub-twenty-crm-v1/setup/check-deps.sh +56 -0
  92. package/assets/worker-kits/growthub-twenty-crm-v1/setup/clone-fork.sh +77 -0
  93. package/assets/worker-kits/growthub-twenty-crm-v1/setup/verify-env.mjs +105 -0
  94. package/assets/worker-kits/growthub-twenty-crm-v1/skills.md +401 -0
  95. package/assets/worker-kits/growthub-twenty-crm-v1/templates/api-query-plan.md +179 -0
  96. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-playbook.md +155 -0
  97. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-setup-brief.md +94 -0
  98. package/assets/worker-kits/growthub-twenty-crm-v1/templates/custom-object-design.md +115 -0
  99. package/assets/worker-kits/growthub-twenty-crm-v1/templates/data-model-design.md +112 -0
  100. package/assets/worker-kits/growthub-twenty-crm-v1/templates/enrichment-field-map.md +100 -0
  101. package/assets/worker-kits/growthub-twenty-crm-v1/templates/import-mapping.md +139 -0
  102. package/assets/worker-kits/growthub-twenty-crm-v1/templates/integration-handoff.md +190 -0
  103. package/assets/worker-kits/growthub-twenty-crm-v1/templates/lead-enrichment-pipeline.md +128 -0
  104. package/assets/worker-kits/growthub-twenty-crm-v1/templates/pipeline-automation-brief.md +88 -0
  105. package/assets/worker-kits/growthub-twenty-crm-v1/templates/webhook-integration-spec.md +129 -0
  106. package/assets/worker-kits/growthub-twenty-crm-v1/templates/workspace-config-checklist.md +129 -0
  107. package/assets/worker-kits/growthub-twenty-crm-v1/validation-checklist.md +115 -0
  108. package/assets/worker-kits/growthub-twenty-crm-v1/workers/twenty-crm-operator/CLAUDE.md +310 -0
  109. package/package.json +1 -1
@@ -0,0 +1,86 @@
1
+ # Provider / CMS Node Selection Brief
2
+
3
+ ## Project Reference
4
+
5
+ | Field | Value |
6
+ |---|---|
7
+ | Client | `<client-name>` |
8
+ | Project | `<project-name>` |
9
+ | Pipeline | `<selected-pipeline>` |
10
+ | Date | `YYYY-MM-DD` |
11
+
12
+ ## Available Providers
13
+
14
+ ### Direct API Providers (from .env)
15
+
16
+ | Provider | Key Set | Capabilities |
17
+ |---|---|---|
18
+ | fal.ai | `<yes/no>` | FLUX images, Kling/Veo/MiniMax video, Recraft |
19
+ | OpenAI | `<yes/no>` | DALL-E 3 images, OpenAI TTS |
20
+ | Google | `<yes/no>` | Google TTS (700+ voices), Imagen images |
21
+ | ElevenLabs | `<yes/no>` | Premium TTS, music, SFX |
22
+ | Runway | `<yes/no>` | Gen-4 video |
23
+ | Higgsfield | `<yes/no>` | Multi-model video orchestrator |
24
+ | xAI Grok | `<yes/no>` | Image + video generation |
25
+ | HeyGen | `<yes/no>` | Avatar videos |
26
+ | Suno | `<yes/no>` | AI music generation |
27
+
28
+ ### CMS Node Providers (from GrowthHub)
29
+
30
+ | CMS Node Slug | Family | Execution Kind | Available |
31
+ |---|---|---|---|
32
+ | | | | |
33
+
34
+ ### Local/Free Providers (always available)
35
+
36
+ | Provider | Capability |
37
+ |---|---|
38
+ | Piper TTS | Offline narration |
39
+ | Remotion | Programmatic video composition |
40
+ | FFmpeg | Encoding, subtitles, audio mixing |
41
+ | Archive.org | Free archival footage |
42
+ | Pexels / Pixabay / Unsplash | Free stock media (if keys set) |
43
+
44
+ ## Provider Selection Per Stage
45
+
46
+ | Stage | Selected Provider | Score | Alternative | Cost Estimate |
47
+ |---|---|---|---|---|
48
+ | Image generation | | | | |
49
+ | Video generation | | | | |
50
+ | TTS / narration | | | | |
51
+ | Music | | | | |
52
+ | Composition | | | | |
53
+ | Post-production | | | | |
54
+
55
+ ## 7-Dimension Scoring (Primary Provider)
56
+
57
+ | Dimension | Weight | Score (1-10) | Weighted |
58
+ |---|---|---|---|
59
+ | Task fit | 30% | | |
60
+ | Output quality | 20% | | |
61
+ | Control features | 15% | | |
62
+ | Reliability | 15% | | |
63
+ | Cost efficiency | 10% | | |
64
+ | Latency | 5% | | |
65
+ | Continuity | 5% | | |
66
+ | **Total** | **100%** | | **—** |
67
+
68
+ ## Cost Estimate
69
+
70
+ | Category | Provider | Unit Cost | Quantity | Subtotal |
71
+ |---|---|---|---|---|
72
+ | Images | | | | |
73
+ | Video clips | | | | |
74
+ | TTS | | | | |
75
+ | Music | | | | |
76
+ | CMS nodes | GrowthHub billing | — | | — |
77
+ | **Total** | | | | **$—** |
78
+
79
+ ## Budget Gate
80
+
81
+ | Field | Value |
82
+ |---|---|
83
+ | Per-action threshold | $0.50 |
84
+ | Total budget cap | $10.00 |
85
+ | Estimated total | $— |
86
+ | Within budget | `<yes / no>` |
@@ -0,0 +1,59 @@
1
+ # Review QA Checklist
2
+
3
+ ## Project Reference
4
+
5
+ | Field | Value |
6
+ |---|---|
7
+ | Client | `<client-name>` |
8
+ | Project | `<project-name>` |
9
+ | Pipeline | `<selected-pipeline>` |
10
+ | Date | `YYYY-MM-DD` |
11
+
12
+ ## Pre-Compose Validation
13
+
14
+ - [ ] All scene assets exist and are accessible (URLs resolve, files present)
15
+ - [ ] Asset resolutions match the target render profile
16
+ - [ ] Audio tracks are present and duration-matched to scene plan
17
+ - [ ] Subtitle timing is aligned to narration word boundaries
18
+ - [ ] Delivery promise is achievable with available tools
19
+ - [ ] Budget is within approved cap
20
+ - [ ] No placeholder or draft assets remain in the batch plan
21
+
22
+ ## Composition Review
23
+
24
+ - [ ] Scene order matches scene plan
25
+ - [ ] Transitions render correctly (no black frames, no jumps)
26
+ - [ ] Audio levels are consistent across scenes (no clipping, no drops)
27
+ - [ ] Subtitles are readable against all backgrounds
28
+ - [ ] Lower thirds and overlays are positioned correctly
29
+ - [ ] Opening and closing frames are intentional (no abrupt start/end)
30
+
31
+ ## Post-Render Self-Review
32
+
33
+ - [ ] ffprobe validation: codec, resolution, duration, bitrate match spec
34
+ - [ ] Frame extraction: first, middle, last, and transition frames look correct
35
+ - [ ] Audio analysis: consistent levels, no silence gaps, no clipping
36
+ - [ ] Subtitle check: timing accuracy, no overlapping text
37
+ - [ ] Platform compliance: aspect ratio, duration, file size within limits
38
+
39
+ ## Slideshow Risk Assessment (image-based video only)
40
+
41
+ | Dimension | Score (1-10) | Notes |
42
+ |---|---|---|
43
+ | Motion variety | | |
44
+ | Transition diversity | | |
45
+ | Animation layer count | | |
46
+ | Audio-visual sync | | |
47
+ | Pacing variation | | |
48
+ | Visual grammar complexity | | |
49
+ | **Average** | **—** | Minimum 6.0 to proceed |
50
+
51
+ ## Final Sign-Off
52
+
53
+ | Gate | Status | Reviewer |
54
+ |---|---|---|
55
+ | Pre-compose | `<pass / fail>` | |
56
+ | Composition | `<pass / fail>` | |
57
+ | Post-render | `<pass / fail>` | |
58
+ | Slideshow risk (if applicable) | `<pass / fail / n/a>` | |
59
+ | **Overall** | `<approved / blocked>` | |
@@ -0,0 +1,65 @@
1
+ # Scene Plan
2
+
3
+ ## Project Reference
4
+
5
+ | Field | Value |
6
+ |---|---|
7
+ | Client | `<client-name>` |
8
+ | Project | `<project-name>` |
9
+ | Pipeline | `<selected-pipeline>` |
10
+ | Total duration | `<seconds>` |
11
+ | Scene count | `<N>` |
12
+
13
+ ## Scenes
14
+
15
+ ### Scene 1 — `<scene-title>`
16
+
17
+ | Field | Value |
18
+ |---|---|
19
+ | Duration | `<seconds>` |
20
+ | Start time | `0:00` |
21
+ | Visual type | `<AI-generated / stock footage / screen recording / text card / data viz>` |
22
+ | Camera motion | `<static / pan / zoom / Ken Burns / parallax>` |
23
+ | Transition in | `<cut / crossfade / wipe / zoom>` |
24
+ | Transition out | `<cut / crossfade / wipe / zoom>` |
25
+ | Audio | `<narration / music / SFX / silent>` |
26
+ | Narration text | <!-- Script line for this scene --> |
27
+ | Visual prompt | <!-- Image or video generation prompt --> |
28
+ | Provider / CMS node | `<provider-name or cms-node-slug>` |
29
+ | Overlay | `<subtitles / lower-third / data overlay / none>` |
30
+
31
+ <!-- Copy this block for each additional scene -->
32
+
33
+ ### Scene 2 — `<scene-title>`
34
+
35
+ | Field | Value |
36
+ |---|---|
37
+ | Duration | `<seconds>` |
38
+ | Start time | `<M:SS>` |
39
+ | Visual type | |
40
+ | Camera motion | |
41
+ | Transition in | |
42
+ | Transition out | |
43
+ | Audio | |
44
+ | Narration text | |
45
+ | Visual prompt | |
46
+ | Provider / CMS node | |
47
+ | Overlay | |
48
+
49
+ ## Audio Timeline
50
+
51
+ | Track | Source | Start | End | Notes |
52
+ |---|---|---|---|---|
53
+ | Narration | `<TTS provider>` | 0:00 | — | |
54
+ | Background music | `<music provider>` | 0:00 | — | |
55
+ | SFX | `<source>` | — | — | |
56
+
57
+ ## Render Profile
58
+
59
+ | Field | Value |
60
+ |---|---|
61
+ | Resolution | `<1920x1080>` |
62
+ | Aspect ratio | `<16:9>` |
63
+ | FPS | `<30>` |
64
+ | Codec | `<H.264>` |
65
+ | Platform | `<YouTube / TikTok / Instagram>` |
@@ -0,0 +1,58 @@
1
+ # Video Production Brief
2
+
3
+ ## Project
4
+
5
+ | Field | Value |
6
+ |---|---|
7
+ | Client | `<client-name>` |
8
+ | Project | `<project-name>` |
9
+ | Date | `YYYY-MM-DD` |
10
+ | Operator | Open Montage Studio Operator |
11
+
12
+ ## Objective
13
+
14
+ <!-- What is the video for? Who is the audience? What action should the viewer take? -->
15
+
16
+ ## Format
17
+
18
+ | Field | Value |
19
+ |---|---|
20
+ | Duration target | `<seconds>` |
21
+ | Aspect ratio | `<16:9 / 9:16 / 1:1 / 21:9>` |
22
+ | Resolution | `<1920x1080 / 1080x1920 / 3840x2160>` |
23
+ | Platform | `<YouTube / TikTok / Instagram / LinkedIn / Web>` |
24
+
25
+ ## Content Summary
26
+
27
+ <!-- 2-3 sentence summary of what the video will contain. -->
28
+
29
+ ## Tone and Style
30
+
31
+ <!-- Visual style, mood, pacing, reference videos if any. -->
32
+
33
+ ## Source Assets
34
+
35
+ | Asset | Status | Notes |
36
+ |---|---|---|
37
+ | Brand kit | `<available / missing>` | |
38
+ | Reference video | `<available / missing>` | |
39
+ | Source footage | `<available / missing>` | |
40
+ | Product images | `<available / missing>` | |
41
+ | Audio / voiceover | `<available / missing>` | |
42
+ | Script | `<available / to-generate>` | |
43
+
44
+ ## CMS Node Availability
45
+
46
+ | CMS Node Family | Available | Notes |
47
+ |---|---|---|
48
+ | Video generation | `<yes / no>` | |
49
+ | Image generation | `<yes / no>` | |
50
+ | Text generation | `<yes / no>` | |
51
+
52
+ ## Constraints
53
+
54
+ <!-- Budget cap, timeline, brand guidelines, compliance requirements. -->
55
+
56
+ ## Success Criteria
57
+
58
+ <!-- What does "done" look like? Specific deliverables and quality bars. -->
@@ -0,0 +1,46 @@
1
+ # Validation Checklist — Open Montage Studio
2
+
3
+ Run through this checklist before your first generation session.
4
+
5
+ ---
6
+
7
+ ## Environment Validation
8
+
9
+ - [ ] `.env` file exists (copied from `.env.example`)
10
+ - [ ] At least one provider key is set OR GrowthHub session is active OR zero-key mode is acceptable
11
+ - [ ] `skills.md` is readable from the working directory
12
+ - [ ] `workers/open-montage-studio-operator/CLAUDE.md` is readable
13
+
14
+ ## Local-Fork Validation (skip if agent-only mode)
15
+
16
+ - [ ] Python 3.10+ installed: `python3 --version`
17
+ - [ ] FFmpeg installed: `ffmpeg -version`
18
+ - [ ] Node.js 18+ installed: `node --version`
19
+ - [ ] OpenMontage clone exists at `$OPENMONTAGE_PATH` (default `~/OpenMontage`)
20
+ - [ ] OpenMontage setup completed: `cd ~/OpenMontage && python -c "from tools.tool_registry import registry; registry.discover(); print('OK')"`
21
+ - [ ] Remotion dependencies installed: `cd ~/OpenMontage/remotion-composer && node -e "require('remotion')"`
22
+
23
+ ## CMS Node Validation (skip if local-fork only)
24
+
25
+ - [ ] GrowthHub session is active: `growthub auth:status`
26
+ - [ ] CMS capability registry returns nodes: agent queries for `video` and `image` family nodes
27
+ - [ ] At least one generation node is available and enabled
28
+
29
+ ## Brand Kit Validation
30
+
31
+ - [ ] Brand kit exists in `brands/<client-slug>/brand-kit.md`
32
+ - [ ] Brand identity section is complete
33
+ - [ ] Visual identity section has color values
34
+ - [ ] Tone of voice section is filled
35
+
36
+ ## Provider Key Validation
37
+
38
+ Run `node setup/verify-env.mjs` to check which providers are configured:
39
+
40
+ - [ ] Script exits 0 (at least one provider or zero-key mode acknowledged)
41
+ - [ ] Configured providers match the intended production plan
42
+
43
+ ## Output Directory
44
+
45
+ - [ ] `output/` directory exists and is writable
46
+ - [ ] No stale output from a previous session that could conflict
@@ -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