@growthub/cli 0.3.54 → 0.3.55
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/worker-kits/growthub-ai-website-cloner-v1/.env.example +7 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/QUICKSTART.md +116 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/NEW-CLIENT.md +22 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/_template/brand-kit.md +27 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/brands/growthub/brand-kit.md +26 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/bundles/growthub-ai-website-cloner-v1.json +53 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/ai-website-cloner-fork-integration.md +118 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/design-token-system.md +135 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/multi-phase-pipeline.md +129 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/docs/parallel-builder-dispatch.md +103 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/clone-brief-sample.md +54 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/component-spec-sample.md +123 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/platform-handoff-sample.md +102 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/examples/visual-qa-sample.md +119 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/README.md +71 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/growthub-meta/kit-standard.md +47 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/kit.json +105 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/output/README.md +26 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/output-standards.md +75 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/runtime-assumptions.md +70 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/check-deps.sh +50 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/clone-fork.sh +66 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/setup/verify-env.mjs +78 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/skills.md +186 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/asset-manifest.md +57 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/builder-dispatch-plan.md +92 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/clone-brief.md +59 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/component-spec.md +124 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/design-token-extraction.md +89 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/platform-handoff.md +114 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/reconnaissance-report.md +77 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/templates/visual-qa-checklist.md +107 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/validation-checklist.md +76 -0
- package/assets/worker-kits/growthub-ai-website-cloner-v1/workers/ai-website-cloner-operator/CLAUDE.md +256 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/.env.example +40 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/QUICKSTART.md +114 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/NEW-CLIENT.md +42 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/_template/brand-kit.md +49 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/brands/growthub/brand-kit.md +50 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/bundles/growthub-open-montage-studio-v1.json +55 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/cms-node-bridge.md +152 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/open-montage-fork-integration.md +120 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/pipeline-reference.md +147 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/docs/provider-adapter-layer.md +105 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/cms-node-video-gen-sample.md +109 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/pipeline-selection-sample.md +67 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/platform-ready-handoff-sample.md +101 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/examples/video-production-brief-sample.md +68 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/README.md +7 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/growthub-meta/kit-standard.md +45 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/kit.json +107 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/output/README.md +34 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/output-standards.md +79 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/runtime-assumptions.md +86 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/check-deps.sh +43 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/clone-fork.sh +53 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/setup/verify-env.mjs +102 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/skills.md +254 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/asset-tracking.md +46 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/cms-node-pipeline-mapping.md +64 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/generation-batch-plan.md +70 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/pipeline-selection-brief.md +67 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/platform-ready-execution-handoff.md +103 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/prompt-matrix.md +48 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/provider-selection-brief.md +86 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/review-qa-checklist.md +59 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/scene-plan.md +65 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/templates/video-production-brief.md +58 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/validation-checklist.md +46 -0
- package/assets/worker-kits/growthub-open-montage-studio-v1/workers/open-montage-studio-operator/CLAUDE.md +304 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/.env.example +15 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/QUICKSTART.md +90 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/NEW-CLIENT.md +57 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/_template/brand-kit.md +88 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/brands/growthub/brand-kit.md +92 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/bundles/growthub-twenty-crm-v1.json +56 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/api-and-webhooks.md +296 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/data-model-layer.md +172 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/docs/twenty-fork-integration.md +213 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-playbook-sample.md +172 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/crm-setup-sample.md +100 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/lead-enrichment-sample.md +117 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/examples/pipeline-automation-sample.md +132 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/README.md +114 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/growthub-meta/kit-standard.md +61 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/kit.json +108 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/output/README.md +46 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/output-standards.md +175 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/runtime-assumptions.md +150 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/check-deps.sh +56 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/clone-fork.sh +77 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/setup/verify-env.mjs +105 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/skills.md +401 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/api-query-plan.md +179 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-playbook.md +155 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/crm-setup-brief.md +94 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/custom-object-design.md +115 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/data-model-design.md +112 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/enrichment-field-map.md +100 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/import-mapping.md +139 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/integration-handoff.md +190 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/lead-enrichment-pipeline.md +128 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/pipeline-automation-brief.md +88 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/webhook-integration-spec.md +129 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/templates/workspace-config-checklist.md +129 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/validation-checklist.md +115 -0
- package/assets/worker-kits/growthub-twenty-crm-v1/workers/twenty-crm-operator/CLAUDE.md +310 -0
- package/package.json +1 -1
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# Pipeline Automation Brief — Growthub (SAMPLE)
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-04-15
|
|
4
|
+
**Kit:** `growthub-twenty-crm-v1`
|
|
5
|
+
**Mode:** `cloud`
|
|
6
|
+
|
|
7
|
+
> **Note:** This is a sample output. Adapt all values to the actual client context.
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## AUTOMATION INVENTORY
|
|
12
|
+
|
|
13
|
+
| # | Automation name | Trigger | Action | Status |
|
|
14
|
+
|---|---|---|---|---|
|
|
15
|
+
| 1 | Lead Qualified — Assign Rep + Create Follow-Up Task | Stage changes to QUALIFIED | Assign owner, create Task | planned |
|
|
16
|
+
| 2 | Demo Scheduled — Notify Slack | Stage changes to DEMO | Send outbound webhook to Slack | planned |
|
|
17
|
+
| 3 | Closed Won — Create Customer Onboarding Task | Stage changes to CLOSED_WON | Create Task, update field | planned |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## AUTOMATION 1 — LEAD QUALIFIED: ASSIGN REP AND CREATE FOLLOW-UP TASK
|
|
22
|
+
|
|
23
|
+
**Purpose:** When a lead's stage changes to QUALIFIED, assign the opportunity to the next available sales rep (round-robin, two reps) and create a follow-up task due in 24 hours.
|
|
24
|
+
|
|
25
|
+
### Trigger
|
|
26
|
+
|
|
27
|
+
| Property | Value |
|
|
28
|
+
|---|---|
|
|
29
|
+
| Trigger type | `on_field_change` |
|
|
30
|
+
| Target object | `Opportunity` |
|
|
31
|
+
| Field | `stage` |
|
|
32
|
+
| Previous value | any (except QUALIFIED) |
|
|
33
|
+
| New value | `QUALIFIED` |
|
|
34
|
+
|
|
35
|
+
### Action sequence
|
|
36
|
+
|
|
37
|
+
| Step | Action type | Target | Parameters |
|
|
38
|
+
|---|---|---|---|
|
|
39
|
+
| 1 | `assign_owner` | `Opportunity` | Round-robin between [Sales Rep 1 ID] and [Sales Rep 2 ID] |
|
|
40
|
+
| 2 | `create_task` | `Person` (pointOfContact) | `title: "Follow up with [Person name]", dueAt: +24h, assignee: opportunity.assignee` |
|
|
41
|
+
| 3 | `update_field` | `Opportunity` | `qualifiedAt: now()` (custom date field) |
|
|
42
|
+
|
|
43
|
+
### Failure behavior
|
|
44
|
+
|
|
45
|
+
**If step 1 fails (assignment):** Assign to CRM Admin as fallback
|
|
46
|
+
**If step 2 fails (task creation):** Retry once after 60 seconds; if still failing, send in-app notification to CRM Admin
|
|
47
|
+
**If step 3 fails (field update):** Log error; non-critical, do not halt
|
|
48
|
+
|
|
49
|
+
### Monitoring
|
|
50
|
+
|
|
51
|
+
Check the automation execution log in Twenty > Settings > Workflows weekly. Expected volume: 5–15 triggers per week.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## AUTOMATION 2 — DEMO SCHEDULED: NOTIFY SLACK
|
|
56
|
+
|
|
57
|
+
**Purpose:** When a deal enters the DEMO stage, post a message to the #sales-pipeline Slack channel so the full team sees demo activity in real time.
|
|
58
|
+
|
|
59
|
+
### Trigger
|
|
60
|
+
|
|
61
|
+
| Property | Value |
|
|
62
|
+
|---|---|
|
|
63
|
+
| Trigger type | `on_field_change` |
|
|
64
|
+
| Target object | `Opportunity` |
|
|
65
|
+
| Field | `stage` |
|
|
66
|
+
| Previous value | `QUALIFIED` |
|
|
67
|
+
| New value | `DEMO` |
|
|
68
|
+
|
|
69
|
+
### Action sequence
|
|
70
|
+
|
|
71
|
+
| Step | Action type | Target | Parameters |
|
|
72
|
+
|---|---|---|---|
|
|
73
|
+
| 1 | `send_webhook` | Slack Incoming Webhook URL | See payload below |
|
|
74
|
+
|
|
75
|
+
**Slack payload:**
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"text": "🎯 Demo stage reached: *{{opportunity.name}}* — assigned to {{opportunity.assignee.name}}. Close date: {{opportunity.closeDate}}",
|
|
80
|
+
"channel": "#sales-pipeline"
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Failure behavior
|
|
85
|
+
|
|
86
|
+
**If webhook fails:** Retry 3× (5s, 15s, 45s). If all retries fail: log error and send in-app notification to CRM Admin. Non-critical — pipeline is not blocked.
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## AUTOMATION 3 — CLOSED WON: CREATE ONBOARDING TASK
|
|
91
|
+
|
|
92
|
+
**Purpose:** When a deal is marked as CLOSED_WON, automatically create a customer onboarding task assigned to the CS Manager.
|
|
93
|
+
|
|
94
|
+
### Trigger
|
|
95
|
+
|
|
96
|
+
| Property | Value |
|
|
97
|
+
|---|---|
|
|
98
|
+
| Trigger type | `on_field_change` |
|
|
99
|
+
| Target object | `Opportunity` |
|
|
100
|
+
| Field | `stage` |
|
|
101
|
+
| Previous value | any |
|
|
102
|
+
| New value | `CLOSED_WON` |
|
|
103
|
+
|
|
104
|
+
### Action sequence
|
|
105
|
+
|
|
106
|
+
| Step | Action type | Target | Parameters |
|
|
107
|
+
|---|---|---|---|
|
|
108
|
+
| 1 | `create_task` | `Person` (pointOfContact) | `title: "Onboard [Person name] — [Company name]", dueAt: +3 days, assignee: [CS Manager ID]` |
|
|
109
|
+
| 2 | `update_field` | `Opportunity` | `closedAt: now()` (custom date field) |
|
|
110
|
+
| 3 | `send_webhook` | Slack Incoming Webhook | Post to #customer-success: "New customer: [Company name]" |
|
|
111
|
+
|
|
112
|
+
### Failure behavior
|
|
113
|
+
|
|
114
|
+
**If task creation fails:** Retry once; then send email notification to CS Manager directly
|
|
115
|
+
**If Slack webhook fails:** Retry 3×; if all fail, log — non-critical
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## AUTOMATION DESIGN DECISIONS
|
|
120
|
+
|
|
121
|
+
| Decision | Choice | Rationale |
|
|
122
|
+
|---|---|---|
|
|
123
|
+
| Assignment method | Round-robin (2 reps) | Equal load distribution; no territory segmentation needed at current team size |
|
|
124
|
+
| Slack notification trigger | Stage change to DEMO (not QUALIFIED) | QUALIFIED happens frequently (5–15/week); only DEMO warrants team visibility |
|
|
125
|
+
| Onboarding task assignee | CS Manager (fixed) | Single CS contact at current team size; revisit when team grows |
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## OPEN QUESTIONS
|
|
130
|
+
|
|
131
|
+
- [ ] Should the Closed Won Slack notification include the deal amount? (confirm with head of sales)
|
|
132
|
+
- [ ] What is the round-robin assignment rule when one rep is on leave — assign to the other rep only, or default to CRM Admin?
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Growthub Agent Worker Kit — Twenty CRM v1
|
|
2
|
+
|
|
3
|
+
**Kit ID:** `growthub-twenty-crm-v1`
|
|
4
|
+
**Version:** `1.0.0`
|
|
5
|
+
**Type:** `worker`
|
|
6
|
+
**Execution mode:** `export`
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## What this kit does
|
|
11
|
+
|
|
12
|
+
This kit gives an agent a self-contained environment for implementing, configuring, and operating Twenty CRM — the open-source Salesforce/Apollo alternative — as a growth stack foundation.
|
|
13
|
+
|
|
14
|
+
It packages:
|
|
15
|
+
- agent operating instructions
|
|
16
|
+
- a locked CRM methodology
|
|
17
|
+
- runtime and deployment assumptions
|
|
18
|
+
- API, webhook, and data model reference docs
|
|
19
|
+
- CRM implementation templates (12 templates)
|
|
20
|
+
- example output artifacts (4 complete samples)
|
|
21
|
+
- brand kit system
|
|
22
|
+
- output standards
|
|
23
|
+
- setup scripts for local-fork and cloud modes
|
|
24
|
+
- contributor metadata
|
|
25
|
+
|
|
26
|
+
The intended operator is a growth engineer, CRM consultant, or AI agent responsible for implementing Twenty CRM for a B2B team and building enrichment pipelines, pipeline automations, and integration handoffs on top of it.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Folder structure
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
growthub-twenty-crm-v1/
|
|
34
|
+
├── kit.json
|
|
35
|
+
├── bundles/
|
|
36
|
+
├── workers/
|
|
37
|
+
│ └── twenty-crm-operator/
|
|
38
|
+
│ └── CLAUDE.md
|
|
39
|
+
├── brands/
|
|
40
|
+
│ ├── _template/brand-kit.md
|
|
41
|
+
│ ├── growthub/brand-kit.md
|
|
42
|
+
│ └── NEW-CLIENT.md
|
|
43
|
+
├── setup/
|
|
44
|
+
│ ├── clone-fork.sh
|
|
45
|
+
│ ├── verify-env.mjs
|
|
46
|
+
│ └── check-deps.sh
|
|
47
|
+
├── templates/
|
|
48
|
+
│ ├── crm-setup-brief.md
|
|
49
|
+
│ ├── data-model-design.md
|
|
50
|
+
│ ├── lead-enrichment-pipeline.md
|
|
51
|
+
│ ├── pipeline-automation-brief.md
|
|
52
|
+
│ ├── webhook-integration-spec.md
|
|
53
|
+
│ ├── api-query-plan.md
|
|
54
|
+
│ ├── crm-playbook.md
|
|
55
|
+
│ ├── custom-object-design.md
|
|
56
|
+
│ ├── import-mapping.md
|
|
57
|
+
│ ├── workspace-config-checklist.md
|
|
58
|
+
│ ├── integration-handoff.md
|
|
59
|
+
│ └── enrichment-field-map.md
|
|
60
|
+
├── examples/
|
|
61
|
+
│ ├── crm-setup-sample.md
|
|
62
|
+
│ ├── lead-enrichment-sample.md
|
|
63
|
+
│ ├── pipeline-automation-sample.md
|
|
64
|
+
│ └── crm-playbook-sample.md
|
|
65
|
+
├── docs/
|
|
66
|
+
│ ├── twenty-fork-integration.md
|
|
67
|
+
│ ├── api-and-webhooks.md
|
|
68
|
+
│ └── data-model-layer.md
|
|
69
|
+
├── output/
|
|
70
|
+
│ └── README.md
|
|
71
|
+
├── growthub-meta/
|
|
72
|
+
│ ├── README.md
|
|
73
|
+
│ └── kit-standard.md
|
|
74
|
+
├── skills.md
|
|
75
|
+
├── output-standards.md
|
|
76
|
+
├── runtime-assumptions.md
|
|
77
|
+
├── validation-checklist.md
|
|
78
|
+
├── QUICKSTART.md
|
|
79
|
+
└── .env.example
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Activation
|
|
85
|
+
|
|
86
|
+
1. Export the kit via `growthub kit download growthub-twenty-crm-v1`.
|
|
87
|
+
2. Point the agent working directory at the expanded folder.
|
|
88
|
+
3. The agent reads `workers/twenty-crm-operator/CLAUDE.md`.
|
|
89
|
+
4. `skills.md` provides the working method for every session.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Supported output categories
|
|
94
|
+
|
|
95
|
+
- CRM setup brief
|
|
96
|
+
- data model design
|
|
97
|
+
- lead enrichment pipeline
|
|
98
|
+
- pipeline automation brief
|
|
99
|
+
- webhook integration spec
|
|
100
|
+
- API query plan
|
|
101
|
+
- custom object design
|
|
102
|
+
- import mapping
|
|
103
|
+
- workspace config checklist
|
|
104
|
+
- integration handoff
|
|
105
|
+
- enrichment field map
|
|
106
|
+
- CRM playbook
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Source repository
|
|
111
|
+
|
|
112
|
+
Twenty CRM: [github.com/twentyhq/twenty](https://github.com/twentyhq/twenty)
|
|
113
|
+
License: MIT
|
|
114
|
+
Stack: TypeScript / React / NestJS / PostgreSQL / Redis
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# Kit Standard — Twenty CRM v1
|
|
2
|
+
|
|
3
|
+
This document defines the locked contract for this kit.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Required files contract
|
|
8
|
+
|
|
9
|
+
Every path in `kit.json -> frozenAssetPaths` must exist in every valid release.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Bundle contract
|
|
14
|
+
|
|
15
|
+
The bundle manifest must remain aligned with `kit.json`:
|
|
16
|
+
- `bundle.kitId` matches `kit.id`
|
|
17
|
+
- `bundle.workerId` matches `entrypoint.workerId`
|
|
18
|
+
- `requiredFrozenAssets` stays a subset of `frozenAssetPaths`
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Agent operating rules
|
|
23
|
+
|
|
24
|
+
The entrypoint file is the operating law. `skills.md` is the methodology.
|
|
25
|
+
|
|
26
|
+
Required invariants:
|
|
27
|
+
- strict workflow order (Steps 0–10)
|
|
28
|
+
- environment gate passes before any planning work
|
|
29
|
+
- data model is defined before automation or enrichment pipelines
|
|
30
|
+
- deployment mode is always labeled in every output
|
|
31
|
+
- deduplication key is named in every enrichment or import artifact
|
|
32
|
+
- every automation trigger-action pair has a documented failure path
|
|
33
|
+
- no secrets are stored in any kit file or output artifact
|
|
34
|
+
- outputs are operational artifacts, not ideation-only text
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## Runtime rules
|
|
39
|
+
|
|
40
|
+
- no secrets stored in kit files
|
|
41
|
+
- agent-only mode is always a valid fallback — no live CRM required for planning work
|
|
42
|
+
- cloud, self-hosted, and local-fork modes are all first-class
|
|
43
|
+
- outputs are Markdown only
|
|
44
|
+
- field names use Twenty's naming conventions (camelCase for fields, PascalCase for objects)
|
|
45
|
+
- SELECT option values use SCREAMING_SNAKE_CASE
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Versioning rules
|
|
50
|
+
|
|
51
|
+
Additive template/docs changes are minor-version work. Entrypoint path changes, export name changes, or fundamental workflow changes require a major version bump.
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Scope rules
|
|
56
|
+
|
|
57
|
+
This kit is scoped to Twenty CRM implementation planning and operator documentation. It does not:
|
|
58
|
+
- provide a live CRM dashboard
|
|
59
|
+
- write application code (it produces specs and handoffs for developers)
|
|
60
|
+
- manage infrastructure directly
|
|
61
|
+
- store client data in kit files
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"kit": {
|
|
4
|
+
"id": "growthub-twenty-crm-v1",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"name": "Growthub Agent Worker Kit — Twenty CRM",
|
|
7
|
+
"description": "Self-contained local execution environment for Twenty CRM — the open-source Salesforce/Apollo alternative. Produces CRM setup plans, data model designs, lead enrichment pipelines, pipeline automation briefs, webhook integration specs, API query plans, and client-ready CRM playbooks for teams adopting Twenty as their growth stack foundation.",
|
|
8
|
+
"type": "worker",
|
|
9
|
+
"visibility": "public-open-source",
|
|
10
|
+
"sourceRepo": "growthub-local",
|
|
11
|
+
"family": "studio"
|
|
12
|
+
},
|
|
13
|
+
"entrypoint": {
|
|
14
|
+
"workerId": "twenty-crm-operator",
|
|
15
|
+
"path": "workers/twenty-crm-operator/CLAUDE.md"
|
|
16
|
+
},
|
|
17
|
+
"workerIds": [
|
|
18
|
+
"twenty-crm-operator"
|
|
19
|
+
],
|
|
20
|
+
"agentContractPath": "workers/twenty-crm-operator/CLAUDE.md",
|
|
21
|
+
"brandTemplatePath": "brands/_template/brand-kit.md",
|
|
22
|
+
"publicExampleBrandPaths": [
|
|
23
|
+
"brands/growthub/brand-kit.md"
|
|
24
|
+
],
|
|
25
|
+
"frozenAssetPaths": [
|
|
26
|
+
"QUICKSTART.md",
|
|
27
|
+
".env.example",
|
|
28
|
+
"skills.md",
|
|
29
|
+
"output-standards.md",
|
|
30
|
+
"runtime-assumptions.md",
|
|
31
|
+
"validation-checklist.md",
|
|
32
|
+
"workers/twenty-crm-operator/CLAUDE.md",
|
|
33
|
+
"brands/_template/brand-kit.md",
|
|
34
|
+
"brands/growthub/brand-kit.md",
|
|
35
|
+
"brands/NEW-CLIENT.md",
|
|
36
|
+
"setup/clone-fork.sh",
|
|
37
|
+
"setup/verify-env.mjs",
|
|
38
|
+
"setup/check-deps.sh",
|
|
39
|
+
"output/README.md",
|
|
40
|
+
"templates/crm-setup-brief.md",
|
|
41
|
+
"templates/data-model-design.md",
|
|
42
|
+
"templates/lead-enrichment-pipeline.md",
|
|
43
|
+
"templates/pipeline-automation-brief.md",
|
|
44
|
+
"templates/webhook-integration-spec.md",
|
|
45
|
+
"templates/api-query-plan.md",
|
|
46
|
+
"templates/crm-playbook.md",
|
|
47
|
+
"templates/custom-object-design.md",
|
|
48
|
+
"templates/import-mapping.md",
|
|
49
|
+
"templates/workspace-config-checklist.md",
|
|
50
|
+
"templates/integration-handoff.md",
|
|
51
|
+
"templates/enrichment-field-map.md",
|
|
52
|
+
"examples/crm-setup-sample.md",
|
|
53
|
+
"examples/lead-enrichment-sample.md",
|
|
54
|
+
"examples/pipeline-automation-sample.md",
|
|
55
|
+
"examples/crm-playbook-sample.md",
|
|
56
|
+
"docs/twenty-fork-integration.md",
|
|
57
|
+
"docs/api-and-webhooks.md",
|
|
58
|
+
"docs/data-model-layer.md",
|
|
59
|
+
"growthub-meta/README.md",
|
|
60
|
+
"growthub-meta/kit-standard.md"
|
|
61
|
+
],
|
|
62
|
+
"setupPaths": {
|
|
63
|
+
"quickstart": "QUICKSTART.md",
|
|
64
|
+
"envExample": ".env.example",
|
|
65
|
+
"setupDir": "setup/",
|
|
66
|
+
"outputDir": "output/"
|
|
67
|
+
},
|
|
68
|
+
"outputStandard": {
|
|
69
|
+
"type": "working-directory",
|
|
70
|
+
"description": "Exported folder is intended to be pointed at directly by the agent Working Directory. All outputs are Markdown files written to output/<client-slug>/<project-slug>/.",
|
|
71
|
+
"requiredPaths": [
|
|
72
|
+
"QUICKSTART.md",
|
|
73
|
+
".env.example",
|
|
74
|
+
"kit.json",
|
|
75
|
+
"bundles/growthub-twenty-crm-v1.json",
|
|
76
|
+
"skills.md",
|
|
77
|
+
"workers/twenty-crm-operator/CLAUDE.md",
|
|
78
|
+
"brands/_template/brand-kit.md",
|
|
79
|
+
"brands/growthub/brand-kit.md",
|
|
80
|
+
"brands/NEW-CLIENT.md",
|
|
81
|
+
"setup/clone-fork.sh",
|
|
82
|
+
"setup/verify-env.mjs",
|
|
83
|
+
"setup/check-deps.sh",
|
|
84
|
+
"output/README.md",
|
|
85
|
+
"templates",
|
|
86
|
+
"docs",
|
|
87
|
+
"growthub-meta"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"bundles": [
|
|
91
|
+
{
|
|
92
|
+
"id": "growthub-twenty-crm-v1",
|
|
93
|
+
"version": "1.0.0",
|
|
94
|
+
"path": "bundles/growthub-twenty-crm-v1.json"
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"executionMode": "export",
|
|
98
|
+
"activationModes": [
|
|
99
|
+
"export"
|
|
100
|
+
],
|
|
101
|
+
"compatibility": {
|
|
102
|
+
"cliMinVersion": "0.3.50"
|
|
103
|
+
},
|
|
104
|
+
"provenance": {
|
|
105
|
+
"sourceRepo": "growthub-local",
|
|
106
|
+
"frozenAt": "2026-04-15T00:00:00.000Z"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Output Directory — Twenty CRM v1
|
|
2
|
+
|
|
3
|
+
This directory is where the agent writes all client deliverables.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Structure
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
output/
|
|
11
|
+
└── <client-slug>/
|
|
12
|
+
└── <project-slug>/
|
|
13
|
+
├── <ClientSlug>_CRMSetupBrief_v<N>_<YYYYMMDD>.md
|
|
14
|
+
├── <ClientSlug>_DataModelDesign_v<N>_<YYYYMMDD>.md
|
|
15
|
+
├── <ClientSlug>_LeadEnrichmentPipeline_v<N>_<YYYYMMDD>.md
|
|
16
|
+
├── <ClientSlug>_PipelineAutomationBrief_v<N>_<YYYYMMDD>.md
|
|
17
|
+
├── <ClientSlug>_WebhookIntegrationSpec_v<N>_<YYYYMMDD>.md
|
|
18
|
+
├── <ClientSlug>_APIQueryPlan_v<N>_<YYYYMMDD>.md
|
|
19
|
+
├── <ClientSlug>_CustomObjectDesign_v<N>_<YYYYMMDD>.md
|
|
20
|
+
├── <ClientSlug>_ImportMapping_v<N>_<YYYYMMDD>.md
|
|
21
|
+
├── <ClientSlug>_WorkspaceConfigChecklist_v<N>_<YYYYMMDD>.md
|
|
22
|
+
├── <ClientSlug>_IntegrationHandoff_v<N>_<YYYYMMDD>.md
|
|
23
|
+
├── <ClientSlug>_EnrichmentFieldMap_v<N>_<YYYYMMDD>.md
|
|
24
|
+
└── <ClientSlug>_CRMPlaybook_v<N>_<YYYYMMDD>.md
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## File naming
|
|
30
|
+
|
|
31
|
+
Pattern: `<ClientSlug>_<OutputType>_v<N>_<YYYYMMDD>.md`
|
|
32
|
+
|
|
33
|
+
- `ClientSlug` is PascalCase (e.g. `AcmeCorp`, `Growthub`)
|
|
34
|
+
- `OutputType` matches the artifact type exactly (e.g. `CRMSetupBrief`, `DataModelDesign`)
|
|
35
|
+
- `v<N>` is the version number (start at `v1`, increment on revision)
|
|
36
|
+
- `YYYYMMDD` is the date of production
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Rules
|
|
41
|
+
|
|
42
|
+
- never overwrite an existing version file — create a new version
|
|
43
|
+
- keep one artifact per file
|
|
44
|
+
- Markdown only
|
|
45
|
+
- no placeholder text in any delivered file
|
|
46
|
+
- brand kit DELIVERABLES LOG must be updated after each delivery
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# Output Standards — Twenty CRM v1
|
|
2
|
+
|
|
3
|
+
This document defines the output contract for every artifact produced by this kit.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## OUTPUT FOLDER STRUCTURE
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
output/
|
|
11
|
+
└── <client-slug>/
|
|
12
|
+
└── <project-slug>/
|
|
13
|
+
├── <ClientSlug>_CRMSetupBrief_v<N>_<YYYYMMDD>.md
|
|
14
|
+
├── <ClientSlug>_DataModelDesign_v<N>_<YYYYMMDD>.md
|
|
15
|
+
├── <ClientSlug>_LeadEnrichmentPipeline_v<N>_<YYYYMMDD>.md
|
|
16
|
+
├── <ClientSlug>_PipelineAutomationBrief_v<N>_<YYYYMMDD>.md
|
|
17
|
+
├── <ClientSlug>_WebhookIntegrationSpec_v<N>_<YYYYMMDD>.md
|
|
18
|
+
├── <ClientSlug>_APIQueryPlan_v<N>_<YYYYMMDD>.md
|
|
19
|
+
├── <ClientSlug>_CustomObjectDesign_v<N>_<YYYYMMDD>.md
|
|
20
|
+
├── <ClientSlug>_ImportMapping_v<N>_<YYYYMMDD>.md
|
|
21
|
+
├── <ClientSlug>_WorkspaceConfigChecklist_v<N>_<YYYYMMDD>.md
|
|
22
|
+
├── <ClientSlug>_IntegrationHandoff_v<N>_<YYYYMMDD>.md
|
|
23
|
+
├── <ClientSlug>_EnrichmentFieldMap_v<N>_<YYYYMMDD>.md
|
|
24
|
+
└── <ClientSlug>_CRMPlaybook_v<N>_<YYYYMMDD>.md
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## REQUIRED OUTPUT TYPES
|
|
30
|
+
|
|
31
|
+
Every full CRM implementation package must include:
|
|
32
|
+
- CRM setup brief
|
|
33
|
+
- data model design
|
|
34
|
+
- lead enrichment pipeline
|
|
35
|
+
- pipeline automation brief
|
|
36
|
+
- webhook integration spec
|
|
37
|
+
- API query plan
|
|
38
|
+
- workspace config checklist
|
|
39
|
+
- integration handoff
|
|
40
|
+
- CRM playbook
|
|
41
|
+
|
|
42
|
+
Custom object design and import mapping are included when the scope requires them.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## REQUIRED SECTIONS
|
|
47
|
+
|
|
48
|
+
### CRM setup brief
|
|
49
|
+
1. Client context and CRM objective
|
|
50
|
+
2. Deployment mode (cloud / self-hosted / local-fork)
|
|
51
|
+
3. Team size and user roles
|
|
52
|
+
4. Data sources and volume estimates
|
|
53
|
+
5. Integration scope
|
|
54
|
+
6. Go-live timeline and milestones
|
|
55
|
+
7. Success criteria
|
|
56
|
+
|
|
57
|
+
### Data model design
|
|
58
|
+
1. Standard objects in use and configuration notes
|
|
59
|
+
2. Custom objects (if any) with full field definitions
|
|
60
|
+
3. Relationship map (which objects link to which)
|
|
61
|
+
4. Field type table per object
|
|
62
|
+
5. Display configuration (labels, icons, default views)
|
|
63
|
+
6. Open questions / decisions required
|
|
64
|
+
|
|
65
|
+
### Lead enrichment pipeline
|
|
66
|
+
1. Enrichment provider(s) and auth mechanism
|
|
67
|
+
2. Source fields provided
|
|
68
|
+
3. Target Twenty fields
|
|
69
|
+
4. Deduplication strategy and match key
|
|
70
|
+
5. Insert vs. merge behavior
|
|
71
|
+
6. Update frequency
|
|
72
|
+
7. Error and failure handling
|
|
73
|
+
|
|
74
|
+
### Pipeline automation brief
|
|
75
|
+
1. Pipeline name and purpose
|
|
76
|
+
2. Trigger type and object
|
|
77
|
+
3. Trigger conditions (field, value, timing)
|
|
78
|
+
4. Action sequence
|
|
79
|
+
5. Failure / timeout behavior
|
|
80
|
+
6. Monitoring and alerting plan
|
|
81
|
+
|
|
82
|
+
### Webhook integration spec
|
|
83
|
+
1. Inbound vs. outbound classification
|
|
84
|
+
2. Event name and trigger object
|
|
85
|
+
3. Payload schema
|
|
86
|
+
4. Target endpoint or source
|
|
87
|
+
5. Auth mechanism
|
|
88
|
+
6. Retry policy
|
|
89
|
+
7. Test procedure
|
|
90
|
+
|
|
91
|
+
### API query plan
|
|
92
|
+
1. Query type (GraphQL / REST)
|
|
93
|
+
2. Object(s) targeted
|
|
94
|
+
3. Filter conditions
|
|
95
|
+
4. Field selection
|
|
96
|
+
5. Expected response structure
|
|
97
|
+
6. Use case and consumer
|
|
98
|
+
|
|
99
|
+
### Custom object design
|
|
100
|
+
1. Object name and purpose
|
|
101
|
+
2. Field table (name, type, required, options)
|
|
102
|
+
3. Relationship definitions
|
|
103
|
+
4. Creation method (UI vs. metadata API)
|
|
104
|
+
5. Default view configuration
|
|
105
|
+
6. Validation rules
|
|
106
|
+
|
|
107
|
+
### Import mapping
|
|
108
|
+
1. Source CRM / export format
|
|
109
|
+
2. Column-by-column mapping table
|
|
110
|
+
3. Transformation rules
|
|
111
|
+
4. Deduplication key
|
|
112
|
+
5. Import mode (insert / merge)
|
|
113
|
+
6. Post-import validation steps
|
|
114
|
+
|
|
115
|
+
### Workspace config checklist
|
|
116
|
+
1. Settings to configure (auth, members, roles, branding)
|
|
117
|
+
2. Integrations to enable
|
|
118
|
+
3. Objects to activate or create
|
|
119
|
+
4. Views and filters to configure
|
|
120
|
+
5. Email and notification settings
|
|
121
|
+
6. API token generation and distribution
|
|
122
|
+
|
|
123
|
+
### Integration handoff
|
|
124
|
+
1. System integration diagram
|
|
125
|
+
2. Auth credentials required (types only — no values)
|
|
126
|
+
3. Endpoint contracts
|
|
127
|
+
4. Sequence diagram for data flow
|
|
128
|
+
5. Environment checklist (dev / staging / prod)
|
|
129
|
+
6. Rollback plan
|
|
130
|
+
|
|
131
|
+
### Enrichment field map
|
|
132
|
+
1. Provider name
|
|
133
|
+
2. Provider field → Twenty field table with types and transformations
|
|
134
|
+
3. Deduplication key
|
|
135
|
+
4. Update frequency
|
|
136
|
+
5. Notes and edge cases
|
|
137
|
+
|
|
138
|
+
### CRM playbook
|
|
139
|
+
1. Team roles and permissions
|
|
140
|
+
2. Daily workflow (record creation, updates, activities)
|
|
141
|
+
3. Pipeline management procedures
|
|
142
|
+
4. Enrichment cadence
|
|
143
|
+
5. Reporting and dashboard instructions
|
|
144
|
+
6. Escalation and handoff protocols
|
|
145
|
+
7. Maintenance and data hygiene checklist
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## FILE NAMING RULES
|
|
150
|
+
|
|
151
|
+
Pattern:
|
|
152
|
+
|
|
153
|
+
```text
|
|
154
|
+
<ClientSlug>_<OutputType>_v<N>_<YYYYMMDD>.md
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
Rules:
|
|
158
|
+
- `ClientSlug` is PascalCase
|
|
159
|
+
- never overwrite an existing version
|
|
160
|
+
- keep one artifact per file
|
|
161
|
+
- Markdown only
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## QUALITY BAR
|
|
166
|
+
|
|
167
|
+
An output is complete when:
|
|
168
|
+
- no placeholder text remains
|
|
169
|
+
- all object and field names match Twenty's naming conventions
|
|
170
|
+
- deduplication keys are named in every enrichment or import artifact
|
|
171
|
+
- every automation trigger-action pair has a documented failure path
|
|
172
|
+
- webhook specs include full payload schemas
|
|
173
|
+
- GraphQL queries are syntactically correct
|
|
174
|
+
- the CRM playbook is written at a level a non-technical team member can execute
|
|
175
|
+
- integration handoff provides enough detail for a developer to implement without asking follow-up questions
|