@growthub/cli 0.6.8 → 0.7.1
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/shared-templates/marketing-frameworks/competitor-positioning.md +46 -0
- package/assets/shared-templates/marketing-frameworks/cro-7-dimensions.md +48 -0
- package/assets/shared-templates/marketing-frameworks/email-sequence-architecture.md +50 -0
- package/assets/shared-templates/marketing-frameworks/launch-playbook.md +62 -0
- package/assets/shared-templates/marketing-frameworks/product-marketing-context.md +62 -0
- package/assets/shared-templates/marketing-frameworks/seo-audit-eeat.md +44 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/.env.example +7 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/QUICKSTART.md +21 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/brands/NEW-CLIENT.md +3 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/brands/_template/brand-kit.md +7 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/brands/growthub/brand-kit.md +6 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/bundles/growthub-hyperframes-studio-v1.json +47 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/docs/hyperframes-discovery-path.md +12 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/docs/hyperframes-fork-integration.md +11 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/docs/provider-adapter-layer.md +9 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/examples/video-brief-sample.md +15 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/growthub-meta/README.md +3 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/growthub-meta/kit-standard.md +6 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/kit.json +97 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/output/README.md +5 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/output-standards.md +12 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/runtime-assumptions.md +6 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/setup/check-deps.sh +14 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/setup/clone-fork.sh +12 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/setup/verify-env.mjs +16 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/skills.md +12 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/templates/composition-spec.md +6 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/templates/qa-checklist.md +6 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/templates/render-plan.md +13 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/templates/video-brief.md +7 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/validation-checklist.md +6 -0
- package/assets/worker-kits/growthub-hyperframes-studio-v1/workers/hyperframes-studio-operator/CLAUDE.md +18 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/.env.example +7 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/QUICKSTART.md +111 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/brands/_template/product-marketing-context.md +147 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/brands/growthub/product-marketing-context.md +145 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/bundles/growthub-marketing-skills-v1.json +43 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/docs/evaluation-frameworks.md +53 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/docs/fork-integration.md +43 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/docs/skill-dispatch-methodology.md +50 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/examples/email-sequence-sample.md +75 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/examples/landing-page-cro-sample.md +128 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/examples/seo-audit-sample.md +102 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/growthub-meta/README.md +5 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/growthub-meta/kit-standard.md +25 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/kit.json +87 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/output/README.md +32 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/output-standards.md +51 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/runtime-assumptions.md +46 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/setup/verify-env.mjs +81 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/skills.md +157 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/templates/competitor-analysis.md +81 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/templates/content-strategy-plan.md +75 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/templates/cro-audit-brief.md +138 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/templates/email-sequence-plan.md +80 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/templates/launch-checklist.md +83 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/templates/seo-audit-report.md +119 -0
- package/assets/worker-kits/growthub-marketing-skills-v1/workers/marketing-operator/CLAUDE.md +198 -0
- package/dist/index.js +694 -268
- package/package.json +1 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Email Sequence Plan — Growthub / Welcome Sequence
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-04-15
|
|
4
|
+
**Version:** v1
|
|
5
|
+
**Domain:** Email
|
|
6
|
+
**Operator:** marketing-operator
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Executive Summary
|
|
11
|
+
|
|
12
|
+
- 5-email welcome sequence over 10 days focused on activation (first kit download)
|
|
13
|
+
- Anchored on the "Growth System" content pillar
|
|
14
|
+
- Emotional arc: Curious → Informed → Equipped → Activated → Connected
|
|
15
|
+
- Primary CTA: Download first worker kit via CLI
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Sequence Overview
|
|
20
|
+
|
|
21
|
+
| Field | Value |
|
|
22
|
+
|---|---|
|
|
23
|
+
| Sequence type | Welcome |
|
|
24
|
+
| Email count | 5 |
|
|
25
|
+
| Duration | 10 days |
|
|
26
|
+
| Entry trigger | CLI install (`npx @growthub/create-growthub-local`) |
|
|
27
|
+
| Primary CTA | Download first worker kit |
|
|
28
|
+
| Audience segment | New CLI installers |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Emotional Arc
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
Email 1: Curious → Email 2: Informed → Email 3: Equipped → Email 4: Activated → Email 5: Connected
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Sequence Map
|
|
41
|
+
|
|
42
|
+
| Email | Send Day | Subject Theme | Body Arc | CTA | Purpose |
|
|
43
|
+
|---|---|---|---|---|---|
|
|
44
|
+
| 1 | Day 0 | Welcome + what you just installed | Orient — show what's inside the discovery hub | Explore discovery hub | Reduce confusion, build confidence |
|
|
45
|
+
| 2 | Day 2 | Your first worker kit | Educate — explain what kits are and why they matter | Download creative-strategist-v1 | First kit activation |
|
|
46
|
+
| 3 | Day 4 | How to set up product context | Equip — walk through brand kit setup | Create product-marketing-context.md | Enable personalized output |
|
|
47
|
+
| 4 | Day 7 | See what others built | Prove — show real examples and community use cases | Try a second kit | Deepen engagement |
|
|
48
|
+
| 5 | Day 10 | You're part of something | Connect — community, contributing, what's next | Join GitHub / contribute | Build retention loop |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Subject Line Matrix
|
|
53
|
+
|
|
54
|
+
### Email 1 — Welcome
|
|
55
|
+
|
|
56
|
+
| Variant | Type | Subject Line | Preview Text |
|
|
57
|
+
|---|---|---|---|
|
|
58
|
+
| A | Direct | You just installed Growthub — here's what to do first | Your discovery hub is ready to explore |
|
|
59
|
+
| B | Curiosity | There are 4 kits waiting for you | Each one is a complete marketing environment |
|
|
60
|
+
| C | Personal | Welcome to local-first marketing | Your data stays on your machine — here's how it works |
|
|
61
|
+
| D | Social proof | Join 500+ builders using Growthub kits | Open source, MIT licensed, ready to ship |
|
|
62
|
+
| E | Urgency | Don't skip this — your first 5 minutes matter | Quick setup guide inside |
|
|
63
|
+
|
|
64
|
+
**Recommended A/B test**: Variant A vs Variant B
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## Platform Notes
|
|
69
|
+
|
|
70
|
+
| Field | Value |
|
|
71
|
+
|---|---|
|
|
72
|
+
| Email platform | TBD |
|
|
73
|
+
| Segment/tag | new-cli-install |
|
|
74
|
+
| Automation trigger | CLI install event |
|
|
75
|
+
| Unsubscribe handling | Standard CAN-SPAM footer |
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
# CRO Audit Brief — Growthub / Homepage
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-04-15
|
|
4
|
+
**Version:** v1
|
|
5
|
+
**Domain:** CRO
|
|
6
|
+
**Operator:** marketing-operator
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Executive Summary
|
|
11
|
+
|
|
12
|
+
- Homepage value proposition is clear but buried below the fold — headline focuses on category rather than benefit
|
|
13
|
+
- CTA copy is generic ("Get Started") and misses the primary conversion action (CLI install)
|
|
14
|
+
- Strong trust signals (open source, MIT license, npm published) but not positioned near the CTA
|
|
15
|
+
- No objection handling before the primary conversion point
|
|
16
|
+
- Quick win: rewrite headline to lead with the benefit, move trust signals above the fold
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Page Under Review
|
|
21
|
+
|
|
22
|
+
| Field | Value |
|
|
23
|
+
|---|---|
|
|
24
|
+
| URL | growthub.ai |
|
|
25
|
+
| Page type | Homepage |
|
|
26
|
+
| Traffic source | Organic + GitHub referral |
|
|
27
|
+
| Current conversion rate | Unknown |
|
|
28
|
+
| Primary conversion goal | CLI install via `npx @growthub/create-growthub-local` |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## 7-Dimension Analysis
|
|
33
|
+
|
|
34
|
+
### 1. Value Proposition Clarity
|
|
35
|
+
|
|
36
|
+
**Score:** Adequate (2)
|
|
37
|
+
|
|
38
|
+
**Findings:** The one-liner "Local-first AI agent runtime" is technically accurate but doesn't communicate the benefit to the user. Visitors from non-technical backgrounds may not understand what "runtime" means in this context.
|
|
39
|
+
|
|
40
|
+
**Recommendations:** Lead with the outcome: "Ship marketing without hiring an agency" or "Run AI agent kits locally — your data stays on your machine."
|
|
41
|
+
|
|
42
|
+
### 2. Headline Effectiveness
|
|
43
|
+
|
|
44
|
+
**Score:** Weak (1)
|
|
45
|
+
|
|
46
|
+
**Findings:** Headline describes the category (AI agent runtime) rather than the promise. Doesn't match the messaging from GitHub (where most traffic originates) which emphasizes "worker kits" and "local execution."
|
|
47
|
+
|
|
48
|
+
**Recommendations:** Test benefit-driven headlines that match the traffic source messaging. Options:
|
|
49
|
+
1. "Download a marketing team in one command"
|
|
50
|
+
2. "AI agent kits that actually know your product"
|
|
51
|
+
3. "Local-first worker kits for marketing and growth"
|
|
52
|
+
|
|
53
|
+
### 3. CTA Placement & Copy
|
|
54
|
+
|
|
55
|
+
**Score:** Adequate (2)
|
|
56
|
+
|
|
57
|
+
**Findings:** Primary CTA exists above the fold but uses generic "Get Started" copy. The actual conversion action (CLI install command) is a better CTA since it's one command and feels low-commitment.
|
|
58
|
+
|
|
59
|
+
**Recommendations:** Replace "Get Started" with the actual install command: `npx @growthub/create-growthub-local` — developers respond better to concrete commands than vague buttons.
|
|
60
|
+
|
|
61
|
+
### 4. Visual Hierarchy
|
|
62
|
+
|
|
63
|
+
**Score:** Strong (3)
|
|
64
|
+
|
|
65
|
+
**Findings:** Clean layout with clear sections. Good use of whitespace. Discovery hub screenshot provides social proof of the actual product experience.
|
|
66
|
+
|
|
67
|
+
**Recommendations:** No critical changes needed. Consider adding kit-specific screenshots below the fold to show what users actually get.
|
|
68
|
+
|
|
69
|
+
### 5. Trust Signals
|
|
70
|
+
|
|
71
|
+
**Score:** Adequate (2)
|
|
72
|
+
|
|
73
|
+
**Findings:** Open source badge, MIT license mention, and npm published status are present but positioned in the footer area. GitHub stars count is not prominently displayed.
|
|
74
|
+
|
|
75
|
+
**Recommendations:** Move "MIT Licensed | Open Source | Works with Claude, Cursor, Codex, Gemini" above the fold, near the CTA. Add GitHub stars badge.
|
|
76
|
+
|
|
77
|
+
### 6. Objection Handling
|
|
78
|
+
|
|
79
|
+
**Score:** Missing (0)
|
|
80
|
+
|
|
81
|
+
**Findings:** No objection handling before the CTA. Common objections ("How is this different from ChatGPT?", "Does it work with my agent?", "Is it hard to set up?") are not addressed.
|
|
82
|
+
|
|
83
|
+
**Recommendations:** Add a 3-row objection-handling section between the hero and the CTA. Use the customer language from the product-marketing context.
|
|
84
|
+
|
|
85
|
+
### 7. Friction Points
|
|
86
|
+
|
|
87
|
+
**Score:** Strong (3)
|
|
88
|
+
|
|
89
|
+
**Findings:** Install is one command. No signup form, no email gate, no account required. This is the lowest-friction conversion path possible for a developer tool.
|
|
90
|
+
|
|
91
|
+
**Recommendations:** Preserve this simplicity. Do not add a signup wall before the CLI install.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Composite Score
|
|
96
|
+
|
|
97
|
+
| Dimension | Score |
|
|
98
|
+
|---|---|
|
|
99
|
+
| Value Proposition Clarity | 2/3 |
|
|
100
|
+
| Headline Effectiveness | 1/3 |
|
|
101
|
+
| CTA Placement & Copy | 2/3 |
|
|
102
|
+
| Visual Hierarchy | 3/3 |
|
|
103
|
+
| Trust Signals | 2/3 |
|
|
104
|
+
| Objection Handling | 0/3 |
|
|
105
|
+
| Friction Points | 3/3 |
|
|
106
|
+
| **Total** | **13/21** |
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## Quick Wins
|
|
111
|
+
|
|
112
|
+
1. Rewrite headline to lead with benefit, not category
|
|
113
|
+
2. Replace "Get Started" CTA with the actual install command
|
|
114
|
+
3. Move open-source trust signals above the fold
|
|
115
|
+
|
|
116
|
+
## High-Impact Changes
|
|
117
|
+
|
|
118
|
+
1. Add objection-handling section (3 common objections with one-line answers)
|
|
119
|
+
2. Add kit-specific screenshots showing what users actually get after install
|
|
120
|
+
3. Add GitHub stars badge as social proof
|
|
121
|
+
|
|
122
|
+
## A/B Test Hypotheses
|
|
123
|
+
|
|
124
|
+
| Test | Hypothesis | Expected Impact | Priority |
|
|
125
|
+
|---|---|---|---|
|
|
126
|
+
| Headline: benefit vs. category | Benefit-driven headline will increase CLI installs by 15-25% | High | 1 |
|
|
127
|
+
| CTA: "Get Started" vs. install command | Showing the actual command will increase clicks by 10-20% | Medium | 2 |
|
|
128
|
+
| Trust signals above fold | Moving trust signals up will reduce bounce rate by 5-10% | Medium | 3 |
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# SEO Audit Report — Growthub / growthub.ai
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-04-15
|
|
4
|
+
**Version:** v1
|
|
5
|
+
**Domain:** SEO
|
|
6
|
+
**Operator:** marketing-operator
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Executive Summary
|
|
11
|
+
|
|
12
|
+
- Site is indexed and crawlable with clean URL structure
|
|
13
|
+
- Missing XML sitemap limits crawl efficiency for new content
|
|
14
|
+
- Title tags are functional but not keyword-optimized for primary search terms
|
|
15
|
+
- Content depth is thin on key landing pages — competitor pages have 2-3x word count
|
|
16
|
+
- No structured data (JSON-LD) present — missing opportunities for rich results
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Audit Scope
|
|
21
|
+
|
|
22
|
+
| Field | Value |
|
|
23
|
+
|---|---|
|
|
24
|
+
| Domain | growthub.ai |
|
|
25
|
+
| Pages audited | Homepage + key landing pages |
|
|
26
|
+
| Tools used | Manual analysis |
|
|
27
|
+
| Priority keywords | "AI agent kits", "local AI tools", "marketing AI agent", "worker kits CLI" |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Technical SEO
|
|
32
|
+
|
|
33
|
+
### Crawlability & Indexation
|
|
34
|
+
|
|
35
|
+
| Check | Status | Notes |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| robots.txt | Present | Standard configuration, no unusual blocks |
|
|
38
|
+
| XML sitemap | Missing | No sitemap.xml found — should be added |
|
|
39
|
+
| Canonical tags | Present | Self-referencing canonicals on key pages |
|
|
40
|
+
| Index status | Indexed | Primary pages in Google index |
|
|
41
|
+
| Crawl budget | No concern | Small site, no crawl budget issues |
|
|
42
|
+
|
|
43
|
+
### Site Speed (Core Web Vitals)
|
|
44
|
+
|
|
45
|
+
| Metric | Target | Measured | Status |
|
|
46
|
+
|---|---|---|---|
|
|
47
|
+
| LCP | <2.5s | ~1.8s | Pass |
|
|
48
|
+
| INP | <200ms | <100ms | Pass |
|
|
49
|
+
| CLS | <0.1 | <0.05 | Pass |
|
|
50
|
+
|
|
51
|
+
### Mobile & Security
|
|
52
|
+
|
|
53
|
+
| Check | Status | Notes |
|
|
54
|
+
|---|---|---|
|
|
55
|
+
| Mobile responsive | Pass | Clean responsive layout |
|
|
56
|
+
| HTTPS | Pass | Valid certificate |
|
|
57
|
+
| Mixed content | None | All resources served over HTTPS |
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## On-Page SEO
|
|
62
|
+
|
|
63
|
+
### Title Tags
|
|
64
|
+
Homepage title is descriptive but not keyword-optimized. Consider: "Growthub — Local AI Agent Kits for Marketing & Growth | Open Source CLI"
|
|
65
|
+
|
|
66
|
+
### Heading Structure
|
|
67
|
+
Single H1 on homepage. Logical H2/H3 hierarchy. Good structure.
|
|
68
|
+
|
|
69
|
+
### Content Optimization
|
|
70
|
+
Key landing pages have 300-500 words. Competitor comparison pages typically have 1,500-2,500 words. Thin content may limit ranking potential for competitive terms.
|
|
71
|
+
|
|
72
|
+
### Internal Linking
|
|
73
|
+
Basic navigation links present. No contextual internal links between content pages. Adding topic-relevant internal links would improve crawl paths and topical authority.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Findings by Priority
|
|
78
|
+
|
|
79
|
+
### Critical
|
|
80
|
+
|
|
81
|
+
1. **Finding**: No XML sitemap — **Impact**: New content may not be discovered efficiently — **Fix**: Generate and submit sitemap.xml to GSC
|
|
82
|
+
|
|
83
|
+
### High
|
|
84
|
+
|
|
85
|
+
1. **Finding**: No structured data — **Impact**: Missing rich results (FAQ, How-to, Software Application schema) — **Fix**: Add JSON-LD for Software Application, FAQ, and Organization schemas
|
|
86
|
+
2. **Finding**: Thin content on landing pages — **Impact**: Lower ranking potential for competitive terms — **Fix**: Expand key pages to 1,500+ words with depth on use cases
|
|
87
|
+
|
|
88
|
+
### Medium
|
|
89
|
+
|
|
90
|
+
1. **Finding**: Title tags not keyword-optimized — **Impact**: Missing ranking signals for primary terms — **Fix**: Rewrite titles to include primary keywords naturally
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Prioritized Action Plan
|
|
95
|
+
|
|
96
|
+
| Priority | Action | Effort | Expected Impact |
|
|
97
|
+
|---|---|---|---|
|
|
98
|
+
| 1 | Add XML sitemap and submit to GSC | Low | Improved crawl efficiency |
|
|
99
|
+
| 2 | Add JSON-LD structured data | Medium | Rich results eligibility |
|
|
100
|
+
| 3 | Expand landing page content depth | High | Improved ranking for competitive terms |
|
|
101
|
+
| 4 | Optimize title tags for primary keywords | Low | Incremental ranking improvement |
|
|
102
|
+
| 5 | Add contextual internal links | Low | Better topical authority signals |
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Kit Standard — growthub-marketing-skills-v1
|
|
2
|
+
|
|
3
|
+
## Schema Version
|
|
4
|
+
|
|
5
|
+
This kit follows `schemaVersion: 2` of the Growthub Worker Kit contract.
|
|
6
|
+
|
|
7
|
+
## Kit Family
|
|
8
|
+
|
|
9
|
+
`operator` — Domain-specific operator for marketing workflows.
|
|
10
|
+
|
|
11
|
+
## Execution Mode
|
|
12
|
+
|
|
13
|
+
`export` — Kit is exported to a local directory and pointed at by the agent's Working Directory.
|
|
14
|
+
|
|
15
|
+
## Upstream Source
|
|
16
|
+
|
|
17
|
+
This kit wraps frameworks from [coreyhaines31/marketingskills](https://github.com/coreyhaines31/marketingskills) (MIT license). The upstream library provides the skill definitions and evaluation frameworks. This kit packages them into a Growthub operator environment with brand context, templates, and output standards.
|
|
18
|
+
|
|
19
|
+
## Activation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
growthub kit download marketing-skills
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Then point your AI agent's Working Directory at the exported folder.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 2,
|
|
3
|
+
"kit": {
|
|
4
|
+
"id": "growthub-marketing-skills-v1",
|
|
5
|
+
"version": "1.0.0",
|
|
6
|
+
"name": "Growthub Agent Worker Kit — Marketing Operator",
|
|
7
|
+
"description": "Self-contained marketing execution environment wrapping the open-source marketingskills library (coreyhaines31/marketingskills). Provides structured marketing workflows for CRO, SEO, content strategy, email sequences, paid ads, and growth — grounded in product-marketing context and brand voice. Skills are one dimension of the kit; the operator workflow, brand kit, templates, and output standards form the complete environment.",
|
|
8
|
+
"type": "worker",
|
|
9
|
+
"visibility": "public-open-source",
|
|
10
|
+
"sourceRepo": "growthub-local",
|
|
11
|
+
"family": "operator"
|
|
12
|
+
},
|
|
13
|
+
"entrypoint": {
|
|
14
|
+
"workerId": "marketing-operator",
|
|
15
|
+
"path": "workers/marketing-operator/CLAUDE.md"
|
|
16
|
+
},
|
|
17
|
+
"workerIds": ["marketing-operator"],
|
|
18
|
+
"agentContractPath": "workers/marketing-operator/CLAUDE.md",
|
|
19
|
+
"brandTemplatePath": "brands/_template/product-marketing-context.md",
|
|
20
|
+
"publicExampleBrandPaths": ["brands/growthub/product-marketing-context.md"],
|
|
21
|
+
"frozenAssetPaths": [
|
|
22
|
+
"QUICKSTART.md",
|
|
23
|
+
".env.example",
|
|
24
|
+
"skills.md",
|
|
25
|
+
"output-standards.md",
|
|
26
|
+
"runtime-assumptions.md",
|
|
27
|
+
"workers/marketing-operator/CLAUDE.md",
|
|
28
|
+
"brands/_template/product-marketing-context.md",
|
|
29
|
+
"brands/growthub/product-marketing-context.md",
|
|
30
|
+
"templates/cro-audit-brief.md",
|
|
31
|
+
"templates/seo-audit-report.md",
|
|
32
|
+
"templates/content-strategy-plan.md",
|
|
33
|
+
"templates/email-sequence-plan.md",
|
|
34
|
+
"templates/launch-checklist.md",
|
|
35
|
+
"templates/competitor-analysis.md",
|
|
36
|
+
"examples/landing-page-cro-sample.md",
|
|
37
|
+
"examples/seo-audit-sample.md",
|
|
38
|
+
"examples/email-sequence-sample.md",
|
|
39
|
+
"docs/fork-integration.md",
|
|
40
|
+
"docs/skill-dispatch-methodology.md",
|
|
41
|
+
"docs/evaluation-frameworks.md",
|
|
42
|
+
"setup/verify-env.mjs",
|
|
43
|
+
"output/README.md",
|
|
44
|
+
"growthub-meta/README.md",
|
|
45
|
+
"growthub-meta/kit-standard.md"
|
|
46
|
+
],
|
|
47
|
+
"setupPaths": {
|
|
48
|
+
"quickstart": "QUICKSTART.md",
|
|
49
|
+
"envExample": ".env.example",
|
|
50
|
+
"setupDir": "setup/",
|
|
51
|
+
"outputDir": "output/"
|
|
52
|
+
},
|
|
53
|
+
"outputStandard": {
|
|
54
|
+
"type": "working-directory",
|
|
55
|
+
"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>/.",
|
|
56
|
+
"requiredPaths": [
|
|
57
|
+
"QUICKSTART.md",
|
|
58
|
+
".env.example",
|
|
59
|
+
"kit.json",
|
|
60
|
+
"bundles/growthub-marketing-skills-v1.json",
|
|
61
|
+
"skills.md",
|
|
62
|
+
"workers/marketing-operator/CLAUDE.md",
|
|
63
|
+
"brands/_template/product-marketing-context.md",
|
|
64
|
+
"brands/growthub/product-marketing-context.md",
|
|
65
|
+
"templates",
|
|
66
|
+
"docs",
|
|
67
|
+
"growthub-meta"
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"bundles": [
|
|
71
|
+
{
|
|
72
|
+
"id": "growthub-marketing-skills-v1",
|
|
73
|
+
"version": "1.0.0",
|
|
74
|
+
"path": "bundles/growthub-marketing-skills-v1.json"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"executionMode": "export",
|
|
78
|
+
"activationModes": ["export"],
|
|
79
|
+
"compatibility": {
|
|
80
|
+
"cliMinVersion": "0.3.53"
|
|
81
|
+
},
|
|
82
|
+
"provenance": {
|
|
83
|
+
"sourceRepo": "growthub-local",
|
|
84
|
+
"upstream": "https://github.com/coreyhaines31/marketingskills",
|
|
85
|
+
"frozenAt": "2026-04-15T00:00:00.000Z"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Output Directory
|
|
2
|
+
|
|
3
|
+
All operator deliverables are saved here, organized by client and project.
|
|
4
|
+
|
|
5
|
+
## Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
output/
|
|
9
|
+
<client-slug>/
|
|
10
|
+
<project-slug>/
|
|
11
|
+
<ClientSlug>_<Domain>_<Type>_v<N>_<YYYYMMDD>.md
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Examples
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
output/
|
|
18
|
+
acme/
|
|
19
|
+
homepage-redesign/
|
|
20
|
+
Acme_CRO_AuditBrief_v1_20260415.md
|
|
21
|
+
q2-content/
|
|
22
|
+
Acme_Content_StrategyPlan_v1_20260415.md
|
|
23
|
+
growthub/
|
|
24
|
+
welcome-flow/
|
|
25
|
+
Growthub_Email_SequencePlan_v1_20260415.md
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Rules
|
|
29
|
+
|
|
30
|
+
- Never overwrite existing files — increment version (`v1` → `v2`)
|
|
31
|
+
- Always update the deliverables log in the client's product-marketing-context.md
|
|
32
|
+
- Use the exact naming convention — no variations
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Marketing Operator — Output Standards
|
|
2
|
+
|
|
3
|
+
All operator outputs must follow these standards.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## File Naming
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
output/<client-slug>/<project-slug>/
|
|
11
|
+
+-- <ClientSlug>_<Domain>_<Type>_v<N>_<YYYYMMDD>.md
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Examples:
|
|
15
|
+
- `output/acme/homepage-redesign/Acme_CRO_AuditBrief_v1_20260415.md`
|
|
16
|
+
- `output/acme/q2-content/Acme_Content_StrategyPlan_v1_20260415.md`
|
|
17
|
+
- `output/acme/welcome-flow/Acme_Email_SequencePlan_v1_20260415.md`
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Required Sections (all deliverables)
|
|
22
|
+
|
|
23
|
+
1. **Header block** — Client, domain, date, version, operator
|
|
24
|
+
2. **Executive summary** — 3-5 bullet points of key findings or decisions
|
|
25
|
+
3. **Analysis body** — Structured by the domain framework's dimensions
|
|
26
|
+
4. **Prioritized action plan** — Critical → Quick Wins → Long-term
|
|
27
|
+
5. **Next steps** — Clear owner suggestions and timeline
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Versioning
|
|
32
|
+
|
|
33
|
+
Never overwrite existing files. Increment the version number:
|
|
34
|
+
- `v1` → `v2` → `v3`
|
|
35
|
+
|
|
36
|
+
Previous versions are preserved for comparison.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Quality Checklist
|
|
41
|
+
|
|
42
|
+
Before delivering any output, verify:
|
|
43
|
+
|
|
44
|
+
- [ ] Product-marketing context was loaded and referenced
|
|
45
|
+
- [ ] All framework dimensions were evaluated (none skipped)
|
|
46
|
+
- [ ] Every finding has a specific, actionable recommendation
|
|
47
|
+
- [ ] Recommendations are prioritized (not an unranked list)
|
|
48
|
+
- [ ] Customer language is used over marketing jargon
|
|
49
|
+
- [ ] No fabricated metrics or social proof
|
|
50
|
+
- [ ] File naming convention followed
|
|
51
|
+
- [ ] Deliverables log in brand kit updated
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Marketing Operator — Runtime Assumptions
|
|
2
|
+
|
|
3
|
+
## Execution Environment
|
|
4
|
+
|
|
5
|
+
The marketing operator runs inside any AI agent that can read markdown files and follow structured instructions. No specific runtime, language, or platform is required.
|
|
6
|
+
|
|
7
|
+
**Supported adapters:**
|
|
8
|
+
- Claude Code (primary reference)
|
|
9
|
+
- Cursor
|
|
10
|
+
- OpenAI Codex
|
|
11
|
+
- Google Gemini
|
|
12
|
+
- Windsurf
|
|
13
|
+
- Any agent supporting the Agent Skills specification
|
|
14
|
+
|
|
15
|
+
## File System Assumptions
|
|
16
|
+
|
|
17
|
+
The operator assumes the Working Directory is pointed at the kit root. All paths are relative:
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
./skills.md ← methodology (read every session)
|
|
21
|
+
./brands/<client-slug>/product-marketing-context.md ← brand context
|
|
22
|
+
./templates/<domain>-<type>.md ← frozen deliverable templates
|
|
23
|
+
./output/<client-slug>/<project-slug>/ ← all deliverables land here
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## External Tool Integration (Optional)
|
|
27
|
+
|
|
28
|
+
The operator can produce deliverables with zero external dependencies. When tools are available, they enhance the analysis:
|
|
29
|
+
|
|
30
|
+
| Tool | Use | Required? |
|
|
31
|
+
|---|---|---|
|
|
32
|
+
| Web browser / web_fetch | Read live pages for CRO/SEO analysis | No — operator can analyze provided content |
|
|
33
|
+
| Analytics API (GA4) | Pull real traffic data for recommendations | No — operator works with user-provided data |
|
|
34
|
+
| Email platform API | Push sequences to email tools | No — operator exports platform-ready markdown |
|
|
35
|
+
| SEO tools (Ahrefs, Semrush) | Pull backlink and ranking data | No — operator works with user-provided data |
|
|
36
|
+
|
|
37
|
+
## Upstream Fork Relationship
|
|
38
|
+
|
|
39
|
+
This kit wraps frameworks from [coreyhaines31/marketingskills](https://github.com/coreyhaines31/marketingskills). The upstream library provides the skill definitions and evaluation frameworks. This kit packages them into a Growthub worker kit with:
|
|
40
|
+
|
|
41
|
+
- Product-marketing context as the brand grounding layer
|
|
42
|
+
- Frozen templates for consistent deliverable structure
|
|
43
|
+
- Output standards and naming conventions
|
|
44
|
+
- Operator workflow with mandatory gates (3-question gate, context loading)
|
|
45
|
+
|
|
46
|
+
The upstream library is a reference, not a runtime dependency. Skills are adapted and frozen into this kit's methodology. Updates to the upstream library can be pulled into future kit versions.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* verify-env.mjs — Marketing Operator environment verification
|
|
5
|
+
*
|
|
6
|
+
* Checks that the kit structure is intact and all required files exist.
|
|
7
|
+
* No network calls. No API key requirements.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
import fs from "node:fs";
|
|
11
|
+
import path from "node:path";
|
|
12
|
+
|
|
13
|
+
const kitRoot = process.cwd();
|
|
14
|
+
|
|
15
|
+
const REQUIRED_FILES = [
|
|
16
|
+
"kit.json",
|
|
17
|
+
"bundles/growthub-marketing-skills-v1.json",
|
|
18
|
+
"skills.md",
|
|
19
|
+
"output-standards.md",
|
|
20
|
+
"runtime-assumptions.md",
|
|
21
|
+
"workers/marketing-operator/CLAUDE.md",
|
|
22
|
+
"brands/_template/product-marketing-context.md",
|
|
23
|
+
"brands/growthub/product-marketing-context.md",
|
|
24
|
+
"templates/cro-audit-brief.md",
|
|
25
|
+
"templates/seo-audit-report.md",
|
|
26
|
+
"templates/content-strategy-plan.md",
|
|
27
|
+
"templates/email-sequence-plan.md",
|
|
28
|
+
"templates/launch-checklist.md",
|
|
29
|
+
"templates/competitor-analysis.md",
|
|
30
|
+
];
|
|
31
|
+
|
|
32
|
+
const REQUIRED_DIRS = [
|
|
33
|
+
"templates",
|
|
34
|
+
"examples",
|
|
35
|
+
"docs",
|
|
36
|
+
"output",
|
|
37
|
+
"growthub-meta",
|
|
38
|
+
];
|
|
39
|
+
|
|
40
|
+
console.log("Marketing Operator — Environment Verification\n");
|
|
41
|
+
console.log(`Kit root: ${kitRoot}\n`);
|
|
42
|
+
|
|
43
|
+
let allGood = true;
|
|
44
|
+
|
|
45
|
+
// Check kit.json is valid JSON
|
|
46
|
+
try {
|
|
47
|
+
const kitJson = JSON.parse(fs.readFileSync(path.join(kitRoot, "kit.json"), "utf-8"));
|
|
48
|
+
console.log(` kit.json: ${kitJson.kit?.id || "unknown"} v${kitJson.kit?.version || "?"}`);
|
|
49
|
+
} catch {
|
|
50
|
+
console.log(" kit.json: MISSING or INVALID");
|
|
51
|
+
allGood = false;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Check required files
|
|
55
|
+
console.log("\nRequired files:");
|
|
56
|
+
for (const file of REQUIRED_FILES) {
|
|
57
|
+
const exists = fs.existsSync(path.join(kitRoot, file));
|
|
58
|
+
console.log(` ${exists ? "OK" : "MISSING"} ${file}`);
|
|
59
|
+
if (!exists) allGood = false;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Check required directories
|
|
63
|
+
console.log("\nRequired directories:");
|
|
64
|
+
for (const dir of REQUIRED_DIRS) {
|
|
65
|
+
const exists = fs.existsSync(path.join(kitRoot, dir));
|
|
66
|
+
console.log(` ${exists ? "OK" : "MISSING"} ${dir}/`);
|
|
67
|
+
if (!exists) allGood = false;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// Check for client brand kits beyond the template
|
|
71
|
+
const brandsDir = path.join(kitRoot, "brands");
|
|
72
|
+
if (fs.existsSync(brandsDir)) {
|
|
73
|
+
const brandDirs = fs.readdirSync(brandsDir).filter(
|
|
74
|
+
(d) => d !== "_template" && fs.statSync(path.join(brandsDir, d)).isDirectory()
|
|
75
|
+
);
|
|
76
|
+
console.log(`\nClient brand kits: ${brandDirs.length} (${brandDirs.join(", ") || "none besides template"})`);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Summary
|
|
80
|
+
console.log(`\n${allGood ? "All checks passed." : "Some checks failed. Review the output above."}`);
|
|
81
|
+
process.exit(allGood ? 0 : 1);
|