@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,125 @@
1
+ # Analytics Brief — Sample
2
+
3
+ <!-- Sample: Urban Cycle | Q2 2026 Urban Mobility Month | May 2026 | v1 | 2026-06-01 -->
4
+ <!-- This is a filled example demonstrating the expected format. All metrics are fictitious but realistic. -->
5
+
6
+ ---
7
+
8
+ ## Period Summary
9
+
10
+ | Field | Value |
11
+ |---|---|
12
+ | Client | Urban Cycle |
13
+ | Campaign | Q2 2026 — Urban Mobility Month |
14
+ | Period | 2026-05-01 to 2026-05-31 |
15
+ | Platforms Analyzed | instagram, linkedin, twitter |
16
+ | Total Posts Published | 52 |
17
+ | Data Source | Client-provided platform export (Instagram Insights, LinkedIn Analytics, X Analytics) |
18
+
19
+ ---
20
+
21
+ ## Per-Platform Performance
22
+
23
+ | Platform | Impressions | Reach | Engagement Rate | Follower Growth | Link Clicks | Posts Published |
24
+ |---|---|---|---|---|---|---|
25
+ | instagram | 28,450 | 14,200 | 4.1% | +612 | 487 (bio link) | 22 |
26
+ | linkedin | 9,800 | 6,300 | 2.8% | +94 | 312 (post links) | 12 |
27
+ | twitter | 11,200 | 8,700 | 1.9% | +128 | 156 | 18 |
28
+ | **Totals** | **49,450** | **29,200** | **avg 2.9%** | **+834** | **955** | **52** |
29
+
30
+ *Engagement Rate = (likes + comments + shares + saves) / impressions × 100*
31
+
32
+ ---
33
+
34
+ ## Top 3 Performing Posts
35
+
36
+ ### #1 Best Performing
37
+
38
+ | Attribute | Value |
39
+ |---|---|
40
+ | Post Date | 2026-05-07 |
41
+ | Platform | instagram |
42
+ | Theme Pillar | Community Spotlight |
43
+ | Post Type | Reel |
44
+ | Impressions | 4,230 |
45
+ | Engagement Rate | 8.7% |
46
+ | Caption Preview | "Maria cycles 14km each way to her nursing shift. Every. Single. Day. Here's her route." |
47
+ | Why It Worked | Community Spotlight Reels consistently outperform static images by 2–3x for this account. Maria's human story resonated — 127 saves, 43 comments. Reel format received Explore page placement. |
48
+
49
+ ---
50
+
51
+ ### #2 Best Performing
52
+
53
+ | Attribute | Value |
54
+ |---|---|
55
+ | Post Date | 2026-05-05 |
56
+ | Platform | linkedin |
57
+ | Theme Pillar | Advocacy & Infrastructure |
58
+ | Post Type | Text + image (infographic) |
59
+ | Impressions | 2,800 |
60
+ | Engagement Rate | 5.2% |
61
+ | Caption Preview | "72% of urban commuters cite safety as the #1 barrier to cycling. Yet cities that invest in prot..." |
62
+ | Why It Worked | Bike to Work Day (May 5) created organic interest in cycling safety data. The infographic format drove 47 saves. 12 comments from city planners and transportation professionals — organic reach into LinkedIn's professional niche. |
63
+
64
+ ---
65
+
66
+ ### #3 Best Performing
67
+
68
+ | Attribute | Value |
69
+ |---|---|
70
+ | Post Date | 2026-05-14 |
71
+ | Platform | instagram |
72
+ | Theme Pillar | Gear & Technique |
73
+ | Post Type | Carousel |
74
+ | Impressions | 3,140 |
75
+ | Engagement Rate | 6.1% |
76
+ | Caption Preview | "5 locks that actually work (and 2 that don't). Swipe for the breakdown →" |
77
+ | Why It Worked | Carousel format drove 89 saves — highest save count of the month. "Save this" CTA explicitly requests save behavior. Educational format with opinionated recommendations outperforms generic product posts. |
78
+
79
+ ---
80
+
81
+ ## Bottom 3 Performing Posts
82
+
83
+ | Post Date | Platform | Theme | Engagement Rate | Failure Hypothesis |
84
+ |---|---|---|---|---|
85
+ | 2026-05-20 | twitter | Brand & Behind the Scenes | 0.6% | Brand origin story content underperforms on X — audience wants real-time commentary and opinions, not retrospective narrative. Recommend moving brand storytelling to Instagram only. |
86
+ | 2026-05-13 | instagram | Route Stories | 1.2% | Posted on Victoria Day holiday weekend (May 13) — audience not active. Should have used this slot for a lighter community post or pushed the Route Story to the following Tuesday. |
87
+ | 2026-05-18 | linkedin | Gear & Technique | 0.8% | Gear recommendations are not relevant to LinkedIn's Urban Cycle audience (B2B decision-makers, urban planners). Gear content should stay on Instagram and X. Platform-content mismatch. |
88
+
89
+ ---
90
+
91
+ ## KPI vs. Target Comparison
92
+
93
+ | KPI | Target | Actual | Status |
94
+ |---|---|---|---|
95
+ | Impressions | 25,000 / month | 49,450 | Exceeded (+98%) |
96
+ | Avg Engagement Rate | ≥3.5% Instagram | 4.1% Instagram | Met |
97
+ | Follower Growth | +500 Instagram | +612 Instagram | Exceeded (+22%) |
98
+ | Link Clicks | 300 (bio + LinkedIn) | 955 | Exceeded (+218%) |
99
+ | UGC Posts #UrbanCycleMonth | ≥3 | 7 | Exceeded (+133%) |
100
+
101
+ ---
102
+
103
+ ## Recommendations for Next Period (June)
104
+
105
+ 1. **Increase Reel frequency on Instagram from 1x/week to 3x/week:** Reels account for 38% of total impressions on only 14% of posts. Shifting 2 static image slots to Reels should push Instagram impressions 40–60% higher with the same posting volume.
106
+
107
+ 2. **Shift X/Twitter posting time from 8am to 7:30am ET on weekdays:** Top-performing X posts came at 7:30am on days when the captions were tied to commute timing. Early morning commuter context drove 2.3× more replies than midday posts.
108
+
109
+ 3. **Remove Gear content from LinkedIn:** The two lowest-performing LinkedIn posts were gear recommendations. Replace with Advocacy & Infrastructure content (strongest LinkedIn performer) and bring LinkedIn gear coverage to 0% in June.
110
+
111
+ 4. **Launch a UGC challenge for June:** With 7 UGC posts in May (vs. 3 target), there's clear community enthusiasm. A branded June challenge (#RideWithUrbanCycle) with a weekly rider spotlight will compound community content without increasing production cost.
112
+
113
+ 5. **Test Variant C (question hook) on Instagram Thursday posts:** May analysis shows engagement rate 1.8× higher on posts that opened with a direct question. Currently only 30% of Instagram captions use Variant C. Shift Thursday posts to question-hook format for 4-week A/B test.
114
+
115
+ ---
116
+
117
+ ## Benchmark Comparison
118
+
119
+ | Metric | Urban Cycle Result | Industry Benchmark | Source |
120
+ |---|---|---|---|
121
+ | Instagram engagement rate | 4.1% | 0.83%–1.22% (general); 3.0% for lifestyle/outdoor | Rival IQ 2026 Social Media Benchmark Report |
122
+ | LinkedIn engagement rate | 2.8% | 0.35%–0.50% (company pages) | LinkedIn internal benchmark 2025 |
123
+ | X/Twitter engagement rate | 1.9% | 0.05%–0.09% (general) | Rival IQ 2026 |
124
+
125
+ *Urban Cycle is performing significantly above industry benchmarks across all three platforms. Above-average performance is driven by high-quality visual content, strong community focus, and consistent posting cadence.*
@@ -0,0 +1,127 @@
1
+ # Social Media Campaign Proposal — Sample
2
+
3
+ <!-- Sample: Urban Cycle | Q3 2026 Growth Campaign | v1 | 2026-06-01 -->
4
+ <!-- This is a filled example demonstrating the expected format. Data is fictitious but realistic. -->
5
+
6
+ ---
7
+
8
+ ## Executive Summary
9
+
10
+ Urban Cycle's May 2026 campaign exceeded all KPIs — 4.1% Instagram engagement rate (vs. 1.2% industry average), 49,450 total impressions (vs. 25,000 target), and 955 link clicks. The Q3 2026 proposal expands to 4 platforms (adding TikTok), increases Reel production to 3x/week, and introduces a monthly rider spotlight series that drove Urban Cycle's highest-performing post in May (8.7% engagement rate). Projected outcome: 120,000 monthly impressions and +1,500 followers by end of Q3.
11
+
12
+ ---
13
+
14
+ ## Campaign Overview
15
+
16
+ | Field | Value |
17
+ |---|---|
18
+ | Proposed Campaign Name | Q3 2026 — Ride Every City |
19
+ | Campaign Objective | Community growth + brand awareness + product launch (new route planner app) |
20
+ | Recommended Platforms | instagram, tiktok, linkedin, twitter |
21
+ | Campaign Duration | 90 days (July 1 – September 30, 2026) |
22
+ | Total Posts | 270 posts across 4 platforms |
23
+ | Start Date | 2026-07-01 (proposed) |
24
+
25
+ ---
26
+
27
+ ## Why These Platforms
28
+
29
+ | Platform | Audience Fit | Primary Role in Campaign |
30
+ |---|---|---|
31
+ | instagram | 68% of Urban Cycle's target audience (urban cyclists, 25–40) is active on Instagram. Q2 data confirms 4.1% engagement — highest of any platform tested. | Brand awareness hub — Reels, carousels, community spotlights |
32
+ | tiktok | Urban Cycle's 18–28 secondary audience segment is 3× more active on TikTok than Instagram. Short-form cycling route videos align with TikTok's discovery algorithm. New platform for Urban Cycle — expect 60-day ramp before organic growth signals emerge. | Audience growth, route content, app launch reach |
33
+ | linkedin | B2B pipeline for corporate wellness programs and urban planning partnerships. May LinkedIn posts drove 312 link clicks to the route planner landing page — highest per-platform click rate. | Thought leadership, infrastructure advocacy, B2B pipeline |
34
+ | twitter | Real-time community engagement during commute hours. Urban Cycle's X presence drove 7 UGC posts in May tied to live commute commentary. | Community engagement, newsjacking, advocacy moments |
35
+
36
+ ---
37
+
38
+ ## Content Strategy
39
+
40
+ ### Theme Pillars
41
+
42
+ | Pillar | Description | % of Calendar | Key Formats |
43
+ |---|---|---|---|
44
+ | Route Stories | Real routes, real riders — city-specific commute coverage | 30% | Reels (Instagram + TikTok), route maps on X |
45
+ | App Launch | Route Planner app features, onboarding, user stories | 25% | Carousels (Instagram + LinkedIn), demo videos (TikTok) |
46
+ | Advocacy & Infrastructure | Cycling infrastructure wins and gaps — data-backed | 20% | LinkedIn long-form, Instagram infographics |
47
+ | Rider Spotlight | Weekly spotlight — one real rider per week across all platforms | 15% | Reel (Instagram), short video (TikTok), text post (LinkedIn) |
48
+ | Community & UGC | #RideWithUrbanCycle challenge, poll, community repair night coverage | 10% | Instagram Story, X text, LinkedIn community post |
49
+
50
+ ### Caption Strategy
51
+
52
+ All captions will use A/B/C variant framework. Selection criteria:
53
+ - Route Stories and App Launch → Variant A (direct, factual, product-specific)
54
+ - Rider Spotlight → Variant B (narrative-first)
55
+ - Community and Advocacy → Variant C (question hook for comments)
56
+
57
+ ---
58
+
59
+ ## Deliverables
60
+
61
+ | Deliverable | Format | Cadence |
62
+ |---|---|---|
63
+ | Social Campaign Brief | Markdown | Once (at campaign start) |
64
+ | Content Calendar | Markdown | Monthly refresh (3 deliveries) |
65
+ | Platform Publishing Plan | Markdown | Once (at campaign start) |
66
+ | Caption Copy Deck | Markdown | Monthly (A/B/C per post) |
67
+ | Scheduling Manifest | JSON | Monthly (submitted on approval) |
68
+ | Analytics Brief | Markdown | Monthly (3 deliveries) |
69
+ | Q3 Campaign Wrap Report | Markdown | Once (at campaign end) |
70
+
71
+ ---
72
+
73
+ ## Engagement Tiers
74
+
75
+ ### Tier 1 — Campaign Starter
76
+
77
+ **Scope:** 2 platforms (Instagram + LinkedIn), 3 posts/week each, 30-day calendar per month
78
+
79
+ **Includes:** Campaign Brief, 30-day Content Calendar, Caption Copy Deck (A/B variants), Monthly Analytics Brief
80
+
81
+ **Pricing:** $2,500/month
82
+
83
+ **Best for:** Urban Cycle maintaining current Instagram + LinkedIn presence without TikTok expansion.
84
+
85
+ ---
86
+
87
+ ### Tier 2 — Multi-Platform Growth *(Recommended)*
88
+
89
+ **Scope:** 4 platforms (Instagram + TikTok + LinkedIn + X), 5 posts/week Instagram and TikTok, 3x/week LinkedIn, daily X
90
+
91
+ **Includes:** Full Campaign Brief, 90-day Content Calendar, Platform Publishing Plan, Caption Copy Deck (A/B/C), Scheduling Manifest (Postiz API), 3× Monthly Analytics Briefs
92
+
93
+ **Pricing:** $6,500/month
94
+
95
+ **Best for:** Urban Cycle's Q3 app launch requiring full platform saturation and Reel-first content strategy.
96
+
97
+ ---
98
+
99
+ ### Tier 3 — Full Social Media Operator
100
+
101
+ **Scope:** 5 platforms including Pinterest (Q4 add), Reels 5x/week, weekly UGC challenge management, Postiz multi-workspace scheduling
102
+
103
+ **Includes:** All Tier 2 deliverables + weekly analytics check-in, quarterly strategy review, Pinterest campaign, Postiz Scheduling API management
104
+
105
+ **Pricing:** $11,000/month
106
+
107
+ **Best for:** Urban Cycle treating social media as a primary growth channel with a dedicated content team producing assets.
108
+
109
+ ---
110
+
111
+ ## ROI Projection
112
+
113
+ | Scenario | Baseline Assumptions | Projected Outcome by Sep 30 | Source |
114
+ |---|---|---|---|
115
+ | Conservative (Tier 1) | 2 platforms, 3 posts/week each, avg 2.5% engagement | 60,000 impressions/month; +400 followers/month | Q2 actual data + Rival IQ 2026 benchmark |
116
+ | Mid (Tier 2 — Recommended) | 4 platforms, full cadence, Reel-first Instagram, TikTok launch | 120,000 impressions/month; +1,500 followers/month; 200 app downloads/month attributed to social | Q2 actuals + TikTok Reel discovery coefficient 3.2× |
117
+ | Aggressive (Tier 3) | 5 platforms, daily Reels, UGC challenge, Postiz automation | 200,000 impressions/month; +2,500 followers/month; 500+ app installs attributed | Comparable brand case (Moov cycling app, Q1 2026) |
118
+
119
+ ---
120
+
121
+ ## Next Steps
122
+
123
+ 1. Select engagement tier (Tier 2 recommended based on Q3 app launch goals)
124
+ 2. Approve Q3 Campaign Brief (draft to be shared within 3 business days)
125
+ 3. Complete TikTok brand kit section (currently empty in brand kit)
126
+ 4. Connect Instagram, TikTok, LinkedIn, and X in Postiz admin UI
127
+ 5. Set campaign start date — earliest available: 2026-07-01
@@ -0,0 +1,75 @@
1
+ # Content Calendar — Sample
2
+
3
+ <!-- Sample: Urban Cycle | Q2 2026 Urban Mobility Month | v1 | 2026-04-15 -->
4
+ <!-- This is a filled example demonstrating the expected format. Data is fictitious but realistic. -->
5
+
6
+ ---
7
+
8
+ ## Calendar Header
9
+
10
+ | Field | Value |
11
+ |---|---|
12
+ | Client | Urban Cycle |
13
+ | Campaign | Q2 2026 — Urban Mobility Month (Week 1 excerpt) |
14
+ | Period | 2026-05-01 to 2026-05-07 |
15
+ | Platforms | instagram, linkedin, twitter |
16
+ | Total Posts (Week 1) | 11 |
17
+ | Generated By | postiz-social-operator |
18
+
19
+ ---
20
+
21
+ ## Posting Cadence Summary
22
+
23
+ | Platform | Posts/Week | Best Times (ET) | Content Mix |
24
+ |---|---|---|---|
25
+ | instagram | 5 | Mon/Wed/Fri: 9am; Tue/Thu: 7pm | 40% Route Stories, 30% Advocacy, 20% Gear, 10% Community |
26
+ | linkedin | 3 | Tue: 8am, Thu: 8am, Sat: 10am | 50% Advocacy, 30% Community Spotlight, 20% Brand |
27
+ | twitter | daily | 8am and 12pm | 40% Advocacy, 30% Route, 20% Community, 10% Gear |
28
+
29
+ ---
30
+
31
+ ## Content Calendar (Week 1 Sample)
32
+
33
+ | Date | Day | Platform | Theme Pillar | Post Type | Caption Preview (first 100 chars) | CTA | Media Notes | Status |
34
+ |---|---|---|---|---|---|---|---|---|
35
+ | 2026-05-01 | Friday | instagram | Route Stories | image | "Friday route drop: The Lakeshore Loop — 8km of waterfront commuting bliss. No car lanes. No s..." | Link in bio | 1080×1350 portrait; sunrise on lake path; brand blue overlay in corner | draft |
36
+ | 2026-05-01 | Friday | twitter | Advocacy | text | "May is Urban Mobility Month. 68% of people who live within 5km of work still drive. What would..." | What would change your commute? Reply below | Text only | draft |
37
+ | 2026-05-03 | Sunday | instagram | Story | story | "Quick poll: Do you cycle to work? 🚲 YES / 🚗 Not yet" | Vote in story | Instagram Story format; brand template with poll sticker | draft |
38
+ | 2026-05-04 | Monday | instagram | Advocacy & Infrastructure | image | "Amsterdam added 7km of protected bike lanes last month. That's more than most North American ci..." | Link in bio | 1080×1080 square; split-screen city comparison graphic | draft |
39
+ | 2026-05-04 | Monday | twitter | Route Stories | text + image | "Your Monday commute route matters. Here's the Westside Cut — 12 minutes faster than the subway..." | Try the route — link in bio | 1200×675 landscape map image with route overlay | draft |
40
+ | 2026-05-05 | Tuesday | linkedin | Advocacy | text + image | "72% of urban commuters cite safety as the #1 barrier to cycling. Yet cities that invest in prot..." | What infrastructure change would make you ride? Comment below | 1200×627 landscape; infographic on cycling safety stats | draft |
41
+ | 2026-05-06 | Wednesday | instagram | Gear & Technique | carousel | "5 locks that actually work (and 2 that don't). Swipe for the breakdown →" | Save this | 5-slide carousel; 1080×1080; product photos + ratings | draft |
42
+ | 2026-05-06 | Wednesday | twitter | Community | text | "Community repair night recap: 23 bikes tuned, 4 new riders taught their first brake adjust, 1 p..." | Find your local repair night — link in bio | Text only | draft |
43
+ | 2026-05-07 | Thursday | linkedin | Community Spotlight | text + image | "Rider of the week: Maria C. — full-time nurse, 14km commute, 3 years running. No excuses, no c..." | Share your commute story in the comments | 1200×627; portrait photo of Maria with bike outside hospital | draft |
44
+ | 2026-05-07 | Thursday | instagram | Community Spotlight | reel | "Maria cycles 14km each way to her nursing shift. Every. Single. Day. Here's her route." | Follow for weekly rider stories | 1080×1920 Reel; 30s; talking head + B-roll of commute route | draft |
45
+ | 2026-05-07 | Thursday | twitter | Gear | text + image | "The one thing every urban cyclist needs but nobody talks about: a chain tensioner. Here's why →" | Reply with your go-to gear | 1200×675; product close-up with annotation | draft |
46
+
47
+ ---
48
+
49
+ ## Theme Distribution (Week 1)
50
+
51
+ | Pillar | Posts | % of Week |
52
+ |---|---|---|
53
+ | Route Stories | 2 | 18% |
54
+ | Advocacy & Infrastructure | 3 | 27% |
55
+ | Gear & Technique | 2 | 18% |
56
+ | Community Spotlight | 3 | 27% |
57
+ | Story / Poll | 1 | 9% |
58
+
59
+ ---
60
+
61
+ ## Platform Distribution (Week 1)
62
+
63
+ | Platform | Total Posts | % of Week |
64
+ |---|---|---|
65
+ | instagram | 6 | 55% |
66
+ | linkedin | 2 | 18% |
67
+ | twitter | 3 | 27% |
68
+
69
+ ---
70
+
71
+ ## Notes
72
+
73
+ - May 5 (Tuesday) is Bike to Work Day — plan a campaign-specific post for all platforms
74
+ - May 7 (Thursday) Maria Spotlight requires photo approval before scheduling
75
+ - Blackout period: May 12–13 (Victoria Day weekend in Canada) — reduce LinkedIn frequency
@@ -0,0 +1,104 @@
1
+ # Social Campaign Brief — Sample
2
+
3
+ <!-- Sample: Urban Cycle | Q2 2026 Brand Awareness Campaign | v1 | 2026-04-15 -->
4
+ <!-- This is a filled example demonstrating the expected detail level. Data is fictitious but realistic. -->
5
+
6
+ ---
7
+
8
+ ## Project Overview
9
+
10
+ | Field | Value |
11
+ |---|---|
12
+ | Client | Urban Cycle |
13
+ | Campaign Name | Q2 2026 — Urban Mobility Month |
14
+ | Campaign Objective | Brand awareness + community growth |
15
+ | Campaign Window | 2026-05-01 to 2026-06-30 |
16
+ | Total Duration | 60 days |
17
+ | Posting Cadence | 5x per week on Instagram; 3x per week on LinkedIn; daily on X |
18
+ | Target Platforms | instagram, linkedin, twitter |
19
+ | Execution Mode | agent-only |
20
+
21
+ ---
22
+
23
+ ## Campaign Objective
24
+
25
+ Urban Cycle aims to establish itself as the leading brand voice in urban cycling advocacy during May and June 2026 — peak cycling season in North American cities. The campaign targets awareness and community building rather than direct conversion. Success is a 15% increase in Instagram followers, 25,000 monthly impressions across platforms, and at least 3 user-generated content posts tagged with #UrbanCycleMonth by campaign end.
26
+
27
+ ---
28
+
29
+ ## Target Platforms
30
+
31
+ | Platform | Audience Fit | Content Format | Primary Goal |
32
+ |---|---|---|---|
33
+ | instagram | 68% of Urban Cycle's target demo (25–40, urban) are active Instagram users; visual platform aligns with cycling lifestyle | Static image, Reel, Story | Brand awareness, follower growth |
34
+ | linkedin | B2B reach for cycling infrastructure decision-makers, urban planners, and corporate wellness buyers | Text + image, Document carousel | Thought leadership, B2B pipeline |
35
+ | twitter | Real-time conversation during cycling events and advocacy moments; 42% of Urban Cycle's audience follows cycling news on X | Text, image | Community, newsjacking, advocacy |
36
+
37
+ ---
38
+
39
+ ## Audience Profile
40
+
41
+ ### Primary Audience
42
+
43
+ | Attribute | Description |
44
+ |---|---|
45
+ | Age Range | 25–40 |
46
+ | Interests | Urban cycling, sustainability, active commuting, city planning |
47
+ | Platforms Most Active | Instagram, X |
48
+ | Pain Points | Lack of safe cycling infrastructure, inaccessible bike-share programs, no unified community platform |
49
+ | Content Preferences | Inspiring imagery, practical route tips, advocacy wins, behind-the-scenes city cycling stories |
50
+
51
+ ### Secondary Audience
52
+
53
+ | Attribute | Description |
54
+ |---|---|
55
+ | Age Range | 18–25 |
56
+ | Interests | Environmental activism, side hustles, fixie culture |
57
+ | Platforms Most Active | Instagram, TikTok |
58
+
59
+ ---
60
+
61
+ ## KPI Targets
62
+
63
+ | Metric | Target | Measurement Method |
64
+ |---|---|---|
65
+ | Impressions | 25,000 / month | Platform native analytics |
66
+ | Engagement Rate | ≥3.5% on Instagram | (likes + comments + shares + saves) / impressions × 100 |
67
+ | Follower Growth | +500 net new Instagram followers | Platform native |
68
+ | Link Clicks | 300 clicks to urbancycle.com (bio link + LinkedIn posts) | UTM tracking |
69
+ | UGC Posts | ≥3 posts tagged #UrbanCycleMonth | Manual search |
70
+
71
+ ---
72
+
73
+ ## Content Theme Pillars
74
+
75
+ | Pillar | Theme | Content Mix | Example Topics |
76
+ |---|---|---|---|
77
+ | 1 | Route Stories | 35% | "Best commute routes in [city]", "Hidden cycling paths", "Weekend ride reports" |
78
+ | 2 | Advocacy & Infrastructure | 25% | "Cities doing cycling right", "New bike lane wins", "Open letter to city planners" |
79
+ | 3 | Gear & Technique | 20% | "Essential cycling gear for commuters", "Maintenance tips", "Lock your bike right" |
80
+ | 4 | Community Spotlight | 15% | "Rider of the week", "Local group rides", "Community repair nights" |
81
+ | 5 | Brand & Behind the Scenes | 5% | "How Urban Cycle started", "Meet the team", "What we're building next" |
82
+
83
+ ---
84
+
85
+ ## Brand Voice
86
+
87
+ | Attribute | Spec |
88
+ |---|---|
89
+ | Tone | Passionate, community-first, data-informed. We advocate — we don't preach. |
90
+ | Words to Use | "ride", "route", "commute", "community", "advocate", "city", "local" |
91
+ | Words to Avoid | "disruptive", "hustle", "hack", "crush" |
92
+ | Emoji Usage | 2–3 on Instagram, 0–1 on LinkedIn, 0–1 on X |
93
+ | CTA Style | Community invitation: "Join us", "Share your route", "What's your city?", "Tag a rider" |
94
+
95
+ ---
96
+
97
+ ## Deliverables Scope
98
+
99
+ - [x] Content Calendar (60 days, 3 platforms)
100
+ - [x] Platform Publishing Plan
101
+ - [x] Caption Copy Deck (A/B/C variants)
102
+ - [ ] Scheduling Manifest (agent-only dry-run)
103
+ - [ ] Analytics Brief (end of campaign)
104
+ - [ ] Client Proposal
@@ -0,0 +1,128 @@
1
+ # Growthub Meta — growthub-postiz-social-v1
2
+
3
+ ---
4
+
5
+ ## Kit Identity
6
+
7
+ | Field | Value |
8
+ |---|---|
9
+ | Kit ID | `growthub-postiz-social-v1` |
10
+ | Version | `1.0.0` |
11
+ | Schema Version | `2` |
12
+ | Type | `worker` |
13
+ | Family | `operator` |
14
+ | Execution Mode | `export` |
15
+ | Activation Modes | `["export"]` |
16
+ | Visibility | `public-open-source` |
17
+ | Source Repo | `growthub-local` |
18
+ | Frozen At | `2026-04-15T00:00:00.000Z` |
19
+
20
+ ---
21
+
22
+ ## What This Kit Does
23
+
24
+ The Growthub Postiz Social Media Studio is a worker kit that wraps the [Postiz](https://github.com/gitroomhq/postiz-app) open-source social media scheduling platform (~28,000 GitHub stars, MIT license) to produce AI-assisted social media campaigns, content calendars, caption copy decks, and scheduling manifests across 28+ platforms.
25
+
26
+ The kit provides a self-contained local execution environment. An operator exports the kit, points Claude Code's Working Directory at the kit root, and the `postiz-social-operator` worker handles the complete 10-step social media campaign workflow.
27
+
28
+ ---
29
+
30
+ ## Folder Structure
31
+
32
+ ```
33
+ growthub-postiz-social-v1/
34
+ kit.json ← Kit manifest (schemaVersion: 2)
35
+ QUICKSTART.md ← Setup guide
36
+ .env.example ← Environment template
37
+ skills.md ← Master methodology doc (read at every session)
38
+ output-standards.md ← Output naming, structure, quality bar
39
+ runtime-assumptions.md ← Frozen upstream assumptions
40
+ validation-checklist.md ← Pre-session + kit validation checklists
41
+ bundles/
42
+ growthub-postiz-social-v1.json ← Bundle manifest
43
+ workers/
44
+ postiz-social-operator/
45
+ CLAUDE.md ← Agent operating instructions (entrypoint)
46
+ brands/
47
+ _template/
48
+ brand-kit.md ← Blank client brand kit template
49
+ growthub/
50
+ brand-kit.md ← Growthub internal reference example
51
+ NEW-CLIENT.md ← Instructions for adding new clients
52
+ setup/
53
+ clone-fork.sh ← Clones Postiz, runs docker compose up
54
+ verify-env.mjs ← Verifies fork, API, workspace ID, API key
55
+ check-deps.sh ← Verifies Node, Docker, docker compose, git
56
+ output/
57
+ README.md ← Output directory structure and naming
58
+ templates/ ← 7 production-quality campaign templates
59
+ social-campaign-brief.md
60
+ content-calendar.md
61
+ platform-publishing-plan.md
62
+ caption-copy-deck.md
63
+ scheduling-manifest.md
64
+ analytics-brief.md
65
+ client-proposal.md
66
+ examples/ ← 4 filled samples for reference
67
+ social-campaign-sample.md
68
+ content-calendar-sample.md
69
+ analytics-brief-sample.md
70
+ client-proposal-sample.md
71
+ docs/ ← 4 technical reference documents
72
+ postiz-fork-integration.md
73
+ platform-coverage.md
74
+ ai-caption-layer.md
75
+ bullmq-queue-layer.md
76
+ growthub-meta/
77
+ README.md ← This file
78
+ kit-standard.md ← Kit rules and required-files contract
79
+ ```
80
+
81
+ ---
82
+
83
+ ## Activation
84
+
85
+ This kit is activated in `export` mode:
86
+
87
+ 1. CLI exports the kit to a local folder
88
+ 2. User points Claude Code's Working Directory at the exported folder root
89
+ 3. `workers/postiz-social-operator/CLAUDE.md` is the agent entrypoint
90
+
91
+ No server-side activation is required. The kit is fully self-contained.
92
+
93
+ ---
94
+
95
+ ## Upstream Fork
96
+
97
+ | Field | Value |
98
+ |---|---|
99
+ | Fork Repo | https://github.com/gitroomhq/postiz-app |
100
+ | License | MIT |
101
+ | Default Clone Path | `~/postiz-app` |
102
+ | Env Var Override | `POSTIZ_FORK_PATH` |
103
+ | Services | Docker Compose: Postiz app (port 3000), Redis (6379), PostgreSQL (5432) |
104
+
105
+ ---
106
+
107
+ ## Supported Output Categories
108
+
109
+ | Category | Templates | Examples |
110
+ |---|---|---|
111
+ | Social Campaign Briefs | `templates/social-campaign-brief.md` | `examples/social-campaign-sample.md` |
112
+ | Content Calendars | `templates/content-calendar.md` | `examples/content-calendar-sample.md` |
113
+ | Platform Publishing Plans | `templates/platform-publishing-plan.md` | — |
114
+ | Caption Copy Decks | `templates/caption-copy-deck.md` | — |
115
+ | Scheduling Manifests | `templates/scheduling-manifest.md` | — |
116
+ | Analytics Briefs | `templates/analytics-brief.md` | `examples/analytics-brief-sample.md` |
117
+ | Client Proposals | `templates/client-proposal.md` | `examples/client-proposal-sample.md` |
118
+
119
+ ---
120
+
121
+ ## Related Kits
122
+
123
+ | Kit | Family | Purpose |
124
+ |---|---|---|
125
+ | `creative-strategist-v1` | workflow | Campaign strategy and creative briefs |
126
+ | `growthub-email-marketing-v1` | operator | Email marketing campaigns |
127
+ | `growthub-open-higgsfield-studio-v1` | studio | AI video generation via Open Higgsfield |
128
+ | `growthub-geo-seo-v1` | studio | GEO + SEO auditing |
@@ -0,0 +1,113 @@
1
+ # Kit Standard — growthub-postiz-social-v1
2
+
3
+ **These rules govern the kit's structure, agent behavior, and output contract. All operators and maintainers must follow them.**
4
+
5
+ ---
6
+
7
+ ## Required Files Contract
8
+
9
+ The following files must be present in every valid kit installation. Any missing file constitutes a broken kit.
10
+
11
+ | File | Purpose | Can Be Empty? |
12
+ |---|---|---|
13
+ | `kit.json` | Kit manifest | No — must be valid JSON with schemaVersion: 2 |
14
+ | `QUICKSTART.md` | User-facing setup guide | No |
15
+ | `.env.example` | Environment template | No |
16
+ | `skills.md` | Master methodology doc | No — must contain all 10 steps |
17
+ | `output-standards.md` | Output rules | No |
18
+ | `runtime-assumptions.md` | Upstream assumptions | No |
19
+ | `validation-checklist.md` | Pre-session checklist | No |
20
+ | `workers/postiz-social-operator/CLAUDE.md` | Agent entrypoint | No |
21
+ | `brands/_template/brand-kit.md` | Blank brand kit template | No |
22
+ | `brands/growthub/brand-kit.md` | Example brand kit | No |
23
+ | `brands/NEW-CLIENT.md` | New client instructions | No |
24
+ | `setup/clone-fork.sh` | Fork installation script | No |
25
+ | `setup/verify-env.mjs` | Environment verification | No |
26
+ | `setup/check-deps.sh` | Dependency check | No |
27
+ | `output/README.md` | Output directory guide | No |
28
+ | All 7 template files | Campaign output templates | No — each must have all sections |
29
+ | All 4 example files | Reference samples | No — must contain realistic filled data |
30
+ | All 4 doc files | Technical reference | No |
31
+ | `bundles/growthub-postiz-social-v1.json` | Bundle manifest | No |
32
+ | `growthub-meta/README.md` | Kit metadata | No |
33
+ | `growthub-meta/kit-standard.md` | This file | No |
34
+
35
+ ---
36
+
37
+ ## Bundle Contract
38
+
39
+ | Requirement | Rule |
40
+ |---|---|
41
+ | Bundle ID | Must match kit ID: `growthub-postiz-social-v1` |
42
+ | Kit ID in bundle | Must be `growthub-postiz-social-v1` |
43
+ | Worker ID in bundle | Must be `postiz-social-operator` |
44
+ | Schema version | Must be `2` |
45
+ | `requiredFrozenAssets` | Must list all files in `kit.json` `frozenAssetPaths` |
46
+ | Export folder name | `growthub-agent-worker-kit-postiz-social-v1` |
47
+ | Export zip name | `growthub-agent-worker-kit-postiz-social-v1.zip` |
48
+
49
+ ---
50
+
51
+ ## Agent Rules
52
+
53
+ ### Workflow Order
54
+
55
+ The operator must follow the 10-step workflow in `workers/postiz-social-operator/CLAUDE.md` strictly. Steps must not be skipped or reordered. The environment gate (Step 0) must run before anything else.
56
+
57
+ ### Platform IDs
58
+
59
+ The operator must only use platform IDs from `docs/platform-coverage.md`. Invented platform slugs are not acceptable. If the user requests a platform not in the coverage doc, the operator must note it as unsupported in the current Postiz instance and suggest the nearest supported alternative.
60
+
61
+ ### Caption Variants
62
+
63
+ Every post in the Caption Copy Deck must have exactly 3 variants (A, B, C). The variants must be meaningfully different in opening hook and structure — not minor word substitutions. Character limits must be checked and documented for every variant.
64
+
65
+ ### Scheduling Manifest
66
+
67
+ When a scheduling manifest is produced:
68
+ - `dryRun` must be `true` in agent-only mode
69
+ - All `scheduledAt` values must be ISO 8601 with explicit timezone
70
+ - All `postId` values must follow the naming convention
71
+ - No manifest may reference a platform not confirmed to be connected in the Postiz instance
72
+
73
+ ### No Secrets in Outputs
74
+
75
+ The operator must never include `DATABASE_URL`, `REDIS_URL`, `JWT_SECRET`, OAuth tokens, or any other secret value in any output file. `.env.example` uses placeholder comments only.
76
+
77
+ ### Template-Bound Outputs
78
+
79
+ All output artifacts must use the templates in `templates/`. The operator must not invent new template schemas or change the required section structure.
80
+
81
+ ---
82
+
83
+ ## Runtime Rules
84
+
85
+ ### Three Execution Modes Are First-Class
86
+
87
+ `local-fork`, `agent-only`, and `hybrid` are all valid execution modes. The kit must never require local-fork mode for a session to produce valid campaign outputs. Agent-only mode is always a valid fallback for campaign planning, caption drafting, and dry-run scheduling manifests.
88
+
89
+ ### Postiz Is the Reference Substrate
90
+
91
+ The platform integrations, BullMQ queue configuration, and API contract in the Postiz fork are the source of truth for scheduling behavior. The kit documents and wraps that behavior — it does not redefine it. When the upstream Postiz API changes, `runtime-assumptions.md` must be updated.
92
+
93
+ ### Markdown Is the Primary Output Format
94
+
95
+ All campaign artifacts are Markdown files. The scheduling manifest is a JSON file. These are the canonical records — no other formats are produced by this kit unless explicitly requested.
96
+
97
+ ---
98
+
99
+ ## Versioning Rules
100
+
101
+ | Scenario | Action |
102
+ |---|---|
103
+ | Bug fix in a template or doc file | Patch version bump: `1.0.0` → `1.0.1` |
104
+ | New template or platform added | Minor version bump: `1.0.0` → `1.1.0` |
105
+ | Workflow restructured or output schema changed | Major version bump: `1.0.0` → `2.0.0` |
106
+ | Upstream Postiz adds new platform integration | Minor bump + update `runtime-assumptions.md` and `docs/platform-coverage.md` |
107
+ | Postiz changes API contract | Major bump if breaking + update `runtime-assumptions.md` and `docs/bullmq-queue-layer.md` |
108
+
109
+ Version bumps must update:
110
+ - `kit.json` → `kit.version`
111
+ - `bundles/growthub-postiz-social-v1.json` → `bundle.version`
112
+ - `growthub-meta/README.md` → Version field
113
+ - `runtime-assumptions.md` → Frozen date and changelog note