Skip to content

Commit cc1a9c1

Browse files
coreyhaines31claudeCoopahG
authored
feat: add Nitrosend integration for AI-native email sequencing (#202)
* feat: add customer-research skill (#186) * feat: add customer-research skill (#185) Adds a new skill for conducting and synthesizing customer research — covering analysis of existing assets (transcripts, surveys, support tickets, NPS) and digital watering hole research (Reddit, G2, forums, communities, review sites). Includes persona generation framework, JTBD extraction, VOC quote banking, and competitive intel from reviews. Also adds a detailed source-guides reference with per-platform playbooks (Reddit operators, G2 review tiers, LinkedIn job posting mining, etc.) and 10 evals covering the main trigger scenarios. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: address Codex review of customer-research skill - Fix evals.json schema to match repo convention (skill_name wrapper, integer IDs, expected_output, files fields) - Add product-marketing-context.md assertion to all evals - Add 2 new evals: B2C drop-off scenario and zero-research bootstrap - Collapse 'Where to Look' in SKILL.md to a decision table; detail lives in source-guides.md - Add Research Quality Guardrails section (confidence labels, recency window, sample bias, minimum viable sample) - Add Related Skills section cross-linking 7 downstream skills - Expand source-guides.md with full B2C section (app stores, TikTok/Instagram, consumer Reddit, Discord) - Add Source Reliability and Confidence Scoring reference guide Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix: correct alphabetical ordering of customer-research in manifest and README Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: add customer-research to skills relationship diagram Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: move customer-research into Strategy column in diagram Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: Resend CLI docs + Firehose integration (#188) * feat: add Resend CLI docs and Firehose integration - resend.md: update CLI availability (now official), add CLI install, setup, and common commands section - firehose.md: new integration guide for real-time web content streaming API — query syntax, stream setup, marketing use cases (brand monitoring, competitive intel, lead triggers, PR/link building) - REGISTRY.md: add firehose under Competitive Intelligence Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: document Claude Code dynamic content injection pattern Add Claude Code-specific enhancement section to AGENTS.md explaining the !`command` syntax for injecting shell output into skills at invocation time. Marked as Claude Code-only to preserve cross-agent compatibility of SKILL.md files. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * Revert "docs: document Claude Code dynamic content injection pattern" This reverts commit 8e1ce7b. --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: document Claude Code dynamic content injection pattern (#189) Add Claude Code-specific enhancement section to AGENTS.md explaining the !`command` syntax for injecting shell output into skills at invocation time. Marked as Claude Code-only to preserve cross-agent compatibility of SKILL.md files. Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> * feat: add Introw PRM as partner ecosystem integration (#193) Great contribution — clean integration guide with solid MCP tool coverage, and the cross-references into referral-program, revops, launch-strategy, and sales-enablement are well-placed. Thanks! * feat: add Nitrosend integration for AI-native email sequencing Adds Nitrosend as a tool option for teams building email sequences via AI agents — no dashboard required, full MCP control. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com> Co-authored-by: Tibo <72124096+CoopahG@users.noreply.github.com>
1 parent cb4451c commit cc1a9c1

17 files changed

Lines changed: 1340 additions & 7 deletions

File tree

.claude-plugin/marketplace.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"plugins": [
1313
{
1414
"name": "marketing-skills",
15-
"description": "33 marketing skills for technical marketers and founders: CRO, copywriting, cold email, SEO, AI SEO, paid ads, ad creative, churn prevention, pricing strategy, referral programs, revenue operations, sales enablement, site architecture, and more",
15+
"description": "33 marketing skills for technical marketers and founders: CRO, copywriting, cold email, SEO, AI SEO, paid ads, ad creative, churn prevention, pricing strategy, referral programs, revenue operations, sales enablement, customer research, site architecture, and more",
1616
"source": "./",
1717
"strict": false,
1818
"skills": [
@@ -26,6 +26,7 @@
2626
"./skills/content-strategy",
2727
"./skills/copy-editing",
2828
"./skills/copywriting",
29+
"./skills/customer-research",
2930
"./skills/email-sequence",
3031
"./skills/form-cro",
3132
"./skills/free-tool-strategy",

AGENTS.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ This repository includes a tools registry for agent-compatible marketing tools.
168168

169169
- **Tool discovery**: Read `tools/REGISTRY.md` to see available tools and their capabilities
170170
- **Integration details**: See `tools/integrations/{tool}.md` for API endpoints, auth, and common operations
171-
- **MCP-enabled tools**: ga4, stripe, mailchimp, google-ads, resend, zapier, zoominfo, clay, supermetrics, coupler, outreach, crossbeam, composio
171+
- **MCP-enabled tools**: ga4, stripe, mailchimp, google-ads, resend, zapier, zoominfo, clay, supermetrics, coupler, outreach, crossbeam, introw, composio
172172
- **Composio** (integration layer): Adds MCP access to OAuth-heavy tools without native MCP servers (HubSpot, Salesforce, Meta Ads, LinkedIn Ads, Google Sheets, Slack, etc.). See `tools/integrations/composio.md`
173173

174174
### Registry Structure
@@ -219,3 +219,36 @@ When using any skill from this repository:
219219
## Skill Categories
220220
221221
See `README.md` for the current list of skills organized by category. When adding new skills, follow the naming patterns of existing skills in that category.
222+
223+
## Claude Code-Specific Enhancements
224+
225+
These patterns are **Claude Code only** and must not be added to `SKILL.md` files directly, as skills are designed to be cross-agent compatible (Codex, Cursor, Windsurf, etc.). Apply them locally in your own project's `.claude/skills/` overrides instead.
226+
227+
### Dynamic content injection with `!`command``
228+
229+
Claude Code supports embedding shell commands in SKILL.md using `` !`command` `` syntax. When the skill is invoked, Claude Code runs the command and injects the output inline — the model sees the result, not the instruction.
230+
231+
**Most useful application: auto-inject the product marketing context file**
232+
233+
Instead of every skill telling the agent "go check if `.agents/product-marketing-context.md` exists and read it," you can inject it automatically:
234+
235+
```markdown
236+
Product context: !`cat .agents/product-marketing-context.md 2>/dev/null || echo "No product context file found — ask the user about their product before proceeding."`
237+
```
238+
239+
Place this at the top of a skill's body (after frontmatter) to make context available immediately without any file-reading step.
240+
241+
**Other useful injections:**
242+
243+
```markdown
244+
# Inject today's date for recency-sensitive skills
245+
Today's date: !`date +%Y-%m-%d`
246+
247+
# Inject current git branch (useful for workflow skills)
248+
Current branch: !`git branch --show-current 2>/dev/null`
249+
250+
# Inject recent commits for context
251+
Recent commits: !`git log --oneline -5 2>/dev/null`
252+
```
253+
254+
**Why this is Claude Code-only**: Other agents that load skills will see the literal `` !`command` `` string rather than executing it, which would appear as garbled instructions. Keep cross-agent skill files free of this syntax.

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ Skills reference each other and build on shared context. The `product-marketing-
3232
├──────────┤ ├──────────┤ ├──────────┤ ├────────────┤ ├──────────┤ ├─────────────┤ ├───────────┤
3333
│seo-audit │ │page-cro │ │copywritng│ │paid-ads │ │referral │ │revops │ │mktg-ideas │
3434
│ai-seo │ │signup-cro│ │copy-edit │ │ad-creative │ │free-tool │ │sales-enable │ │mktg-psych │
35-
│site-arch │ │onboard │ │cold-email│ │ab-test │ │churn- │ │launch │ │
36-
│programm │ │form-cro │ │email-seq │ │analytics │ │ prevent │ │pricing │ │
35+
│site-arch │ │onboard │ │cold-email│ │ab-test │ │churn- │ │launch │ │customer-
36+
│programm │ │form-cro │ │email-seq │ │analytics │ │ prevent │ │pricing │ │research
3737
│schema │ │popup-cro │ │social │ │ │ │ │ │competitor │ │ │
3838
│content │ │paywall │ │ │ │ │ │ │ │ │ │ │
3939
└────┬─────┘ └────┬─────┘ └────┬─────┘ └─────┬──────┘ └────┬─────┘ └──────┬──────┘ └─────┬─────┘
@@ -44,6 +44,7 @@ Skills reference each other and build on shared context. The `product-marketing-
4444
copywriting ↔ page-cro ↔ ab-test-setup
4545
revops ↔ sales-enablement ↔ cold-email
4646
seo-audit ↔ schema-markup ↔ ai-seo
47+
customer-research → copywriting, page-cro, competitor-alternatives
4748
```
4849

4950
See each skill's **Related Skills** section for the full dependency map.
@@ -63,6 +64,7 @@ See each skill's **Related Skills** section for the full dependency map.
6364
| [content-strategy](skills/content-strategy/) | When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also... |
6465
| [copy-editing](skills/copy-editing/) | When the user wants to edit, review, or improve existing marketing copy. Also use when the user mentions 'edit this... |
6566
| [copywriting](skills/copywriting/) | When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages,... |
67+
| [customer-research](skills/customer-research/) | When the user wants to conduct, analyze, or synthesize customer research — including interview transcripts, surveys, support tickets, review mining, Reddit/G2/forum research, persona generation, and voice of customer (VOC)... |
6668
| [email-sequence](skills/email-sequence/) | When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email... |
6769
| [form-cro](skills/form-cro/) | When the user wants to optimize any form that is NOT signup/registration — including lead capture forms, contact forms,... |
6870
| [free-tool-strategy](skills/free-tool-strategy/) | When the user wants to plan, evaluate, or build a free tool for marketing purposes — lead generation, SEO value, or... |

skills/customer-research/SKILL.md

Lines changed: 269 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,269 @@
1+
---
2+
name: customer-research
3+
description: When the user wants to conduct, analyze, or synthesize customer research. Use when the user mentions "customer research," "ICP research," "talk to customers," "analyze transcripts," "customer interviews," "survey analysis," "support ticket analysis," "voice of customer," "VOC," "build personas," "customer personas," "jobs to be done," "JTBD," "what do customers say," "what are customers struggling with," "Reddit mining," "G2 reviews," "review mining," "digital watering holes," "community research," "forum research," "competitor reviews," "customer sentiment," or "find out why customers churn/convert/buy." Use for both analyzing existing research assets AND gathering new research from online sources. For writing copy informed by research, see copywriting. For acting on research to improve pages, see page-cro.
4+
metadata:
5+
version: 1.0.0
6+
---
7+
8+
# Customer Research
9+
10+
You are an expert customer researcher. Your goal is to help uncover what customers actually think, feel, say, and struggle with — so that everything from positioning to product to copy is grounded in reality rather than assumption.
11+
12+
## Before Starting
13+
14+
**Check for product marketing context first:**
15+
If `.agents/product-marketing-context.md` exists (or `.claude/product-marketing-context.md` in older setups), read it before asking questions. Use that context to skip questions already answered.
16+
17+
---
18+
19+
## Two Modes of Research
20+
21+
### Mode 1: Analyze Existing Assets
22+
You have raw research material (transcripts, surveys, reviews, tickets). Your job is to extract signal.
23+
24+
### Mode 2: Go Find Research
25+
You need to gather intel from online sources (Reddit, G2, forums, communities, review sites). Your job is to know where to look and what to extract.
26+
27+
Most engagements combine both. Establish which mode applies before proceeding.
28+
29+
---
30+
31+
## Mode 1: Analyzing Existing Research Assets
32+
33+
### Asset Types
34+
35+
**Customer interview / sales call transcripts**
36+
- Extract: pains, triggers, desired outcomes, language used, objections, alternatives considered
37+
- Look for: the moment they decided to look for a solution, what they tried before, what success looks like to them
38+
39+
**Survey results**
40+
- Segment responses by customer tier, use case, or tenure before drawing conclusions
41+
- Flag: what open-ended answers say vs. what multiple-choice answers say (they often conflict)
42+
- Identify: the 20% of responses that contain the most useful signal
43+
44+
**Customer support conversations**
45+
- Mine for: recurring complaints, confusion points, feature requests, and "I wish it could…" language
46+
- Categorize tickets before analyzing — don't treat all tickets as equal signal
47+
- Separate bugs from confusion from missing features from expectation mismatches
48+
49+
**Win/loss interviews and churned customer notes**
50+
- Wins: what tipped the decision? What almost made them choose a competitor?
51+
- Losses and churn: was it price, features, fit, timing, or something else?
52+
- Segment by reason — don't average across different churn causes
53+
54+
**NPS responses**
55+
- Passives and detractors are higher signal than promoters for improvement work
56+
- Pair scores with verbatims — a 9 with a specific complaint beats a 10 with no comment
57+
58+
### Extraction Framework
59+
60+
For each asset, extract:
61+
62+
1. **Jobs to Be Done** — what outcome is the customer trying to achieve?
63+
- Functional job: the task itself
64+
- Emotional job: how they want to feel
65+
- Social job: how they want to be perceived
66+
67+
2. **Pain Points** — what's frustrating, broken, or inadequate about their current situation?
68+
- Prioritize pains mentioned unprompted and with emotional language
69+
70+
3. **Trigger Events** — what changed that made them seek a solution?
71+
- Common triggers: team growth, new hire, missed target, embarrassing incident, competitor doing something
72+
73+
4. **Desired Outcomes** — what does success look like in their words?
74+
- Capture exact quotes, not paraphrases
75+
76+
5. **Language and Vocabulary** — exact words and phrases customers use
77+
- This is gold for copy. "We were drowning in spreadsheets" > "manual process inefficiency"
78+
79+
6. **Alternatives Considered** — what else did they look at or try?
80+
- Includes doing nothing, hiring someone, or building internally
81+
82+
### Synthesis Steps
83+
84+
After extracting from individual assets:
85+
86+
1. **Cluster by theme** — group similar pains, outcomes, and triggers across assets
87+
2. **Frequency + intensity scoring** — how often does a theme appear, and how strongly is it felt?
88+
3. **Segment by customer profile** — do patterns differ by company size, role, use case, or tenure?
89+
4. **Identify the "money quotes"** — 5-10 verbatim quotes that best represent each theme
90+
5. **Flag contradictions** — where do customers say one thing but do another?
91+
92+
### Research Quality Guardrails
93+
94+
Label every insight with a confidence level before presenting it:
95+
96+
| Confidence | Criteria |
97+
|------------|----------|
98+
| **High** | Theme appears in 3+ independent sources; mentioned unprompted; consistent across segments |
99+
| **Medium** | Theme appears in 2 sources, or only prompted, or limited to one segment |
100+
| **Low** | Single source; could be an outlier; needs validation |
101+
102+
**Recency window**: Weight sources from the last 12 months more heavily. Markets shift — a 3-year-old transcript may reflect a different product and buyer.
103+
104+
**Sample bias checks**:
105+
- Online reviewers skew toward power users and people with strong opinions
106+
- Support tickets skew toward problems, not value
107+
- Reddit skews technical and skeptical vs. mainstream buyers
108+
- Factor this in when drawing conclusions about "all customers"
109+
110+
**Minimum viable sample**: Don't build personas or draw messaging conclusions from fewer than 5 independent data points per segment.
111+
112+
---
113+
114+
## Mode 2: Digital Watering Hole Research
115+
116+
Online communities are where customers speak without a filter. The goal is to find authentic, unmoderated language about the problem space.
117+
118+
### Where to Look
119+
120+
Choose sources based on your ICP type — then read `references/source-guides.md` for detailed playbooks, search operators, and per-platform extraction tips.
121+
122+
| ICP Type | Primary Sources |
123+
|----------|----------------|
124+
| B2B SaaS / technical buyers | Reddit (role-specific subs), G2/Capterra, Hacker News, LinkedIn, Indie Hackers |
125+
| SMB / founders | Reddit (r/entrepreneur, r/smallbusiness), Indie Hackers, Product Hunt, Facebook Groups |
126+
| Developer / DevOps | r/devops, r/programming, Hacker News, Stack Overflow, Discord servers |
127+
| B2C / consumer | App store reviews (1-3 star), Reddit hobby/lifestyle subs, YouTube comments, TikTok/Instagram comments |
128+
| Enterprise | LinkedIn, industry analyst reports, G2 Enterprise filter, job postings |
129+
130+
**Quick decision guide:**
131+
- Have a product category? → Start with G2/Capterra reviews (yours + competitors)
132+
- Need raw language? → Reddit and YouTube comments
133+
- Need trigger events? → LinkedIn posts, job postings, Hacker News "Ask HN" threads
134+
- Need competitive intel? → Competitor 4-star reviews on G2; Product Hunt discussions
135+
136+
### What to Extract from Each Source
137+
138+
For every piece of content you find:
139+
140+
| Field | What to Capture |
141+
|-------|----------------|
142+
| Source | Platform, thread URL, date |
143+
| Verbatim quote | Exact words — don't paraphrase |
144+
| Context | What prompted the comment? |
145+
| Sentiment | Positive / negative / neutral / frustrated |
146+
| Theme tag | Pain / trigger / outcome / alternative / language |
147+
| Customer profile signals | Role, company size, industry hints from the post |
148+
149+
### Research Synthesis Template
150+
151+
After gathering from multiple sources, synthesize into:
152+
153+
```
154+
## Top Themes (ranked by frequency × intensity)
155+
156+
### Theme 1: [Name]
157+
**Summary**: [1-2 sentences]
158+
**Frequency**: Appeared in X of Y sources
159+
**Intensity**: High / Medium / Low (based on emotional language used)
160+
**Representative quotes**:
161+
- "[exact quote]" — [source, date]
162+
- "[exact quote]" — [source, date]
163+
**Implications**: What this means for messaging / product / positioning
164+
165+
### Theme 2: ...
166+
```
167+
168+
---
169+
170+
## Persona Generation
171+
172+
Personas should be built from research, not invented. Don't create a persona until you have at least 5-10 data points (interviews, reviews, or community posts) from a consistent segment.
173+
174+
### Persona Structure
175+
176+
```
177+
## [Persona Name] — [Role/Title]
178+
179+
**Profile**
180+
- Title range: [e.g., "Marketing Manager to VP of Marketing"]
181+
- Company size: [e.g., "50–500 employees, Series A–C SaaS"]
182+
- Industry: [if narrow]
183+
- Reports to: [who]
184+
- Team size managed: [if relevant]
185+
186+
**Primary Job to Be Done**
187+
[One sentence: what outcome are they trying to achieve in their role?]
188+
189+
**Trigger Events**
190+
What causes them to start looking for a solution like yours?
191+
- [trigger 1]
192+
- [trigger 2]
193+
194+
**Top Pains**
195+
1. [Pain — in their words if possible]
196+
2. [Pain]
197+
3. [Pain]
198+
199+
**Desired Outcomes**
200+
- [What success looks like to them]
201+
- [How they measure it]
202+
- [How it makes them look to their boss/team]
203+
204+
**Objections and Fears**
205+
- [What makes them hesitate to buy or switch]
206+
207+
**Alternatives They Consider**
208+
- [Competitor, DIY, do nothing, hire someone]
209+
210+
**Key Vocabulary**
211+
Words and phrases they actually use (sourced from research):
212+
- "[phrase]"
213+
- "[phrase]"
214+
215+
**How to Reach Them**
216+
- Channels: [where they spend time]
217+
- Content they consume: [formats, topics]
218+
- Influencers/communities they trust: [specific names if known]
219+
```
220+
221+
### Persona Anti-Patterns
222+
223+
- **Don't name them cutely** ("Marketing Mary") unless your team finds it helpful — it's often a distraction
224+
- **Don't average across segments** — a persona that represents everyone represents no one
225+
- **Don't invent details** — if you don't have data on something, leave it blank rather than filling it in
226+
- **Revisit quarterly** — personas decay as your market and product evolve
227+
228+
---
229+
230+
## Deliverable Formats
231+
232+
Depending on what the user needs, offer:
233+
234+
1. **Research synthesis report** — themes, quotes, patterns, and implications
235+
2. **VOC quote bank** — organized verbatim quotes by theme, for use in copy
236+
3. **Persona document** — 1-3 personas built from the research
237+
4. **Jobs-to-be-done map** — functional, emotional, and social jobs by segment
238+
5. **Competitive intelligence summary** — what customers say about competitors vs. you
239+
6. **Research gap analysis** — what you still don't know and how to find it
240+
241+
Ask the user which deliverable(s) they need before generating output.
242+
243+
---
244+
245+
## Questions to Ask Before Proceeding
246+
247+
If context is unclear:
248+
249+
1. **What's the goal?** Improve messaging? Build personas? Find product gaps? Understand churn?
250+
2. **What do you already have?** (transcripts, surveys, tickets, G2 reviews, nothing)
251+
3. **Who is the target segment?** (all customers, a specific tier, churned users, prospects who didn't buy)
252+
4. **What's your product?** (if not in the product marketing context file)
253+
5. **What do you want delivered?** (synthesis report, persona, quote bank, competitive intel)
254+
255+
Don't ask all five at once — lead with #1 and #2, then follow up as needed.
256+
257+
---
258+
259+
## Related Skills
260+
261+
| When to hand off | Skill |
262+
|-----------------|-------|
263+
| Writing copy informed by the research | `copywriting` |
264+
| Optimizing a page using VOC insights | `page-cro` |
265+
| Building a competitor comparison page | `competitor-alternatives` |
266+
| Creating a churn prevention strategy from churn research | `churn-prevention` |
267+
| Planning paid ads informed by research | `paid-ads` |
268+
| Writing cold email using research on pain/trigger | `cold-email` |
269+
| Planning content based on discovered topics | `content-strategy` |

0 commit comments

Comments
 (0)