@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.
- 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-postiz-social-v1/.env.example +18 -0
- package/assets/worker-kits/growthub-postiz-social-v1/QUICKSTART.md +136 -0
- package/assets/worker-kits/growthub-postiz-social-v1/brands/NEW-CLIENT.md +67 -0
- package/assets/worker-kits/growthub-postiz-social-v1/brands/_template/brand-kit.md +120 -0
- package/assets/worker-kits/growthub-postiz-social-v1/brands/growthub/brand-kit.md +117 -0
- package/assets/worker-kits/growthub-postiz-social-v1/bundles/growthub-postiz-social-v1.json +52 -0
- package/assets/worker-kits/growthub-postiz-social-v1/docs/ai-caption-layer.md +118 -0
- package/assets/worker-kits/growthub-postiz-social-v1/docs/bullmq-queue-layer.md +157 -0
- package/assets/worker-kits/growthub-postiz-social-v1/docs/platform-coverage.md +97 -0
- package/assets/worker-kits/growthub-postiz-social-v1/docs/postiz-fork-integration.md +143 -0
- package/assets/worker-kits/growthub-postiz-social-v1/examples/analytics-brief-sample.md +125 -0
- package/assets/worker-kits/growthub-postiz-social-v1/examples/client-proposal-sample.md +127 -0
- package/assets/worker-kits/growthub-postiz-social-v1/examples/content-calendar-sample.md +75 -0
- package/assets/worker-kits/growthub-postiz-social-v1/examples/social-campaign-sample.md +104 -0
- package/assets/worker-kits/growthub-postiz-social-v1/growthub-meta/README.md +128 -0
- package/assets/worker-kits/growthub-postiz-social-v1/growthub-meta/kit-standard.md +113 -0
- package/assets/worker-kits/growthub-postiz-social-v1/kit.json +104 -0
- package/assets/worker-kits/growthub-postiz-social-v1/output/README.md +56 -0
- package/assets/worker-kits/growthub-postiz-social-v1/output-standards.md +127 -0
- package/assets/worker-kits/growthub-postiz-social-v1/runtime-assumptions.md +159 -0
- package/assets/worker-kits/growthub-postiz-social-v1/setup/check-deps.sh +117 -0
- package/assets/worker-kits/growthub-postiz-social-v1/setup/clone-fork.sh +83 -0
- package/assets/worker-kits/growthub-postiz-social-v1/setup/verify-env.mjs +99 -0
- package/assets/worker-kits/growthub-postiz-social-v1/skills.md +277 -0
- package/assets/worker-kits/growthub-postiz-social-v1/templates/analytics-brief.md +123 -0
- package/assets/worker-kits/growthub-postiz-social-v1/templates/caption-copy-deck.md +127 -0
- package/assets/worker-kits/growthub-postiz-social-v1/templates/client-proposal.md +139 -0
- package/assets/worker-kits/growthub-postiz-social-v1/templates/content-calendar.md +65 -0
- package/assets/worker-kits/growthub-postiz-social-v1/templates/platform-publishing-plan.md +112 -0
- package/assets/worker-kits/growthub-postiz-social-v1/templates/scheduling-manifest.md +83 -0
- package/assets/worker-kits/growthub-postiz-social-v1/templates/social-campaign-brief.md +111 -0
- package/assets/worker-kits/growthub-postiz-social-v1/validation-checklist.md +79 -0
- package/assets/worker-kits/growthub-postiz-social-v1/workers/postiz-social-operator/CLAUDE.md +287 -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,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
|
+
}
|