@shashwatgtmalpha/craft-content-mcp 1.0.1 → 2.0.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/README.md +150 -123
- package/dist/case-study-generator.d.ts +12 -0
- package/dist/case-study-generator.d.ts.map +1 -0
- package/dist/case-study-generator.js +373 -0
- package/dist/case-study-generator.js.map +1 -0
- package/dist/content-improver.d.ts +8 -0
- package/dist/content-improver.d.ts.map +1 -0
- package/dist/content-improver.js +238 -0
- package/dist/content-improver.js.map +1 -0
- package/dist/content-repurposer.d.ts +8 -0
- package/dist/content-repurposer.d.ts.map +1 -0
- package/dist/content-repurposer.js +423 -0
- package/dist/content-repurposer.js.map +1 -0
- package/dist/index.js +86 -1236
- package/dist/index.js.map +1 -1
- package/dist/newsletter-builder.d.ts +10 -0
- package/dist/newsletter-builder.d.ts.map +1 -0
- package/dist/newsletter-builder.js +411 -0
- package/dist/newsletter-builder.js.map +1 -0
- package/dist/sales-enablement.d.ts +11 -0
- package/dist/sales-enablement.d.ts.map +1 -0
- package/dist/sales-enablement.js +455 -0
- package/dist/sales-enablement.js.map +1 -0
- package/dist/testimonial-capture.d.ts +11 -0
- package/dist/testimonial-capture.d.ts.map +1 -0
- package/dist/testimonial-capture.js +424 -0
- package/dist/testimonial-capture.js.map +1 -0
- package/dist/thought-leadership.d.ts +10 -0
- package/dist/thought-leadership.d.ts.map +1 -0
- package/dist/thought-leadership.js +475 -0
- package/dist/thought-leadership.js.map +1 -0
- package/dist/tools.d.ts +3 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +210 -0
- package/dist/tools.js.map +1 -0
- package/dist/utils.d.ts +40 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +289 -0
- package/dist/utils.js.map +1 -0
- package/dist/webinar-script.d.ts +11 -0
- package/dist/webinar-script.d.ts.map +1 -0
- package/dist/webinar-script.js +457 -0
- package/dist/webinar-script.js.map +1 -0
- package/package.json +47 -49
package/dist/index.js
CHANGED
|
@@ -1,1244 +1,94 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
source_content: { type: "string", description: "Original content" },
|
|
68
|
-
source_type: { type: "string", description: "Type: blog, webinar, podcast" },
|
|
69
|
-
key_message: { type: "string", description: "Core message" },
|
|
70
|
-
audience: { type: "string", description: "Target audience" },
|
|
71
|
-
brand_voice: { type: "string", description: "Brand voice" }
|
|
72
|
-
},
|
|
73
|
-
required: ["source_content", "source_type", "key_message"]
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
name: "thought_leadership_series",
|
|
78
|
-
description: "Generate 5-post LinkedIn series with interconnected themes, hooks, and engagement prompts.",
|
|
79
|
-
inputSchema: {
|
|
80
|
-
type: "object",
|
|
81
|
-
properties: {
|
|
82
|
-
topic: { type: "string", description: "Overarching topic" },
|
|
83
|
-
perspective: { type: "string", description: "Your unique angle" },
|
|
84
|
-
author_role: { type: "string", description: "Author title and expertise" },
|
|
85
|
-
audience: { type: "string", description: "Target audience" },
|
|
86
|
-
goal: { type: "string", description: "Goal: awareness, leads, thought leadership" },
|
|
87
|
-
controversial_take: { type: "string", description: "Contrarian view to include" }
|
|
88
|
-
},
|
|
89
|
-
required: ["topic", "perspective", "author_role", "audience"]
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
name: "testimonial_capture",
|
|
94
|
-
description: "Generate testimonial request emails, interview questions, and formatted output templates.",
|
|
95
|
-
inputSchema: {
|
|
96
|
-
type: "object",
|
|
97
|
-
properties: {
|
|
98
|
-
customer_name: { type: "string", description: "Customer contact name" },
|
|
99
|
-
customer_company: { type: "string", description: "Customer company" },
|
|
100
|
-
relationship_context: { type: "string", description: "Relationship context" },
|
|
101
|
-
use_case: { type: "string", description: "Use case to highlight" },
|
|
102
|
-
format_needed: { type: "string", description: "Formats: quote, video, case study" },
|
|
103
|
-
your_name: { type: "string", description: "Your name" },
|
|
104
|
-
your_company: { type: "string", description: "Your company" }
|
|
105
|
-
},
|
|
106
|
-
required: ["customer_name", "customer_company", "use_case", "your_company"]
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
{
|
|
110
|
-
name: "sales_enablement_content",
|
|
111
|
-
description: "Generate pitch scripts (30s/2min/5min), objection handlers, discovery questions, competitive responses.",
|
|
112
|
-
inputSchema: {
|
|
113
|
-
type: "object",
|
|
114
|
-
properties: {
|
|
115
|
-
product: { type: "string", description: "Product name" },
|
|
116
|
-
value_props: { type: "string", description: "Key value propositions" },
|
|
117
|
-
target_persona: { type: "string", description: "Target buyer" },
|
|
118
|
-
common_objections: { type: "string", description: "Common objections" },
|
|
119
|
-
competitors: { type: "string", description: "Main competitors" },
|
|
120
|
-
price_range: { type: "string", description: "Pricing context" },
|
|
121
|
-
key_metrics: { type: "string", description: "Success metrics" }
|
|
2
|
+
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
5
|
+
import { tools } from "./tools.js";
|
|
6
|
+
import { generateCaseStudy } from "./case-study-generator.js";
|
|
7
|
+
import { generateNewsletter } from "./newsletter-builder.js";
|
|
8
|
+
import { generateWebinarScript } from "./webinar-script.js";
|
|
9
|
+
import { generateContentRepurposer } from "./content-repurposer.js";
|
|
10
|
+
import { generateThoughtLeadership } from "./thought-leadership.js";
|
|
11
|
+
import { generateTestimonialCapture } from "./testimonial-capture.js";
|
|
12
|
+
import { generateSalesEnablement } from "./sales-enablement.js";
|
|
13
|
+
import { generateContentImprover } from "./content-improver.js";
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// SERVER SETUP
|
|
16
|
+
// ============================================================================
|
|
17
|
+
const server = new Server({
|
|
18
|
+
name: "@shashwatgtm/craft-content-mcp",
|
|
19
|
+
version: "2.0.0",
|
|
20
|
+
}, {
|
|
21
|
+
capabilities: {
|
|
22
|
+
tools: {},
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
// List tools handler
|
|
26
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
27
|
+
return { tools };
|
|
28
|
+
});
|
|
29
|
+
// Call tool handler
|
|
30
|
+
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
31
|
+
const { name, arguments: args } = request.params;
|
|
32
|
+
try {
|
|
33
|
+
let result;
|
|
34
|
+
switch (name) {
|
|
35
|
+
case "case_study_generator":
|
|
36
|
+
result = generateCaseStudy(args);
|
|
37
|
+
break;
|
|
38
|
+
case "newsletter_builder":
|
|
39
|
+
result = generateNewsletter(args);
|
|
40
|
+
break;
|
|
41
|
+
case "webinar_script":
|
|
42
|
+
result = generateWebinarScript(args);
|
|
43
|
+
break;
|
|
44
|
+
case "content_repurposer":
|
|
45
|
+
result = generateContentRepurposer(args);
|
|
46
|
+
break;
|
|
47
|
+
case "thought_leadership_series":
|
|
48
|
+
result = generateThoughtLeadership(args);
|
|
49
|
+
break;
|
|
50
|
+
case "testimonial_capture":
|
|
51
|
+
result = generateTestimonialCapture(args);
|
|
52
|
+
break;
|
|
53
|
+
case "sales_enablement_content":
|
|
54
|
+
result = generateSalesEnablement(args);
|
|
55
|
+
break;
|
|
56
|
+
case "craft_content_improver":
|
|
57
|
+
result = generateContentImprover(args);
|
|
58
|
+
break;
|
|
59
|
+
default:
|
|
60
|
+
throw new Error(`Unknown tool: ${name}`);
|
|
61
|
+
}
|
|
62
|
+
return {
|
|
63
|
+
content: [
|
|
64
|
+
{
|
|
65
|
+
type: "text",
|
|
66
|
+
text: result,
|
|
122
67
|
},
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
content_type: { type: "string", description: "Type: email, blog, social" },
|
|
134
|
-
goal: { type: "string", description: "Content goal" },
|
|
135
|
-
audience: { type: "string", description: "Target audience" },
|
|
136
|
-
constraints: { type: "string", description: "Constraints" }
|
|
68
|
+
],
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
73
|
+
return {
|
|
74
|
+
content: [
|
|
75
|
+
{
|
|
76
|
+
type: "text",
|
|
77
|
+
text: `Error executing ${name}: ${errorMessage}`,
|
|
137
78
|
},
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
}));
|
|
143
|
-
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
144
|
-
const { name, arguments: args } = request.params;
|
|
145
|
-
const a = args;
|
|
146
|
-
const tools = {
|
|
147
|
-
case_study_generator: () => generateCaseStudy(a),
|
|
148
|
-
newsletter_builder: () => generateNewsletter(a),
|
|
149
|
-
webinar_script: () => generateWebinar(a),
|
|
150
|
-
content_repurposer: () => repurposeContent(a),
|
|
151
|
-
thought_leadership_series: () => generateThoughtLeadership(a),
|
|
152
|
-
testimonial_capture: () => generateTestimonialKit(a),
|
|
153
|
-
sales_enablement_content: () => generateSalesContent(a),
|
|
154
|
-
craft_content_improver: () => improveContent(a)
|
|
155
|
-
};
|
|
156
|
-
const output = tools[name]?.() || `Unknown tool: ${name}`;
|
|
157
|
-
return { content: [{ type: "text", text: output }] };
|
|
79
|
+
],
|
|
80
|
+
isError: true,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
158
83
|
});
|
|
159
|
-
|
|
160
|
-
return `# 📊 CASE STUDY: ${a.customer_name}
|
|
161
|
-
|
|
162
|
-
| **Customer** | ${a.customer_name} | **Industry** | ${a.customer_industry || "Technology"} |
|
|
163
|
-
|-------------|-------------------|-------------|-----------------|
|
|
164
|
-
| **Size** | ${a.customer_size || "N/A"} | **Product** | ${a.your_product} |
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
# FULL CASE STUDY
|
|
169
|
-
|
|
170
|
-
## Executive Summary
|
|
171
|
-
${a.customer_name} faced ${a.challenge.toLowerCase()}. After implementing ${a.your_product}, they achieved ${a.results}.
|
|
172
|
-
|
|
173
|
-
## The Challenge
|
|
174
|
-
${a.challenge}
|
|
175
|
-
|
|
176
|
-
**Impact Before:**
|
|
177
|
-
- Pain point 1: [Quantify]
|
|
178
|
-
- Pain point 2: [Quantify]
|
|
179
|
-
|
|
180
|
-
> "${a.quote || `${a.challenge} was costing us significant time and resources.`}"
|
|
181
|
-
> — [Champion], [Title], ${a.customer_name}
|
|
182
|
-
|
|
183
|
-
## The Solution
|
|
184
|
-
**Why ${a.your_product}:**
|
|
185
|
-
${a.solution}
|
|
186
|
-
|
|
187
|
-
**Key Features Used:**
|
|
188
|
-
- Feature 1: [How it helped]
|
|
189
|
-
- Feature 2: [How it helped]
|
|
190
|
-
|
|
191
|
-
## The Results
|
|
192
|
-
${a.results}
|
|
193
|
-
|
|
194
|
-
| Metric | Before | After | Improvement |
|
|
195
|
-
|--------|--------|-------|-------------|
|
|
196
|
-
| [Metric 1] | | | |
|
|
197
|
-
| [Metric 2] | | | |
|
|
198
|
-
|
|
199
|
-
> "${a.your_product} transformed our operations. ${a.results}"
|
|
200
|
-
> — [Champion], [Title], ${a.customer_name}
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
# ONE-PAGER
|
|
205
|
-
|
|
206
|
-
## ${a.customer_name} + ${a.your_product}
|
|
207
|
-
|
|
208
|
-
**Challenge:** ${a.challenge}
|
|
209
|
-
**Solution:** ${a.solution}
|
|
210
|
-
**Results:** ${a.results}
|
|
211
|
-
|
|
212
|
-
> "${a.quote || 'Quote placeholder'}"
|
|
213
|
-
|
|
214
|
-
**[CTA Button]**
|
|
215
|
-
|
|
216
|
-
---
|
|
217
|
-
|
|
218
|
-
# SOCIAL SNIPPETS
|
|
219
|
-
|
|
220
|
-
## LinkedIn (Long)
|
|
221
|
-
🎯 How ${a.customer_name} achieved ${a.results.split('.')[0]}
|
|
222
|
-
|
|
223
|
-
The challenge: ${a.challenge}
|
|
224
|
-
|
|
225
|
-
The solution: ${a.your_product}
|
|
226
|
-
|
|
227
|
-
📈 Results: ${a.results}
|
|
228
|
-
|
|
229
|
-
Full story: [Link]
|
|
230
|
-
|
|
231
|
-
#CustomerSuccess #CaseStudy
|
|
232
|
-
|
|
233
|
-
## LinkedIn (Short)
|
|
234
|
-
${a.customer_name} was struggling with ${a.challenge.substring(0, 50)}...
|
|
235
|
-
|
|
236
|
-
After ${a.your_product}:
|
|
237
|
-
→ ${a.results.split('.')[0]}
|
|
238
|
-
|
|
239
|
-
Sometimes the right tool makes all the difference.
|
|
240
|
-
|
|
241
|
-
## Twitter Thread
|
|
242
|
-
1/ How @${a.customer_name.replace(/\s/g, '')} solved ${a.challenge.substring(0, 50)}... 🧵
|
|
243
|
-
|
|
244
|
-
2/ Problem: ${a.challenge}
|
|
245
|
-
|
|
246
|
-
3/ Solution: ${a.your_product}
|
|
247
|
-
|
|
248
|
-
4/ Results: ${a.results}
|
|
249
|
-
|
|
250
|
-
5/ Full story: [Link]
|
|
251
|
-
|
|
252
|
-
---
|
|
253
|
-
*Generated by CRAFT Content MCP | gtmexpert.com*`;
|
|
254
|
-
}
|
|
255
|
-
function generateNewsletter(a) {
|
|
256
|
-
return `# 📧 NEWSLETTER: ${a.newsletter_name}
|
|
257
|
-
|
|
258
|
-
**Topic:** ${a.topic}
|
|
259
|
-
**Audience:** ${a.audience}
|
|
260
|
-
**Tone:** ${a.tone || "Professional"}
|
|
261
|
-
**CTA:** ${a.cta || "Not specified"}
|
|
262
|
-
|
|
263
|
-
## Key Points
|
|
264
|
-
${a.key_points}
|
|
265
|
-
|
|
266
|
-
---
|
|
267
|
-
|
|
268
|
-
# SUBJECT LINES (10 Options)
|
|
269
|
-
|
|
270
|
-
1. "${a.topic}: What You Need to Know"
|
|
271
|
-
2. "The Truth About ${a.topic}"
|
|
272
|
-
3. "Why Most Get ${a.topic} Wrong"
|
|
273
|
-
4. "The ${a.topic} Mistake Costing You"
|
|
274
|
-
5. "How to Master ${a.topic}"
|
|
275
|
-
6. "3 Ways ${a.topic} Can Transform [Outcome]"
|
|
276
|
-
7. "5 ${a.topic} Insights That Changed Everything"
|
|
277
|
-
8. "${a.topic} - A Guide for ${a.audience}"
|
|
278
|
-
9. "What Nobody Tells You About ${a.topic}"
|
|
279
|
-
10. "The Fast Track to [Result] with ${a.topic}"
|
|
280
|
-
|
|
281
|
-
---
|
|
282
|
-
|
|
283
|
-
# NEWSLETTER CONTENT
|
|
284
|
-
|
|
285
|
-
## Preview Text
|
|
286
|
-
"${a.topic} insights you won't find anywhere else..."
|
|
287
|
-
|
|
288
|
-
---
|
|
289
|
-
|
|
290
|
-
## HOOK (Choose One)
|
|
291
|
-
|
|
292
|
-
### Option 1: Question
|
|
293
|
-
Have you wondered why ${a.topic.toLowerCase()} seems complicated? This week, I'm breaking it down.
|
|
294
|
-
|
|
295
|
-
### Option 2: Story
|
|
296
|
-
Last week, I learned something that changed how I think about ${a.topic.toLowerCase()}...
|
|
297
|
-
|
|
298
|
-
### Option 3: Stat
|
|
299
|
-
Did you know [statistic about ${a.topic}]? That's why this issue is dedicated to ${a.topic.toLowerCase()}.
|
|
300
|
-
|
|
301
|
-
### Option 4: Contrarian
|
|
302
|
-
Everything you've heard about ${a.topic.toLowerCase()} might be wrong. Let me explain...
|
|
303
|
-
|
|
304
|
-
---
|
|
305
|
-
|
|
306
|
-
## SECTION 1: The Big Idea
|
|
307
|
-
|
|
308
|
-
### ${a.key_points.split('\n')[0] || "Key Point 1"}
|
|
309
|
-
|
|
310
|
-
[Expand - 150 words]
|
|
311
|
-
|
|
312
|
-
**Takeaway:** [One sentence]
|
|
313
|
-
|
|
314
|
-
---
|
|
315
|
-
|
|
316
|
-
## SECTION 2: Deep Dive
|
|
317
|
-
|
|
318
|
-
### ${a.key_points.split('\n')[1] || "Key Point 2"}
|
|
319
|
-
|
|
320
|
-
[Expand - 150 words]
|
|
321
|
-
|
|
322
|
-
What this means:
|
|
323
|
-
- Point A
|
|
324
|
-
- Point B
|
|
325
|
-
- Point C
|
|
326
|
-
|
|
327
|
-
---
|
|
328
|
-
|
|
329
|
-
## SECTION 3: Practical Application
|
|
330
|
-
|
|
331
|
-
### ${a.key_points.split('\n')[2] || "Key Point 3"}
|
|
332
|
-
|
|
333
|
-
[Practical advice - 100 words]
|
|
334
|
-
|
|
335
|
-
**Action item:** [Specific action for today]
|
|
336
|
-
|
|
337
|
-
---
|
|
338
|
-
|
|
339
|
-
## QUICK HITS (Optional)
|
|
340
|
-
- 📖 [Resource 1]: [Why it's valuable]
|
|
341
|
-
- 🎧 [Resource 2]: [Why it's valuable]
|
|
342
|
-
- 🛠️ [Tool]: [Why it's valuable]
|
|
343
|
-
|
|
344
|
-
---
|
|
345
|
-
|
|
346
|
-
## CTA SECTION
|
|
347
|
-
|
|
348
|
-
${a.cta || "[Primary CTA]"}
|
|
349
|
-
|
|
350
|
-
---
|
|
351
|
-
|
|
352
|
-
## SIGN-OFF
|
|
353
|
-
|
|
354
|
-
That's it for this week. Forward to someone who'd benefit.
|
|
355
|
-
|
|
356
|
-
See you next week,
|
|
357
|
-
[Your name]
|
|
358
|
-
|
|
359
|
-
P.S. [Teaser or secondary CTA]
|
|
360
|
-
|
|
361
|
-
---
|
|
362
|
-
|
|
363
|
-
# ENGAGEMENT ELEMENTS
|
|
364
|
-
|
|
365
|
-
**Question:** "What's your biggest challenge with ${a.topic.toLowerCase()}? Reply and let me know."
|
|
366
|
-
|
|
367
|
-
**Social Proof:** "Join [X,XXX] ${a.audience.toLowerCase()} who read ${a.newsletter_name} weekly."
|
|
368
|
-
|
|
369
|
-
---
|
|
370
|
-
*Generated by CRAFT Content MCP | gtmexpert.com*`;
|
|
371
|
-
}
|
|
372
|
-
function generateWebinar(a) {
|
|
373
|
-
const duration = parseInt(a.duration) || 45;
|
|
374
|
-
return `# 🎬 WEBINAR: ${a.title}
|
|
375
|
-
|
|
376
|
-
| **Topic** | ${a.topic} | **Duration** | ${duration} min |
|
|
377
|
-
|-----------|------------|-------------|-----------------|
|
|
378
|
-
| **Speakers** | ${a.speakers} | **Audience** | ${a.audience || "N/A"} |
|
|
379
|
-
| **CTA** | ${a.cta || "Demo/Trial"} | | |
|
|
380
|
-
|
|
381
|
-
## Key Takeaways
|
|
382
|
-
${a.key_takeaways}
|
|
383
|
-
|
|
384
|
-
---
|
|
385
|
-
|
|
386
|
-
# SLIDE-BY-SLIDE SCRIPT
|
|
387
|
-
|
|
388
|
-
## SLIDE 1: Title (30 sec)
|
|
389
|
-
**Visual:** Title, speakers, logo
|
|
390
|
-
|
|
391
|
-
---
|
|
392
|
-
|
|
393
|
-
## SLIDE 2: Welcome (2 min)
|
|
394
|
-
> "Welcome to ${a.title}. I'm ${a.speakers}.
|
|
395
|
-
>
|
|
396
|
-
> Housekeeping: Recording will be sent, use Q&A for questions, say hi in chat.
|
|
397
|
-
>
|
|
398
|
-
> By the end, you'll know:
|
|
399
|
-
> ${a.key_takeaways.split('\n').map(t => `> - ${t}`).join('\n')}"
|
|
400
|
-
|
|
401
|
-
---
|
|
402
|
-
|
|
403
|
-
## SLIDE 3: Why This Matters (3 min)
|
|
404
|
-
> "Let me explain why ${a.topic} matters now.
|
|
405
|
-
>
|
|
406
|
-
> [Share relevant stat]
|
|
407
|
-
>
|
|
408
|
-
> If you're like most ${a.audience || "professionals"}, you've experienced [pain]."
|
|
409
|
-
|
|
410
|
-
**Engagement:** "How many have experienced [challenge]? Drop 1 in chat."
|
|
411
|
-
|
|
412
|
-
---
|
|
413
|
-
|
|
414
|
-
## SLIDE 4: Agenda (1 min)
|
|
415
|
-
> "Here's our roadmap:
|
|
416
|
-
> 1. [Section 1]
|
|
417
|
-
> 2. [Section 2]
|
|
418
|
-
> 3. [Section 3]
|
|
419
|
-
> 4. Q&A
|
|
420
|
-
>
|
|
421
|
-
> Let's go."
|
|
422
|
-
|
|
423
|
-
---
|
|
424
|
-
|
|
425
|
-
## SLIDES 5-8: Section 1 (${Math.floor(duration * 0.25)} min)
|
|
426
|
-
|
|
427
|
-
> "[First key teaching point]
|
|
428
|
-
>
|
|
429
|
-
> Here's why this matters: [connection to pain]
|
|
430
|
-
>
|
|
431
|
-
> For example: [case study/example]"
|
|
432
|
-
|
|
433
|
-
**Visual:** Concept diagram, data
|
|
434
|
-
|
|
435
|
-
---
|
|
436
|
-
|
|
437
|
-
## SLIDES 9-13: Section 2 (${Math.floor(duration * 0.35)} min)
|
|
438
|
-
|
|
439
|
-
> "Now let's get practical.
|
|
440
|
-
>
|
|
441
|
-
> **Step 1:** [Explain]
|
|
442
|
-
> **Step 2:** [Explain]
|
|
443
|
-
> **Step 3:** [Explain]
|
|
444
|
-
>
|
|
445
|
-
> Let me show you..."
|
|
446
|
-
|
|
447
|
-
**Visual:** Steps, screenshots, demo
|
|
448
|
-
|
|
449
|
-
---
|
|
450
|
-
|
|
451
|
-
## SLIDES 14-15: Section 3 (${Math.floor(duration * 0.15)} min)
|
|
452
|
-
|
|
453
|
-
> "For those ready to go further:
|
|
454
|
-
>
|
|
455
|
-
> [Advanced tip 1]
|
|
456
|
-
> [Advanced tip 2]
|
|
457
|
-
>
|
|
458
|
-
> The key insight: [takeaway]"
|
|
459
|
-
|
|
460
|
-
---
|
|
461
|
-
|
|
462
|
-
## SLIDE 16: Recap (2 min)
|
|
463
|
-
> "Let's recap:
|
|
464
|
-
> ${a.key_takeaways.split('\n').map((t, i) => `> ${i + 1}. ${t}`).join('\n')}
|
|
465
|
-
>
|
|
466
|
-
> Remember: [most important point]"
|
|
467
|
-
|
|
468
|
-
---
|
|
469
|
-
|
|
470
|
-
## SLIDE 17: CTA (2 min)
|
|
471
|
-
> "Ready to ${a.cta || "take action"}?
|
|
472
|
-
>
|
|
473
|
-
> [Explain offer]
|
|
474
|
-
>
|
|
475
|
-
> Link is in chat now."
|
|
476
|
-
|
|
477
|
-
---
|
|
478
|
-
|
|
479
|
-
## SLIDE 18: Q&A (${Math.floor(duration * 0.15)} min)
|
|
480
|
-
> "Let's take your questions..."
|
|
481
|
-
|
|
482
|
-
---
|
|
483
|
-
|
|
484
|
-
## SLIDE 19: Close (1 min)
|
|
485
|
-
> "Thank you! Recording coming within 24 hours. Connect on LinkedIn. Have a great day!"
|
|
486
|
-
|
|
487
|
-
---
|
|
488
|
-
|
|
489
|
-
# Q&A PREP
|
|
490
|
-
|
|
491
|
-
| Question | Answer |
|
|
492
|
-
|----------|--------|
|
|
493
|
-
| [Common Q1]? | [Prepared answer] |
|
|
494
|
-
| [Common Q2]? | [Prepared answer] |
|
|
495
|
-
| [Common Q3]? | [Prepared answer] |
|
|
496
|
-
|
|
497
|
-
---
|
|
498
|
-
|
|
499
|
-
# ENGAGEMENT PROMPTS
|
|
500
|
-
|
|
501
|
-
- "Where are you joining from?"
|
|
502
|
-
- "Drop 👋 if [experience]"
|
|
503
|
-
- "What's your biggest challenge?"
|
|
504
|
-
- "Type YES if you want [resource]"
|
|
505
|
-
|
|
506
|
-
---
|
|
507
|
-
|
|
508
|
-
# PRE-WEBINAR CHECKLIST
|
|
509
|
-
|
|
510
|
-
- [ ] Audio/video tested
|
|
511
|
-
- [ ] Slides loaded
|
|
512
|
-
- [ ] Screen share ready
|
|
513
|
-
- [ ] Recording enabled
|
|
514
|
-
- [ ] Links ready for chat
|
|
515
|
-
- [ ] Water nearby
|
|
516
|
-
|
|
517
|
-
---
|
|
518
|
-
*Generated by CRAFT Content MCP | gtmexpert.com*`;
|
|
519
|
-
}
|
|
520
|
-
function repurposeContent(a) {
|
|
521
|
-
return `# 🔄 CONTENT REPURPOSING KIT
|
|
522
|
-
|
|
523
|
-
**Source Type:** ${a.source_type}
|
|
524
|
-
**Key Message:** ${a.key_message}
|
|
525
|
-
**Audience:** ${a.audience || "Not specified"}
|
|
526
|
-
**Voice:** ${a.brand_voice || "Professional"}
|
|
527
|
-
|
|
528
|
-
## Source Content
|
|
529
|
-
\`\`\`
|
|
530
|
-
${a.source_content.substring(0, 300)}...
|
|
531
|
-
\`\`\`
|
|
532
|
-
|
|
533
|
-
---
|
|
534
|
-
|
|
535
|
-
# 10+ REPURPOSED FORMATS
|
|
536
|
-
|
|
537
|
-
## 1. LINKEDIN (Long)
|
|
538
|
-
|
|
539
|
-
${a.key_message}
|
|
540
|
-
|
|
541
|
-
Here's what I've learned:
|
|
542
|
-
|
|
543
|
-
→ **Point 1:** [Extract]
|
|
544
|
-
→ **Point 2:** [Extract]
|
|
545
|
-
→ **Point 3:** [Extract]
|
|
546
|
-
|
|
547
|
-
The bottom line: [Key takeaway]
|
|
548
|
-
|
|
549
|
-
What's your experience? 👇
|
|
550
|
-
|
|
551
|
-
---
|
|
552
|
-
|
|
553
|
-
## 2. LINKEDIN (Short)
|
|
554
|
-
|
|
555
|
-
Hot take: ${a.key_message}
|
|
556
|
-
|
|
557
|
-
Most think [common belief].
|
|
558
|
-
Data shows [counter-point].
|
|
559
|
-
|
|
560
|
-
Agree or disagree?
|
|
561
|
-
|
|
562
|
-
---
|
|
563
|
-
|
|
564
|
-
## 3. LINKEDIN CAROUSEL
|
|
565
|
-
|
|
566
|
-
**Slide 1:** "${a.key_message.substring(0, 50)}..."
|
|
567
|
-
**Slide 2:** [Problem]
|
|
568
|
-
**Slides 3-8:** [Key points]
|
|
569
|
-
**Slide 9:** Summary
|
|
570
|
-
**Slide 10:** CTA
|
|
571
|
-
|
|
572
|
-
---
|
|
573
|
-
|
|
574
|
-
## 4. TWITTER THREAD
|
|
575
|
-
|
|
576
|
-
1/ ${a.key_message} 🧵
|
|
577
|
-
|
|
578
|
-
2/ [First key point]
|
|
579
|
-
|
|
580
|
-
3/ [Second point]
|
|
581
|
-
|
|
582
|
-
4/ [Third point]
|
|
583
|
-
|
|
584
|
-
5/ TL;DR:
|
|
585
|
-
• Point 1
|
|
586
|
-
• Point 2
|
|
587
|
-
• Point 3
|
|
588
|
-
|
|
589
|
-
6/ RT if helpful. Follow for more.
|
|
590
|
-
|
|
591
|
-
---
|
|
592
|
-
|
|
593
|
-
## 5. SINGLE TWEET
|
|
594
|
-
|
|
595
|
-
${a.key_message.substring(0, 200)}
|
|
596
|
-
|
|
597
|
-
[Key insight]
|
|
598
|
-
|
|
599
|
-
[Question/CTA]
|
|
600
|
-
|
|
601
|
-
---
|
|
602
|
-
|
|
603
|
-
## 6. EMAIL SECTION
|
|
604
|
-
|
|
605
|
-
### ${a.key_message.split('.')[0]}
|
|
606
|
-
|
|
607
|
-
[2-3 paragraph summary]
|
|
608
|
-
|
|
609
|
-
**Takeaway:** [One sentence]
|
|
610
|
-
|
|
611
|
-
[Read more: Link]
|
|
612
|
-
|
|
613
|
-
---
|
|
614
|
-
|
|
615
|
-
## 7. BLOG OUTLINE
|
|
616
|
-
|
|
617
|
-
# ${a.key_message}
|
|
618
|
-
|
|
619
|
-
## Introduction
|
|
620
|
-
- Hook
|
|
621
|
-
- Why it matters
|
|
622
|
-
- What you'll learn
|
|
623
|
-
|
|
624
|
-
## Section 1: [Topic]
|
|
625
|
-
## Section 2: [Topic]
|
|
626
|
-
## Section 3: [Topic]
|
|
627
|
-
|
|
628
|
-
## Conclusion
|
|
629
|
-
- Summary
|
|
630
|
-
- CTA
|
|
631
|
-
|
|
632
|
-
---
|
|
633
|
-
|
|
634
|
-
## 8. VIDEO SCRIPT (2-3 min)
|
|
635
|
-
|
|
636
|
-
**HOOK (0:00):** "${a.key_message}"
|
|
637
|
-
|
|
638
|
-
**INTRO (0:15):** "In this video..."
|
|
639
|
-
|
|
640
|
-
**CONTENT (0:30-2:00):**
|
|
641
|
-
- Point 1
|
|
642
|
-
- Point 2
|
|
643
|
-
- Point 3
|
|
644
|
-
|
|
645
|
-
**CTA (2:00):** "Subscribe/like/comment"
|
|
646
|
-
|
|
647
|
-
---
|
|
648
|
-
|
|
649
|
-
## 9. INFOGRAPHIC
|
|
650
|
-
|
|
651
|
-
**Title:** ${a.key_message}
|
|
652
|
-
**Section 1:** [Icon] + Point 1
|
|
653
|
-
**Section 2:** [Icon] + Point 2
|
|
654
|
-
**Section 3:** [Icon] + Point 3
|
|
655
|
-
**Footer:** Logo + CTA
|
|
656
|
-
|
|
657
|
-
---
|
|
658
|
-
|
|
659
|
-
## 10. PODCAST POINTS
|
|
660
|
-
|
|
661
|
-
**Episode:** ${a.key_message}
|
|
662
|
-
|
|
663
|
-
**Discussion (15-20 min):**
|
|
664
|
-
- Context/background
|
|
665
|
-
- Insight 1
|
|
666
|
-
- Insight 2
|
|
667
|
-
- Insight 3
|
|
668
|
-
- Common mistakes
|
|
669
|
-
- What to do instead
|
|
670
|
-
|
|
671
|
-
**Takeaways:** Action items
|
|
672
|
-
|
|
673
|
-
---
|
|
674
|
-
|
|
675
|
-
## 11. SALES SNIPPET
|
|
676
|
-
|
|
677
|
-
"Great question. ${a.key_message}
|
|
678
|
-
|
|
679
|
-
We've found [key insight].
|
|
680
|
-
|
|
681
|
-
For example, [specific example].
|
|
682
|
-
|
|
683
|
-
How does this compare to what you're seeing?"
|
|
684
|
-
|
|
685
|
-
---
|
|
686
|
-
|
|
687
|
-
## 12. QUOTE GRAPHICS
|
|
688
|
-
|
|
689
|
-
1. "${a.key_message.split('.')[0]}."
|
|
690
|
-
2. "[Impactful line from content]"
|
|
691
|
-
3. "[Stat-based quote]"
|
|
692
|
-
|
|
693
|
-
---
|
|
694
|
-
|
|
695
|
-
# DISTRIBUTION SCHEDULE
|
|
696
|
-
|
|
697
|
-
| Day | Platform | Format | Time |
|
|
698
|
-
|-----|----------|--------|------|
|
|
699
|
-
| Mon | LinkedIn | Long | 9 AM |
|
|
700
|
-
| Tue | Twitter | Thread | 12 PM |
|
|
701
|
-
| Wed | Email | Section | 8 AM |
|
|
702
|
-
| Thu | LinkedIn | Short | 10 AM |
|
|
703
|
-
| Fri | Twitter | Tweet | 2 PM |
|
|
704
|
-
|
|
705
|
-
---
|
|
706
|
-
*Generated by CRAFT Content MCP | gtmexpert.com*`;
|
|
707
|
-
}
|
|
708
|
-
function generateThoughtLeadership(a) {
|
|
709
|
-
return `# 💡 THOUGHT LEADERSHIP SERIES
|
|
710
|
-
|
|
711
|
-
**Topic:** ${a.topic}
|
|
712
|
-
**Perspective:** ${a.perspective}
|
|
713
|
-
**Author:** ${a.author_role}
|
|
714
|
-
**Audience:** ${a.audience}
|
|
715
|
-
**Goal:** ${a.goal || "Thought leadership"}
|
|
716
|
-
|
|
717
|
-
---
|
|
718
|
-
|
|
719
|
-
# 5-POST LINKEDIN SERIES
|
|
720
|
-
|
|
721
|
-
## POST 1: The Problem Statement
|
|
722
|
-
|
|
723
|
-
I've spent [X years] in ${a.topic.toLowerCase()}.
|
|
724
|
-
|
|
725
|
-
One thing keeps me up at night:
|
|
726
|
-
|
|
727
|
-
${a.perspective}
|
|
728
|
-
|
|
729
|
-
Most ${a.audience.toLowerCase()} think [common belief].
|
|
730
|
-
|
|
731
|
-
Reality: [contrarian truth].
|
|
732
|
-
|
|
733
|
-
I've seen this play out:
|
|
734
|
-
• [Example 1]
|
|
735
|
-
• [Example 2]
|
|
736
|
-
• [Example 3]
|
|
737
|
-
|
|
738
|
-
Cost of getting it wrong: [Consequence]
|
|
739
|
-
|
|
740
|
-
Over the next weeks, I'm sharing everything I've learned.
|
|
741
|
-
|
|
742
|
-
Follow along if you want to [benefit].
|
|
743
|
-
|
|
744
|
-
What's your experience? 👇
|
|
745
|
-
|
|
746
|
-
---
|
|
747
|
-
|
|
748
|
-
## POST 2: The Counterintuitive Insight
|
|
749
|
-
|
|
750
|
-
Unpopular opinion about ${a.topic.toLowerCase()}:
|
|
751
|
-
|
|
752
|
-
${a.controversial_take || "[Your contrarian take]"}
|
|
753
|
-
|
|
754
|
-
Everyone says [conventional wisdom].
|
|
755
|
-
|
|
756
|
-
After [experience], I've found the opposite.
|
|
757
|
-
|
|
758
|
-
**What everyone does:**
|
|
759
|
-
[Common approach]
|
|
760
|
-
|
|
761
|
-
**Why it fails:**
|
|
762
|
-
• Reason 1
|
|
763
|
-
• Reason 2
|
|
764
|
-
• Reason 3
|
|
765
|
-
|
|
766
|
-
**What actually works:**
|
|
767
|
-
[Your approach]
|
|
768
|
-
|
|
769
|
-
Which camp are you in?
|
|
770
|
-
|
|
771
|
-
---
|
|
772
|
-
|
|
773
|
-
## POST 3: The Framework
|
|
774
|
-
|
|
775
|
-
After [experience] with ${a.topic.toLowerCase()}, I developed a framework.
|
|
776
|
-
|
|
777
|
-
I call it [Framework Name].
|
|
778
|
-
|
|
779
|
-
**Step 1: [Name]**
|
|
780
|
-
[Explanation]
|
|
781
|
-
|
|
782
|
-
**Step 2: [Name]**
|
|
783
|
-
[Explanation]
|
|
784
|
-
|
|
785
|
-
**Step 3: [Name]**
|
|
786
|
-
[Explanation]
|
|
787
|
-
|
|
788
|
-
**Step 4: [Name]**
|
|
789
|
-
[Explanation]
|
|
790
|
-
|
|
791
|
-
This isn't theory. I've used it to [results].
|
|
792
|
-
|
|
793
|
-
Save this post.
|
|
794
|
-
|
|
795
|
-
---
|
|
796
|
-
|
|
797
|
-
## POST 4: The Case Study
|
|
798
|
-
|
|
799
|
-
Let me tell you about [person/company].
|
|
800
|
-
|
|
801
|
-
They struggled with ${a.topic.toLowerCase()}.
|
|
802
|
-
|
|
803
|
-
Nothing worked:
|
|
804
|
-
❌ [Failed approach 1]
|
|
805
|
-
❌ [Failed approach 2]
|
|
806
|
-
❌ [Failed approach 3]
|
|
807
|
-
|
|
808
|
-
Then they [key change].
|
|
809
|
-
|
|
810
|
-
Results:
|
|
811
|
-
📈 [Result 1]
|
|
812
|
-
📈 [Result 2]
|
|
813
|
-
📈 [Result 3]
|
|
814
|
-
|
|
815
|
-
The lesson: ${a.perspective}
|
|
816
|
-
|
|
817
|
-
What would results like this mean for you?
|
|
818
|
-
|
|
819
|
-
---
|
|
820
|
-
|
|
821
|
-
## POST 5: The Call to Action
|
|
822
|
-
|
|
823
|
-
After 4 posts on ${a.topic.toLowerCase()}, remember:
|
|
824
|
-
|
|
825
|
-
**1.** [Summary from Post 1]
|
|
826
|
-
**2.** [Summary from Post 2]
|
|
827
|
-
**3.** [Summary from Post 3]
|
|
828
|
-
**4.** [Summary from Post 4]
|
|
829
|
-
|
|
830
|
-
Knowledge without action is useless.
|
|
831
|
-
|
|
832
|
-
My challenge: Pick ONE thing and implement it this week.
|
|
833
|
-
|
|
834
|
-
Come back and tell me what happened.
|
|
835
|
-
|
|
836
|
-
I read every comment. Let's go. 🚀
|
|
837
|
-
|
|
838
|
-
---
|
|
839
|
-
|
|
840
|
-
# ENGAGEMENT STRATEGY
|
|
841
|
-
|
|
842
|
-
**Best Times:** Tue-Thu, 8-10 AM
|
|
843
|
-
**Spacing:** 2-3 days apart
|
|
844
|
-
**Comments:** Reply within 2 hours
|
|
845
|
-
|
|
846
|
-
**Hashtags:** #${a.topic.replace(/\s/g, '')} #ThoughtLeadership #${a.audience.replace(/\s/g, '')}
|
|
847
|
-
|
|
848
|
-
---
|
|
849
|
-
*Generated by CRAFT Content MCP | gtmexpert.com*`;
|
|
850
|
-
}
|
|
851
|
-
function generateTestimonialKit(a) {
|
|
852
|
-
return `# ⭐ TESTIMONIAL CAPTURE KIT
|
|
853
|
-
|
|
854
|
-
**Contact:** ${a.customer_name}
|
|
855
|
-
**Company:** ${a.customer_company}
|
|
856
|
-
**Context:** ${a.relationship_context || "Current customer"}
|
|
857
|
-
**Use Case:** ${a.use_case}
|
|
858
|
-
**Format:** ${a.format_needed || "Quote, case study"}
|
|
859
|
-
|
|
860
|
-
---
|
|
861
|
-
|
|
862
|
-
# EMAIL 1: Initial Request
|
|
863
|
-
|
|
864
|
-
**Subject:** Quick favor? Share your ${a.your_company} experience
|
|
865
|
-
|
|
866
|
-
Hi ${a.customer_name},
|
|
867
|
-
|
|
868
|
-
Hope you're well! I'm reaching out because you've been a great partner, and I'd love to feature ${a.customer_company}'s success.
|
|
869
|
-
|
|
870
|
-
Your results with ${a.use_case} have been impressive.
|
|
871
|
-
|
|
872
|
-
Would you be open to:
|
|
873
|
-
• A brief testimonial (15-20 min)
|
|
874
|
-
• Providing a written quote
|
|
875
|
-
• A G2/Capterra review
|
|
876
|
-
|
|
877
|
-
I'll make it easy - just 15-20 minutes, and I handle all writing/editing.
|
|
878
|
-
|
|
879
|
-
Interested?
|
|
880
|
-
|
|
881
|
-
${a.your_name || "[Your name]"}
|
|
882
|
-
|
|
883
|
-
---
|
|
884
|
-
|
|
885
|
-
# EMAIL 2: Questions
|
|
886
|
-
|
|
887
|
-
**Subject:** Re: Your questions
|
|
888
|
-
|
|
889
|
-
Hi ${a.customer_name},
|
|
890
|
-
|
|
891
|
-
Thanks for agreeing! Here are the questions:
|
|
892
|
-
|
|
893
|
-
**Before ${a.your_company}:**
|
|
894
|
-
1. What challenge were you facing?
|
|
895
|
-
2. What did you try before?
|
|
896
|
-
3. What was the impact?
|
|
897
|
-
|
|
898
|
-
**Experience:**
|
|
899
|
-
4. Why did you choose ${a.your_company}?
|
|
900
|
-
5. How was implementation?
|
|
901
|
-
6. What features do you use most?
|
|
902
|
-
|
|
903
|
-
**Results:**
|
|
904
|
-
7. What results have you achieved?
|
|
905
|
-
8. How has this impacted your team?
|
|
906
|
-
9. What would you tell someone considering ${a.your_company}?
|
|
907
|
-
|
|
908
|
-
Quick answers are fine - I'll polish them!
|
|
909
|
-
|
|
910
|
-
${a.your_name || "[Your name]"}
|
|
911
|
-
|
|
912
|
-
---
|
|
913
|
-
|
|
914
|
-
# INTERVIEW GUIDE
|
|
915
|
-
|
|
916
|
-
## Opening (2 min)
|
|
917
|
-
- Thank them
|
|
918
|
-
- Explain process
|
|
919
|
-
- Confirm consent
|
|
920
|
-
|
|
921
|
-
## Background (3 min)
|
|
922
|
-
1. "Tell me about your role."
|
|
923
|
-
2. "What does your team focus on?"
|
|
924
|
-
|
|
925
|
-
## Challenge (5 min)
|
|
926
|
-
3. "What challenge led you to ${a.your_company}?"
|
|
927
|
-
4. "What was the impact?"
|
|
928
|
-
5. "What did you try before?"
|
|
929
|
-
|
|
930
|
-
## Solution (5 min)
|
|
931
|
-
6. "Why ${a.your_company}?"
|
|
932
|
-
7. "How was implementation?"
|
|
933
|
-
8. "Key features?"
|
|
934
|
-
|
|
935
|
-
## Results (5 min)
|
|
936
|
-
9. "What results have you seen?"
|
|
937
|
-
10. "Specific metrics?"
|
|
938
|
-
11. "Team impact?"
|
|
939
|
-
|
|
940
|
-
## Recommendation (3 min)
|
|
941
|
-
12. "What would you tell someone considering us?"
|
|
942
|
-
13. "Advice for getting the most value?"
|
|
943
|
-
|
|
944
|
-
---
|
|
945
|
-
|
|
946
|
-
# FORMATTED OUTPUTS
|
|
947
|
-
|
|
948
|
-
## Short Quote
|
|
949
|
-
> "${a.your_company} has [outcome]. We've seen [result] since implementing."
|
|
950
|
-
> — ${a.customer_name}, [Title], ${a.customer_company}
|
|
951
|
-
|
|
952
|
-
## Long Quote
|
|
953
|
-
> "Before ${a.your_company}, we struggled with [challenge]. Since implementing, we've achieved [result 1] and [result 2]. I'd recommend ${a.your_company} to any company dealing with [similar challenge]."
|
|
954
|
-
> — ${a.customer_name}, [Title], ${a.customer_company}
|
|
955
|
-
|
|
956
|
-
## Social Proof
|
|
957
|
-
"${a.customer_company} achieved [result] with ${a.your_company}." ★★★★★
|
|
958
|
-
|
|
959
|
-
## Website Block
|
|
960
|
-
**${a.customer_company}**
|
|
961
|
-
"[Powerful 1-2 sentence quote]"
|
|
962
|
-
**${a.customer_name}**, [Title]
|
|
963
|
-
**Result:** [Key metric]
|
|
964
|
-
|
|
965
|
-
---
|
|
966
|
-
*Generated by CRAFT Content MCP | gtmexpert.com*`;
|
|
967
|
-
}
|
|
968
|
-
function generateSalesContent(a) {
|
|
969
|
-
return `# 💼 SALES ENABLEMENT CONTENT
|
|
970
|
-
|
|
971
|
-
**Product:** ${a.product}
|
|
972
|
-
**Target:** ${a.target_persona}
|
|
973
|
-
**Competitors:** ${a.competitors || "N/A"}
|
|
974
|
-
**Price:** ${a.price_range || "N/A"}
|
|
975
|
-
|
|
976
|
-
## Value Props
|
|
977
|
-
${a.value_props}
|
|
978
|
-
|
|
979
|
-
## Objections
|
|
980
|
-
${a.common_objections}
|
|
981
|
-
|
|
982
|
-
## Success Metrics
|
|
983
|
-
${a.key_metrics || "N/A"}
|
|
984
|
-
|
|
985
|
-
---
|
|
986
|
-
|
|
987
|
-
# PITCH VARIATIONS
|
|
988
|
-
|
|
989
|
-
## 30-Second
|
|
990
|
-
"${a.product} helps ${a.target_persona.toLowerCase()} [primary outcome].
|
|
991
|
-
|
|
992
|
-
Unlike alternatives, we [differentiator].
|
|
993
|
-
|
|
994
|
-
Customers see [key metric].
|
|
995
|
-
|
|
996
|
-
Worth 15 minutes to explore?"
|
|
997
|
-
|
|
998
|
-
---
|
|
999
|
-
|
|
1000
|
-
## 2-Minute
|
|
1001
|
-
|
|
1002
|
-
"Let me tell you about ${a.product}.
|
|
1003
|
-
|
|
1004
|
-
**Problem:** [Pain point for ${a.target_persona.toLowerCase()}]
|
|
1005
|
-
|
|
1006
|
-
Most solutions [limitation].
|
|
1007
|
-
|
|
1008
|
-
**Our Approach:** ${a.product} [difference].
|
|
1009
|
-
|
|
1010
|
-
**Results:**
|
|
1011
|
-
${a.value_props.split('\n').map(v => `• ${v}`).join('\n')}
|
|
1012
|
-
|
|
1013
|
-
For example, [customer] saw [result].
|
|
1014
|
-
|
|
1015
|
-
**Next:** 30 minutes to show how this works for you?"
|
|
1016
|
-
|
|
1017
|
-
---
|
|
1018
|
-
|
|
1019
|
-
## 5-Minute
|
|
1020
|
-
|
|
1021
|
-
"Thanks for the time.
|
|
1022
|
-
|
|
1023
|
-
**The Problem:**
|
|
1024
|
-
${a.target_persona} typically struggle with [challenge]. Cost: [impact].
|
|
1025
|
-
|
|
1026
|
-
**What Most Do:**
|
|
1027
|
-
[Common approach] - but [limitation].
|
|
1028
|
-
|
|
1029
|
-
**Our Solution:**
|
|
1030
|
-
${a.product}:
|
|
1031
|
-
${a.value_props.split('\n').map(v => `• ${v}`).join('\n')}
|
|
1032
|
-
|
|
1033
|
-
**Proof:**
|
|
1034
|
-
${a.key_metrics || "[Results]"}
|
|
1035
|
-
|
|
1036
|
-
**Investment:**
|
|
1037
|
-
${a.price_range || "[Pricing]"}
|
|
1038
|
-
|
|
1039
|
-
**Next:**
|
|
1040
|
-
Based on what you've shared, I see potential. Want to explore a pilot?"
|
|
1041
|
-
|
|
1042
|
-
---
|
|
1043
|
-
|
|
1044
|
-
# OBJECTION HANDLERS
|
|
1045
|
-
|
|
1046
|
-
${a.common_objections.split('\n').map(obj => `
|
|
1047
|
-
## "${obj.trim()}"
|
|
1048
|
-
|
|
1049
|
-
**Acknowledge:** "I understand. [Validation]"
|
|
1050
|
-
|
|
1051
|
-
**Respond:** "[Counter-point with evidence]"
|
|
1052
|
-
|
|
1053
|
-
**Redirect:** "What would change your mind?"`).join('\n')}
|
|
1054
|
-
|
|
1055
|
-
---
|
|
1056
|
-
|
|
1057
|
-
## Price Objection
|
|
1058
|
-
|
|
1059
|
-
"I hear you. Let's break it down.
|
|
1060
|
-
|
|
1061
|
-
Currently, [problem] costs [amount].
|
|
1062
|
-
${a.product}: [price].
|
|
1063
|
-
ROI: [timeframe].
|
|
1064
|
-
|
|
1065
|
-
Most see [X]x return. Can I show the ROI calculator?"
|
|
1066
|
-
|
|
1067
|
-
---
|
|
1068
|
-
|
|
1069
|
-
## Competitor Objection
|
|
1070
|
-
|
|
1071
|
-
"They're solid. Our customers found:
|
|
1072
|
-
• [Advantage 1]
|
|
1073
|
-
• [Advantage 2]
|
|
1074
|
-
• [Advantage 3]
|
|
1075
|
-
|
|
1076
|
-
What's most important to you?"
|
|
1077
|
-
|
|
1078
|
-
---
|
|
1079
|
-
|
|
1080
|
-
# DISCOVERY QUESTIONS
|
|
1081
|
-
|
|
1082
|
-
**Situation:**
|
|
1083
|
-
1. "Tell me about your current [process]."
|
|
1084
|
-
2. "What tools are you using?"
|
|
1085
|
-
|
|
1086
|
-
**Problem:**
|
|
1087
|
-
3. "What's working? Not working?"
|
|
1088
|
-
4. "What happens when [problem] occurs?"
|
|
1089
|
-
5. "How much does this cost?"
|
|
1090
|
-
|
|
1091
|
-
**Implication:**
|
|
1092
|
-
6. "How does this impact [broader goal]?"
|
|
1093
|
-
7. "What if nothing changes?"
|
|
1094
|
-
|
|
1095
|
-
**Need-Payoff:**
|
|
1096
|
-
8. "What would solving this mean?"
|
|
1097
|
-
9. "How would you measure success?"
|
|
1098
|
-
|
|
1099
|
-
**Decision:**
|
|
1100
|
-
10. "Who else is involved?"
|
|
1101
|
-
11. "Timeline for change?"
|
|
1102
|
-
12. "What makes this a no-brainer?"
|
|
1103
|
-
|
|
1104
|
-
---
|
|
1105
|
-
|
|
1106
|
-
# ROI TALK TRACK
|
|
1107
|
-
|
|
1108
|
-
"Let me walk through the value.
|
|
1109
|
-
|
|
1110
|
-
**Current:**
|
|
1111
|
-
• Time on [task]: ___hrs/week
|
|
1112
|
-
• Cost of [problem]: $___/month
|
|
1113
|
-
|
|
1114
|
-
**With ${a.product}:**
|
|
1115
|
-
• Time saved: ___hrs/week
|
|
1116
|
-
• Cost reduction: $___/month
|
|
1117
|
-
|
|
1118
|
-
**ROI:** [X]x return in [timeframe]
|
|
1119
|
-
|
|
1120
|
-
Does this align with your goals?"
|
|
1121
|
-
|
|
1122
|
-
---
|
|
1123
|
-
*Generated by CRAFT Content MCP | gtmexpert.com*`;
|
|
1124
|
-
}
|
|
1125
|
-
function improveContent(a) {
|
|
1126
|
-
return `# ✨ CRAFT CONTENT IMPROVER
|
|
1127
|
-
|
|
1128
|
-
**Type:** ${a.content_type}
|
|
1129
|
-
**Goal:** ${a.goal}
|
|
1130
|
-
**Audience:** ${a.audience || "N/A"}
|
|
1131
|
-
**Constraints:** ${a.constraints || "None"}
|
|
1132
|
-
|
|
1133
|
-
## Original
|
|
1134
|
-
\`\`\`
|
|
1135
|
-
${a.content.substring(0, 300)}...
|
|
1136
|
-
\`\`\`
|
|
1137
|
-
|
|
1138
|
-
---
|
|
1139
|
-
|
|
1140
|
-
# CRAFT ANALYSIS
|
|
1141
|
-
|
|
1142
|
-
## C - CHARACTER (Voice)
|
|
1143
|
-
| Aspect | Score |
|
|
1144
|
-
|--------|-------|
|
|
1145
|
-
| Clear voice | ___/10 |
|
|
1146
|
-
| Authority | ___/10 |
|
|
1147
|
-
| Authenticity | ___/10 |
|
|
1148
|
-
|
|
1149
|
-
**Issues:**
|
|
1150
|
-
**Improvements:**
|
|
1151
|
-
|
|
1152
|
-
---
|
|
1153
|
-
|
|
1154
|
-
## R - RESULT (Outcome)
|
|
1155
|
-
| Aspect | Score |
|
|
1156
|
-
|--------|-------|
|
|
1157
|
-
| Clear goal | ___/10 |
|
|
1158
|
-
| Actionable | ___/10 |
|
|
1159
|
-
| Measurable | ___/10 |
|
|
1160
|
-
|
|
1161
|
-
**Issues:**
|
|
1162
|
-
**Improvements:**
|
|
1163
|
-
|
|
1164
|
-
---
|
|
1165
|
-
|
|
1166
|
-
## A - ARTIFACT (Quality)
|
|
1167
|
-
| Aspect | Score |
|
|
1168
|
-
|--------|-------|
|
|
1169
|
-
| Structure | ___/10 |
|
|
1170
|
-
| Formatting | ___/10 |
|
|
1171
|
-
| Polish | ___/10 |
|
|
1172
|
-
|
|
1173
|
-
**Issues:**
|
|
1174
|
-
**Improvements:**
|
|
1175
|
-
|
|
1176
|
-
---
|
|
1177
|
-
|
|
1178
|
-
## F - FRAME (Context)
|
|
1179
|
-
| Aspect | Score |
|
|
1180
|
-
|--------|-------|
|
|
1181
|
-
| Audience fit | ___/10 |
|
|
1182
|
-
| Relevance | ___/10 |
|
|
1183
|
-
|
|
1184
|
-
**Issues:**
|
|
1185
|
-
**Improvements:**
|
|
1186
|
-
|
|
1187
|
-
---
|
|
1188
|
-
|
|
1189
|
-
## T - TIMELINE (Flow)
|
|
1190
|
-
| Aspect | Score |
|
|
1191
|
-
|--------|-------|
|
|
1192
|
-
| Flow | ___/10 |
|
|
1193
|
-
| Pacing | ___/10 |
|
|
1194
|
-
| CTA timing | ___/10 |
|
|
1195
|
-
|
|
1196
|
-
**Issues:**
|
|
1197
|
-
**Improvements:**
|
|
1198
|
-
|
|
1199
|
-
---
|
|
1200
|
-
|
|
1201
|
-
# SCORE: ___/100
|
|
1202
|
-
|
|
1203
|
-
| Dimension | Score |
|
|
1204
|
-
|-----------|-------|
|
|
1205
|
-
| Character | ___/20 |
|
|
1206
|
-
| Result | ___/20 |
|
|
1207
|
-
| Artifact | ___/20 |
|
|
1208
|
-
| Frame | ___/20 |
|
|
1209
|
-
| Timeline | ___/20 |
|
|
1210
|
-
|
|
1211
|
-
---
|
|
1212
|
-
|
|
1213
|
-
# IMPROVED VERSION
|
|
1214
|
-
|
|
1215
|
-
[Rewritten content with CRAFT improvements]
|
|
1216
|
-
|
|
1217
|
-
---
|
|
1218
|
-
|
|
1219
|
-
# KEY CHANGES
|
|
1220
|
-
|
|
1221
|
-
1. **Character:** [Changed]
|
|
1222
|
-
2. **Result:** [Changed]
|
|
1223
|
-
3. **Artifact:** [Changed]
|
|
1224
|
-
4. **Frame:** [Changed]
|
|
1225
|
-
5. **Timeline:** [Changed]
|
|
1226
|
-
|
|
1227
|
-
---
|
|
1228
|
-
|
|
1229
|
-
# A/B TESTS
|
|
1230
|
-
|
|
1231
|
-
**Test 1:** [Alt headline]
|
|
1232
|
-
**Test 2:** [Alt CTA]
|
|
1233
|
-
**Test 3:** [Alt structure]
|
|
1234
|
-
|
|
1235
|
-
---
|
|
1236
|
-
*Generated by CRAFT Content MCP | gtmexpert.com*`;
|
|
1237
|
-
}
|
|
84
|
+
// Main function
|
|
1238
85
|
async function main() {
|
|
1239
|
-
const transport = new
|
|
86
|
+
const transport = new StdioServerTransport();
|
|
1240
87
|
await server.connect(transport);
|
|
1241
|
-
console.error("CRAFT Content MCP Server running");
|
|
88
|
+
console.error("CRAFT Content MCP Server v2.0.0 running on stdio");
|
|
1242
89
|
}
|
|
1243
|
-
main().catch(
|
|
90
|
+
main().catch((error) => {
|
|
91
|
+
console.error("Fatal error in main():", error);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
});
|
|
1244
94
|
//# sourceMappingURL=index.js.map
|