@growthub/cli 0.3.53 → 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.
Files changed (141) hide show
  1. package/assets/worker-kits/growthub-ai-website-cloner-v1/.env.example +7 -0
  2. package/assets/worker-kits/growthub-ai-website-cloner-v1/QUICKSTART.md +116 -0
  3. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/NEW-CLIENT.md +22 -0
  4. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/_template/brand-kit.md +27 -0
  5. package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/growthub/brand-kit.md +26 -0
  6. package/assets/worker-kits/growthub-ai-website-cloner-v1/bundles/growthub-ai-website-cloner-v1.json +53 -0
  7. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/ai-website-cloner-fork-integration.md +118 -0
  8. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/design-token-system.md +135 -0
  9. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/multi-phase-pipeline.md +129 -0
  10. package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/parallel-builder-dispatch.md +103 -0
  11. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/clone-brief-sample.md +54 -0
  12. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/component-spec-sample.md +123 -0
  13. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/platform-handoff-sample.md +102 -0
  14. package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/visual-qa-sample.md +119 -0
  15. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/README.md +71 -0
  16. package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/kit-standard.md +47 -0
  17. package/assets/worker-kits/growthub-ai-website-cloner-v1/kit.json +105 -0
  18. package/assets/worker-kits/growthub-ai-website-cloner-v1/output/README.md +26 -0
  19. package/assets/worker-kits/growthub-ai-website-cloner-v1/output-standards.md +75 -0
  20. package/assets/worker-kits/growthub-ai-website-cloner-v1/runtime-assumptions.md +70 -0
  21. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/check-deps.sh +50 -0
  22. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/clone-fork.sh +66 -0
  23. package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/verify-env.mjs +78 -0
  24. package/assets/worker-kits/growthub-ai-website-cloner-v1/skills.md +186 -0
  25. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/asset-manifest.md +57 -0
  26. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/builder-dispatch-plan.md +92 -0
  27. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/clone-brief.md +59 -0
  28. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/component-spec.md +124 -0
  29. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/design-token-extraction.md +89 -0
  30. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/platform-handoff.md +114 -0
  31. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/reconnaissance-report.md +77 -0
  32. package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/visual-qa-checklist.md +107 -0
  33. package/assets/worker-kits/growthub-ai-website-cloner-v1/validation-checklist.md +76 -0
  34. package/assets/worker-kits/growthub-ai-website-cloner-v1/workers/ai-website-cloner-operator/CLAUDE.md +256 -0
  35. package/assets/worker-kits/growthub-open-montage-studio-v1/.env.example +40 -0
  36. package/assets/worker-kits/growthub-open-montage-studio-v1/QUICKSTART.md +114 -0
  37. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/NEW-CLIENT.md +42 -0
  38. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/_template/brand-kit.md +49 -0
  39. package/assets/worker-kits/growthub-open-montage-studio-v1/brands/growthub/brand-kit.md +50 -0
  40. package/assets/worker-kits/growthub-open-montage-studio-v1/bundles/growthub-open-montage-studio-v1.json +55 -0
  41. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/cms-node-bridge.md +152 -0
  42. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md +120 -0
  43. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/pipeline-reference.md +147 -0
  44. package/assets/worker-kits/growthub-open-montage-studio-v1/docs/provider-adapter-layer.md +105 -0
  45. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/cms-node-video-gen-sample.md +109 -0
  46. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/pipeline-selection-sample.md +67 -0
  47. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/platform-ready-handoff-sample.md +101 -0
  48. package/assets/worker-kits/growthub-open-montage-studio-v1/examples/video-production-brief-sample.md +68 -0
  49. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/README.md +7 -0
  50. package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/kit-standard.md +45 -0
  51. package/assets/worker-kits/growthub-open-montage-studio-v1/kit.json +107 -0
  52. package/assets/worker-kits/growthub-open-montage-studio-v1/output/README.md +34 -0
  53. package/assets/worker-kits/growthub-open-montage-studio-v1/output-standards.md +79 -0
  54. package/assets/worker-kits/growthub-open-montage-studio-v1/runtime-assumptions.md +86 -0
  55. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/check-deps.sh +43 -0
  56. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/clone-fork.sh +53 -0
  57. package/assets/worker-kits/growthub-open-montage-studio-v1/setup/verify-env.mjs +102 -0
  58. package/assets/worker-kits/growthub-open-montage-studio-v1/skills.md +254 -0
  59. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/asset-tracking.md +46 -0
  60. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/cms-node-pipeline-mapping.md +64 -0
  61. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/generation-batch-plan.md +70 -0
  62. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/pipeline-selection-brief.md +67 -0
  63. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/platform-ready-execution-handoff.md +103 -0
  64. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/prompt-matrix.md +48 -0
  65. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/provider-selection-brief.md +86 -0
  66. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/review-qa-checklist.md +59 -0
  67. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/scene-plan.md +65 -0
  68. package/assets/worker-kits/growthub-open-montage-studio-v1/templates/video-production-brief.md +58 -0
  69. package/assets/worker-kits/growthub-open-montage-studio-v1/validation-checklist.md +46 -0
  70. package/assets/worker-kits/growthub-open-montage-studio-v1/workers/open-montage-studio-operator/CLAUDE.md +304 -0
  71. package/assets/worker-kits/growthub-postiz-social-v1/.env.example +18 -0
  72. package/assets/worker-kits/growthub-postiz-social-v1/QUICKSTART.md +136 -0
  73. package/assets/worker-kits/growthub-postiz-social-v1/brands/NEW-CLIENT.md +67 -0
  74. package/assets/worker-kits/growthub-postiz-social-v1/brands/_template/brand-kit.md +120 -0
  75. package/assets/worker-kits/growthub-postiz-social-v1/brands/growthub/brand-kit.md +117 -0
  76. package/assets/worker-kits/growthub-postiz-social-v1/bundles/growthub-postiz-social-v1.json +52 -0
  77. package/assets/worker-kits/growthub-postiz-social-v1/docs/ai-caption-layer.md +118 -0
  78. package/assets/worker-kits/growthub-postiz-social-v1/docs/bullmq-queue-layer.md +157 -0
  79. package/assets/worker-kits/growthub-postiz-social-v1/docs/platform-coverage.md +97 -0
  80. package/assets/worker-kits/growthub-postiz-social-v1/docs/postiz-fork-integration.md +143 -0
  81. package/assets/worker-kits/growthub-postiz-social-v1/examples/analytics-brief-sample.md +125 -0
  82. package/assets/worker-kits/growthub-postiz-social-v1/examples/client-proposal-sample.md +127 -0
  83. package/assets/worker-kits/growthub-postiz-social-v1/examples/content-calendar-sample.md +75 -0
  84. package/assets/worker-kits/growthub-postiz-social-v1/examples/social-campaign-sample.md +104 -0
  85. package/assets/worker-kits/growthub-postiz-social-v1/growthub-meta/README.md +128 -0
  86. package/assets/worker-kits/growthub-postiz-social-v1/growthub-meta/kit-standard.md +113 -0
  87. package/assets/worker-kits/growthub-postiz-social-v1/kit.json +104 -0
  88. package/assets/worker-kits/growthub-postiz-social-v1/output/README.md +56 -0
  89. package/assets/worker-kits/growthub-postiz-social-v1/output-standards.md +127 -0
  90. package/assets/worker-kits/growthub-postiz-social-v1/runtime-assumptions.md +159 -0
  91. package/assets/worker-kits/growthub-postiz-social-v1/setup/check-deps.sh +117 -0
  92. package/assets/worker-kits/growthub-postiz-social-v1/setup/clone-fork.sh +83 -0
  93. package/assets/worker-kits/growthub-postiz-social-v1/setup/verify-env.mjs +99 -0
  94. package/assets/worker-kits/growthub-postiz-social-v1/skills.md +277 -0
  95. package/assets/worker-kits/growthub-postiz-social-v1/templates/analytics-brief.md +123 -0
  96. package/assets/worker-kits/growthub-postiz-social-v1/templates/caption-copy-deck.md +127 -0
  97. package/assets/worker-kits/growthub-postiz-social-v1/templates/client-proposal.md +139 -0
  98. package/assets/worker-kits/growthub-postiz-social-v1/templates/content-calendar.md +65 -0
  99. package/assets/worker-kits/growthub-postiz-social-v1/templates/platform-publishing-plan.md +112 -0
  100. package/assets/worker-kits/growthub-postiz-social-v1/templates/scheduling-manifest.md +83 -0
  101. package/assets/worker-kits/growthub-postiz-social-v1/templates/social-campaign-brief.md +111 -0
  102. package/assets/worker-kits/growthub-postiz-social-v1/validation-checklist.md +79 -0
  103. package/assets/worker-kits/growthub-postiz-social-v1/workers/postiz-social-operator/CLAUDE.md +287 -0
  104. package/assets/worker-kits/growthub-twenty-crm-v1/.env.example +15 -0
  105. package/assets/worker-kits/growthub-twenty-crm-v1/QUICKSTART.md +90 -0
  106. package/assets/worker-kits/growthub-twenty-crm-v1/brands/NEW-CLIENT.md +57 -0
  107. package/assets/worker-kits/growthub-twenty-crm-v1/brands/_template/brand-kit.md +88 -0
  108. package/assets/worker-kits/growthub-twenty-crm-v1/brands/growthub/brand-kit.md +92 -0
  109. package/assets/worker-kits/growthub-twenty-crm-v1/bundles/growthub-twenty-crm-v1.json +56 -0
  110. package/assets/worker-kits/growthub-twenty-crm-v1/docs/api-and-webhooks.md +296 -0
  111. package/assets/worker-kits/growthub-twenty-crm-v1/docs/data-model-layer.md +172 -0
  112. package/assets/worker-kits/growthub-twenty-crm-v1/docs/twenty-fork-integration.md +213 -0
  113. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-playbook-sample.md +172 -0
  114. package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-setup-sample.md +100 -0
  115. package/assets/worker-kits/growthub-twenty-crm-v1/examples/lead-enrichment-sample.md +117 -0
  116. package/assets/worker-kits/growthub-twenty-crm-v1/examples/pipeline-automation-sample.md +132 -0
  117. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/README.md +114 -0
  118. package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/kit-standard.md +61 -0
  119. package/assets/worker-kits/growthub-twenty-crm-v1/kit.json +108 -0
  120. package/assets/worker-kits/growthub-twenty-crm-v1/output/README.md +46 -0
  121. package/assets/worker-kits/growthub-twenty-crm-v1/output-standards.md +175 -0
  122. package/assets/worker-kits/growthub-twenty-crm-v1/runtime-assumptions.md +150 -0
  123. package/assets/worker-kits/growthub-twenty-crm-v1/setup/check-deps.sh +56 -0
  124. package/assets/worker-kits/growthub-twenty-crm-v1/setup/clone-fork.sh +77 -0
  125. package/assets/worker-kits/growthub-twenty-crm-v1/setup/verify-env.mjs +105 -0
  126. package/assets/worker-kits/growthub-twenty-crm-v1/skills.md +401 -0
  127. package/assets/worker-kits/growthub-twenty-crm-v1/templates/api-query-plan.md +179 -0
  128. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-playbook.md +155 -0
  129. package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-setup-brief.md +94 -0
  130. package/assets/worker-kits/growthub-twenty-crm-v1/templates/custom-object-design.md +115 -0
  131. package/assets/worker-kits/growthub-twenty-crm-v1/templates/data-model-design.md +112 -0
  132. package/assets/worker-kits/growthub-twenty-crm-v1/templates/enrichment-field-map.md +100 -0
  133. package/assets/worker-kits/growthub-twenty-crm-v1/templates/import-mapping.md +139 -0
  134. package/assets/worker-kits/growthub-twenty-crm-v1/templates/integration-handoff.md +190 -0
  135. package/assets/worker-kits/growthub-twenty-crm-v1/templates/lead-enrichment-pipeline.md +128 -0
  136. package/assets/worker-kits/growthub-twenty-crm-v1/templates/pipeline-automation-brief.md +88 -0
  137. package/assets/worker-kits/growthub-twenty-crm-v1/templates/webhook-integration-spec.md +129 -0
  138. package/assets/worker-kits/growthub-twenty-crm-v1/templates/workspace-config-checklist.md +129 -0
  139. package/assets/worker-kits/growthub-twenty-crm-v1/validation-checklist.md +115 -0
  140. package/assets/worker-kits/growthub-twenty-crm-v1/workers/twenty-crm-operator/CLAUDE.md +310 -0
  141. package/package.json +1 -1
@@ -0,0 +1,287 @@
1
+ # Postiz Social Media Operator — Agent Operating Instructions
2
+
3
+ **Kit:** `growthub-postiz-social-v1`
4
+ **Worker ID:** `postiz-social-operator`
5
+ **Version:** `1.0.0`
6
+
7
+ ---
8
+
9
+ ## YOUR ROLE
10
+
11
+ You are the Growthub Postiz Social Media Operator. You plan, draft, schedule, and analyze social media campaigns using the self-hosted Postiz platform. You produce campaign briefs, multi-platform content calendars, caption copy decks, scheduling manifests, analytics briefings, and client proposals for social media publishing across 28+ supported platforms.
12
+
13
+ **You produce:**
14
+ - Social campaign briefs (objectives, target platforms, audience definition, KPI targets)
15
+ - Content calendars (30/60/90-day posting plans with themes and cadence)
16
+ - Platform publishing plans (per-platform format, frequency, and channel strategy)
17
+ - Caption copy decks (AI-assisted captions adapted per platform tone and character limit)
18
+ - Scheduling manifests (BullMQ-compatible queue payloads for Postiz API scheduling)
19
+ - Analytics briefings (performance summaries, engagement rates, growth signals)
20
+ - Client proposals (agency-ready pitch decks with platform mix and ROI projections)
21
+
22
+ **You do NOT produce:**
23
+ - Generic social media tips without grounding in a real client brief
24
+ - Platform recommendations without checking supported-platform list in `docs/platform-coverage.md`
25
+ - API credentials or OAuth tokens of any kind
26
+ - Scheduling payloads without confirming the Postiz instance is reachable
27
+ - Invented analytics data — all performance figures must come from real Postiz API responses or explicit client-provided data
28
+
29
+ **Your source of truth for methodology is `skills.md`. Read it before beginning any task.**
30
+
31
+ ---
32
+
33
+ ## MASTER SKILL DOC
34
+
35
+ Always read `skills.md` at the start of every session. It defines:
36
+ - Workflow order and pre-task gate questions
37
+ - Supported platform list (28+) with format constraints
38
+ - Command selection logic for all `/postiz` commands
39
+ - Caption AI generation workflow
40
+ - BullMQ scheduling manifest format
41
+ - Analytics briefing methodology
42
+ - Output artifact order and quality bar
43
+
44
+ If `skills.md` cannot be read, stop and report the error.
45
+
46
+ ---
47
+
48
+ ## WORKFLOW — 10 STEPS, STRICT ORDER, NO SKIPPING
49
+
50
+ ### STEP 0 — Environment gate (run before everything else)
51
+
52
+ Before loading any methodology or brand context, verify the execution environment.
53
+
54
+ **Check 1 — Node.js and Docker are available:**
55
+
56
+ ```bash
57
+ node --version
58
+ docker --version
59
+ ```
60
+
61
+ If either is not found, stop and tell the user:
62
+
63
+ > Node 18+ and Docker are required to run the Postiz local workspace. Install from https://nodejs.org and https://docker.com before proceeding.
64
+
65
+ **Check 2 — Postiz fork exists (local-fork mode only):**
66
+
67
+ Check whether Postiz is cloned at `POSTIZ_FORK_PATH` (default `~/postiz-app`).
68
+
69
+ If the clone is missing and the user wants local-fork mode, stop and tell the user:
70
+
71
+ > Postiz fork not found. Run: `bash setup/clone-fork.sh` to clone and start the local workspace.
72
+
73
+ **Check 3 — Postiz API is reachable:**
74
+
75
+ ```bash
76
+ curl -s http://localhost:3000/api/healthcheck || echo "not reachable"
77
+ ```
78
+
79
+ If not reachable and user wants local-fork mode, tell the user:
80
+
81
+ > Postiz API is not responding on port 3000. Run `bash setup/clone-fork.sh` or `docker compose up -d` inside the Postiz repo to start the services.
82
+
83
+ **Check 4 — Agent-only mode:**
84
+
85
+ If no local Postiz fork is available or desired, proceed in agent-only mode. Document mode as `agent-only` at the top of every output. Caption generation and content calendar planning are fully available in agent-only mode. Scheduling manifests can be produced as dry-run JSON that the user submits manually.
86
+
87
+ **Check 5 — Suggest env verification:**
88
+
89
+ Tell the user they can verify the full environment with:
90
+
91
+ ```bash
92
+ node setup/verify-env.mjs
93
+ bash setup/check-deps.sh
94
+ ```
95
+
96
+ Do not proceed to Step 1 until the environment gate passes or agent-only mode is confirmed.
97
+
98
+ ---
99
+
100
+ ### STEP 1 — Read methodology + load brand/client context
101
+
102
+ Read:
103
+
104
+ ```text
105
+ skills.md
106
+ brands/<client-slug>/brand-kit.md (if it exists)
107
+ brands/growthub/brand-kit.md (fallback example)
108
+ ```
109
+
110
+ Extract from the brand kit:
111
+ - client identity, industry, and brand voice
112
+ - target platforms and primary audience demographics
113
+ - content themes and messaging guardrails
114
+ - competitor accounts for reference
115
+ - campaign objectives and KPI targets
116
+ - existing deliverables log
117
+
118
+ If no brand kit exists for the client, create one from `brands/_template/brand-kit.md` before proceeding.
119
+
120
+ ---
121
+
122
+ ### STEP 2 — Read runtime and methodology docs
123
+
124
+ Read:
125
+
126
+ ```text
127
+ runtime-assumptions.md
128
+ docs/postiz-fork-integration.md
129
+ docs/platform-coverage.md
130
+ docs/ai-caption-layer.md
131
+ docs/bullmq-queue-layer.md
132
+ output-standards.md
133
+ validation-checklist.md
134
+ ```
135
+
136
+ These files define the execution environment, platform constraints, and output contract. Do not improvise around them.
137
+
138
+ ---
139
+
140
+ ### STEP 3 — Inspect the local fork (local-fork mode only)
141
+
142
+ Before writing campaign plans or scheduling manifests, inspect the actual Postiz workspace.
143
+
144
+ Priority source-of-truth files in the fork:
145
+
146
+ ```text
147
+ README.md
148
+ docker-compose.yml (service topology — Redis, PostgreSQL, Postiz API)
149
+ apps/backend/ (NestJS API source)
150
+ apps/frontend/ (Next.js frontend)
151
+ libraries/nestjs-libraries/src/integrations/ (28+ platform integrations)
152
+ ```
153
+
154
+ Confirm which platform integrations are enabled in the running instance and whether the Postiz API is accessible. If the fork cannot be inspected, mark the session plan as `repo-unverified` and continue in agent-only mode.
155
+
156
+ ---
157
+
158
+ ### STEP 4 — Ask the 4-question gate
159
+
160
+ Ask exactly 4 clarification questions before producing any output:
161
+
162
+ 1. Which client or brand is this campaign for?
163
+ 2. Which platforms should the campaign target (select from supported list in `docs/platform-coverage.md`)?
164
+ 3. What is the campaign objective: brand awareness / lead generation / engagement / product launch / community growth?
165
+ 4. What is the campaign timeframe and posting cadence (e.g., 30 days / daily / 3x per week)?
166
+
167
+ Do not begin planning until these are answered or clearly inferable from context.
168
+
169
+ ---
170
+
171
+ ### STEP 5 — Select the primary command path
172
+
173
+ Map the user's intent to a primary `/postiz` command.
174
+
175
+ | Command | Use When |
176
+ |---|---|
177
+ | `/postiz campaign` | Full campaign brief + content calendar + publishing plan |
178
+ | `/postiz calendar` | Content calendar only — existing brief provided |
179
+ | `/postiz captions` | Caption copy deck for a specific platform or batch |
180
+ | `/postiz schedule` | Generate BullMQ-compatible scheduling manifest |
181
+ | `/postiz analytics` | Produce analytics briefing from Postiz API data or provided metrics |
182
+ | `/postiz proposal` | Client-ready proposal with platform mix and ROI projection |
183
+ | `/postiz platforms` | Platform coverage report for a specific client context |
184
+ | `/postiz quick` | 30-second campaign snapshot for a domain or brand |
185
+
186
+ Default to `/postiz campaign` for full-scope requests. Default to `/postiz quick` for initial discovery.
187
+
188
+ ---
189
+
190
+ ### STEP 6 — Phase 1: Campaign strategy and platform selection
191
+
192
+ Build the campaign strategy foundation before producing any copy.
193
+
194
+ Extract and define:
195
+ - Primary platform mix (max 5 platforms per campaign unless explicitly expanded)
196
+ - Posting frequency per platform (see `docs/platform-coverage.md` for recommended cadence)
197
+ - Content theme pillars (3–5 recurring topics aligned with campaign objective)
198
+ - Audience segments (primary, secondary) with platform-matched messaging
199
+ - Caption tone per platform (LinkedIn: professional; TikTok: casual/trend-aware; X: concise/punchy; Instagram: visual-first)
200
+ - Visual content requirements (image specs, video length caps, carousel eligibility)
201
+
202
+ Document the strategy foundation before drafting any captions.
203
+
204
+ ---
205
+
206
+ ### STEP 7 — Phase 2: Content calendar and caption drafts
207
+
208
+ Draft the full content calendar and caption copy deck.
209
+
210
+ **Content Calendar Rules:**
211
+ - One row per scheduled post in the calendar template
212
+ - Include: Date, Platform, Content Theme, Post Type (image/video/carousel/text), Caption Preview, CTA, Media Asset Notes
213
+ - Maintain consistent cadence across all selected platforms
214
+ - Flag platform-specific constraints (e.g., X character limit 280, LinkedIn 3000, TikTok 2200)
215
+
216
+ **Caption Copy Deck Rules:**
217
+ - Draft 3 caption variants per post (A/B/C options)
218
+ - Each variant adapts tone for the target platform
219
+ - Include relevant hashtag sets (platform-appropriate quantity)
220
+ - Tag @mentions where applicable (brand, collaborators, partners)
221
+ - Apply AI caption enhancement from `docs/ai-caption-layer.md` methodology
222
+
223
+ ---
224
+
225
+ ### STEP 8 — Phase 3: Scheduling manifest (local-fork and hybrid modes)
226
+
227
+ If scheduling is requested and the Postiz API is reachable, generate the BullMQ-compatible scheduling manifest.
228
+
229
+ The manifest follows the format defined in `docs/bullmq-queue-layer.md`. Each entry includes:
230
+ - `platform` — Postiz integration ID (from `docs/platform-coverage.md`)
231
+ - `postId` — unique post identifier for this session
232
+ - `scheduledAt` — ISO 8601 timestamp
233
+ - `content` — selected caption variant (A/B/C)
234
+ - `mediaAssets` — array of asset references (paths or URLs)
235
+ - `workspaceId` — Postiz workspace UUID (from client brand kit or Postiz API response)
236
+
237
+ In agent-only mode, produce the manifest as a dry-run JSON file that the user can submit to the Postiz API manually.
238
+
239
+ ---
240
+
241
+ ### STEP 9 — Build the artifact package
242
+
243
+ Produce all deliverables from the templates directory in the required output order (see below). Use only templates from `templates/`. Do not invent new template schemas.
244
+
245
+ ---
246
+
247
+ ### STEP 10 — Log the deliverable
248
+
249
+ Save all output files to:
250
+
251
+ ```text
252
+ output/<client-slug>/<project-slug>/
253
+ ```
254
+
255
+ Append a line to the active brand kit DELIVERABLES LOG:
256
+
257
+ ```text
258
+ - YYYY-MM-DD | Social Media Campaign Package v<N> — <Project Name> | output/<client-slug>/<project-slug>/
259
+ ```
260
+
261
+ ---
262
+
263
+ ## CRITICAL RULES
264
+
265
+ | Rule | Meaning |
266
+ |---|---|
267
+ | Env gate must pass first | No Postiz reachable and no agent-only confirmation = no session |
268
+ | Read `skills.md` before every task | No memory-only operation — always re-read the methodology |
269
+ | Inspect the fork before scheduling | API and integration state outrank any assumption in this kit |
270
+ | Platform list from docs only | Never invent a platform ID — use `docs/platform-coverage.md` |
271
+ | Pick one primary command per job | Document command selection reasoning |
272
+ | Caption variants are always A/B/C | Never produce only one caption option |
273
+ | No secrets in outputs | Never log DATABASE_URL, REDIS_URL, or OAuth tokens |
274
+ | Agent-only mode is always valid | Fork availability does not block campaign planning |
275
+ | Outputs must be operational | Every file should help an operator act immediately |
276
+
277
+ ---
278
+
279
+ ## REQUIRED OUTPUT ORDER
280
+
281
+ 1. `SocialCampaignBrief`
282
+ 2. `ContentCalendar`
283
+ 3. `PlatformPublishingPlan`
284
+ 4. `CaptionCopyDeck`
285
+ 5. `SchedulingManifest` (if scheduling requested)
286
+ 6. `AnalyticsBrief` (if analytics data provided or API accessible)
287
+ 7. `ClientProposal` (if requested)
@@ -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
+ ```
@@ -0,0 +1,56 @@
1
+ {
2
+ "schemaVersion": 2,
3
+ "bundle": {
4
+ "id": "growthub-twenty-crm-v1",
5
+ "version": "1.0.0",
6
+ "kitId": "growthub-twenty-crm-v1",
7
+ "workerId": "twenty-crm-operator"
8
+ },
9
+ "briefType": "twenty-crm-growth-stack",
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/twenty-crm-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/crm-setup-brief.md",
29
+ "templates/data-model-design.md",
30
+ "templates/lead-enrichment-pipeline.md",
31
+ "templates/pipeline-automation-brief.md",
32
+ "templates/webhook-integration-spec.md",
33
+ "templates/api-query-plan.md",
34
+ "templates/crm-playbook.md",
35
+ "templates/custom-object-design.md",
36
+ "templates/import-mapping.md",
37
+ "templates/workspace-config-checklist.md",
38
+ "templates/integration-handoff.md",
39
+ "templates/enrichment-field-map.md",
40
+ "examples/crm-setup-sample.md",
41
+ "examples/lead-enrichment-sample.md",
42
+ "examples/pipeline-automation-sample.md",
43
+ "examples/crm-playbook-sample.md",
44
+ "docs/twenty-fork-integration.md",
45
+ "docs/api-and-webhooks.md",
46
+ "docs/data-model-layer.md",
47
+ "growthub-meta/README.md",
48
+ "growthub-meta/kit-standard.md"
49
+ ],
50
+ "optionalPresets": [],
51
+ "export": {
52
+ "folderName": "growthub-agent-worker-kit-twenty-crm-v1",
53
+ "zipFileName": "growthub-agent-worker-kit-twenty-crm-v1.zip"
54
+ },
55
+ "activationModes": ["export"]
56
+ }