@shashwatgtmalpha/craft-content-mcp 1.0.1 → 2.0.0
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 +130 -103
- 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 +15 -18
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
import { parseListItems } from './utils.js';
|
|
2
|
+
// Generate likely objections based on product description and price context
|
|
3
|
+
function generateLikelyObjections(product, priceContext) {
|
|
4
|
+
const objections = [];
|
|
5
|
+
const productLower = product.toLowerCase();
|
|
6
|
+
// Price-related objection (always common)
|
|
7
|
+
if (priceContext.toLowerCase().includes('premium') || priceContext.toLowerCase().includes('above')) {
|
|
8
|
+
objections.push('It costs too much / over budget');
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
objections.push('What\'s the total cost of ownership?');
|
|
12
|
+
}
|
|
13
|
+
// Implementation/integration concerns
|
|
14
|
+
objections.push('Implementation seems complex / takes too long');
|
|
15
|
+
// Competitor objection
|
|
16
|
+
objections.push('We\'re already using a competitor / happy with current solution');
|
|
17
|
+
// Timing objection
|
|
18
|
+
objections.push('Not the right time / other priorities');
|
|
19
|
+
// Trust/risk objection
|
|
20
|
+
if (productLower.includes('startup') || productLower.includes('new')) {
|
|
21
|
+
objections.push('You\'re too new / not proven enough');
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
objections.push('Need to see more proof / case studies');
|
|
25
|
+
}
|
|
26
|
+
return objections;
|
|
27
|
+
}
|
|
28
|
+
export function generateSalesEnablement(args) {
|
|
29
|
+
const product = args.product;
|
|
30
|
+
const persona = args.target_persona;
|
|
31
|
+
const proofPoints = parseListItems(args.proof_points);
|
|
32
|
+
const priceContext = args.price_context || 'Market rate';
|
|
33
|
+
const stage = args.sales_stage || 'demo';
|
|
34
|
+
// HANDLE optional objections - generate if not provided
|
|
35
|
+
let objections;
|
|
36
|
+
let objectionsNote = '';
|
|
37
|
+
if (args.common_objections) {
|
|
38
|
+
objections = parseListItems(args.common_objections);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
objections = generateLikelyObjections(product, priceContext);
|
|
42
|
+
objectionsNote = `\n⚠️ **NOTE:** You didn't provide objections. We've generated handlers for the most common objections. Update these with real objections you hear from prospects.\n`;
|
|
43
|
+
}
|
|
44
|
+
// DERIVE value props from proof points if not provided
|
|
45
|
+
let valueProps;
|
|
46
|
+
if (args.value_props) {
|
|
47
|
+
valueProps = parseListItems(args.value_props);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
valueProps = proofPoints.map(pp => deriveValuePropFromProof(pp));
|
|
51
|
+
}
|
|
52
|
+
const competitorObjections = args.competitor_objections ? parseListItems(args.competitor_objections) : [];
|
|
53
|
+
// Generate objection handlers with proof point mapping
|
|
54
|
+
const objectionHandlers = objections.map(obj => generateObjectionHandler(obj, valueProps, proofPoints, priceContext));
|
|
55
|
+
const competitorHandlers = competitorObjections.map(obj => generateCompetitorHandler(obj, valueProps, proofPoints));
|
|
56
|
+
let output = `# 🎯 Sales Enablement Kit
|
|
57
|
+
## ${product} | ${persona}
|
|
58
|
+
${objectionsNote}
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Quick Reference Card
|
|
62
|
+
|
|
63
|
+
| Element | Detail |
|
|
64
|
+
|---------|--------|
|
|
65
|
+
| **Product** | ${product} |
|
|
66
|
+
| **Persona** | ${persona} |
|
|
67
|
+
| **Price Position** | ${priceContext} |
|
|
68
|
+
| **Sales Stage** | ${stage.replace(/_/g, ' ')} |
|
|
69
|
+
${!args.value_props ? `| **Note** | Value props derived from proof points |` : ''}
|
|
70
|
+
${!args.common_objections ? `| **Note** | Objections auto-generated - update with real ones |` : ''}
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 💎 Value Propositions
|
|
75
|
+
|
|
76
|
+
### Pitch Order (Lead with Strongest)
|
|
77
|
+
|
|
78
|
+
${valueProps.map((vp, i) => `
|
|
79
|
+
**${i + 1}. ${vp}**
|
|
80
|
+
- *Why it matters to ${persona}:* [Connect to their specific pain]
|
|
81
|
+
- *Proof:* ${proofPoints[i % proofPoints.length] || 'Customer evidence available'}
|
|
82
|
+
`).join('\n')}
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 📝 Pitch Script by Stage
|
|
87
|
+
|
|
88
|
+
### ${stage.charAt(0).toUpperCase() + stage.slice(1).replace(/_/g, ' ')} Stage
|
|
89
|
+
|
|
90
|
+
${generateStagePitch(stage, product, valueProps, persona, proofPoints)}
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 🛡️ Objection Handlers
|
|
95
|
+
|
|
96
|
+
${objectionHandlers.map((handler, i) => `
|
|
97
|
+
### Objection ${i + 1}: "${objections[i]}"
|
|
98
|
+
|
|
99
|
+
**Acknowledge:**
|
|
100
|
+
> ${handler.acknowledge}
|
|
101
|
+
|
|
102
|
+
**Reframe:**
|
|
103
|
+
> ${handler.reframe}
|
|
104
|
+
|
|
105
|
+
**Proof Point:**
|
|
106
|
+
> ${handler.proof}
|
|
107
|
+
|
|
108
|
+
**Bridge to Value:**
|
|
109
|
+
> ${handler.bridge}
|
|
110
|
+
|
|
111
|
+
**Full Response Script:**
|
|
112
|
+
> "${handler.fullScript}"
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
`).join('\n')}
|
|
116
|
+
|
|
117
|
+
## ⚔️ Competitive Responses
|
|
118
|
+
|
|
119
|
+
${competitorHandlers.length > 0 ? competitorHandlers.map((handler, i) => `
|
|
120
|
+
### "Why not ${competitorObjections[i]}?"
|
|
121
|
+
|
|
122
|
+
**When You'll Hear This:**
|
|
123
|
+
${handler.whenHeard}
|
|
124
|
+
|
|
125
|
+
**Response:**
|
|
126
|
+
> ${handler.response}
|
|
127
|
+
|
|
128
|
+
**Trap Question:**
|
|
129
|
+
> "${handler.trapQuestion}"
|
|
130
|
+
|
|
131
|
+
**Proof:**
|
|
132
|
+
> ${handler.proof}
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
`).join('\n') : `
|
|
136
|
+
*No competitor-specific objections provided. Add competitor_objections parameter for battle cards.*
|
|
137
|
+
`}
|
|
138
|
+
|
|
139
|
+
## 💰 Price Justification
|
|
140
|
+
|
|
141
|
+
### Position: ${priceContext}
|
|
142
|
+
|
|
143
|
+
**Value Framework:**
|
|
144
|
+
|
|
145
|
+
| Investment | Return |
|
|
146
|
+
|------------|--------|
|
|
147
|
+
| ${product} pricing | ${valueProps[0] || 'Key benefit 1'} |
|
|
148
|
+
| | ${valueProps[1] || 'Key benefit 2'} |
|
|
149
|
+
| | ${proofPoints[0] || 'Proven results'} |
|
|
150
|
+
|
|
151
|
+
**ROI Conversation:**
|
|
152
|
+
|
|
153
|
+
"Let me share what customers typically see:
|
|
154
|
+
|
|
155
|
+
${proofPoints.slice(0, 3).map(p => `- ${p}`).join('\n')}
|
|
156
|
+
|
|
157
|
+
Based on what you've shared about your situation, here's what that could mean for you: [Calculate specific ROI for prospect]"
|
|
158
|
+
|
|
159
|
+
**If Price Pushback:**
|
|
160
|
+
|
|
161
|
+
"I understand budget is a consideration. Let me ask: what's the cost of NOT solving this problem for another 6 months?
|
|
162
|
+
|
|
163
|
+
${valueProps[0] || 'Our solution'} typically [specific outcome]. For a company your size, that's roughly [X in savings/revenue].
|
|
164
|
+
|
|
165
|
+
The question isn't whether you can afford ${product}—it's whether you can afford not to."
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## 🎣 Discovery Questions for ${persona}
|
|
170
|
+
|
|
171
|
+
### Opening Questions
|
|
172
|
+
1. "Tell me about your current approach to [problem area]."
|
|
173
|
+
2. "What's working well? What's not?"
|
|
174
|
+
3. "How is this affecting [relevant business metric]?"
|
|
175
|
+
|
|
176
|
+
### Pain Discovery
|
|
177
|
+
4. "What happens if you don't solve this in the next 6 months?"
|
|
178
|
+
5. "How much time/money does this currently cost you?"
|
|
179
|
+
6. "Who else is affected by this problem?"
|
|
180
|
+
|
|
181
|
+
### Solution Mapping
|
|
182
|
+
7. "What have you tried before? What happened?"
|
|
183
|
+
8. "What would success look like for you?"
|
|
184
|
+
9. "If you could wave a magic wand, what would be different?"
|
|
185
|
+
|
|
186
|
+
### Qualification
|
|
187
|
+
10. "What's your timeline for making a decision?"
|
|
188
|
+
11. "Who else needs to be involved in this evaluation?"
|
|
189
|
+
12. "What's your budget range for solving this?"
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## 📧 Follow-Up Templates
|
|
194
|
+
|
|
195
|
+
### After Discovery Call
|
|
196
|
+
|
|
197
|
+
Subject: ${product} next steps + [specific thing mentioned]
|
|
198
|
+
|
|
199
|
+
Hi [Name],
|
|
200
|
+
|
|
201
|
+
Thanks for sharing about [specific challenge mentioned].
|
|
202
|
+
|
|
203
|
+
Based on what you described, here's what stands out:
|
|
204
|
+
- [Challenge 1] is costing you [impact]
|
|
205
|
+
- [Challenge 2] is blocking [goal]
|
|
206
|
+
|
|
207
|
+
${product} addresses this by ${valueProps[0]?.toLowerCase() || 'solving your core problem'}.
|
|
208
|
+
|
|
209
|
+
${proofPoints[0] ? `Relevant proof: ${proofPoints[0]}` : ''}
|
|
210
|
+
|
|
211
|
+
Next step: [Specific action]
|
|
212
|
+
|
|
213
|
+
When works for you?
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
### After Demo
|
|
218
|
+
|
|
219
|
+
Subject: ${product} demo follow-up + next steps
|
|
220
|
+
|
|
221
|
+
Hi [Name],
|
|
222
|
+
|
|
223
|
+
Great connecting today. Here's a quick recap:
|
|
224
|
+
|
|
225
|
+
**What we covered:**
|
|
226
|
+
${valueProps.slice(0, 3).map(v => `- ${v}`).join('\n')}
|
|
227
|
+
|
|
228
|
+
**What resonated:**
|
|
229
|
+
- [Note specific moment they engaged]
|
|
230
|
+
|
|
231
|
+
**Your questions:**
|
|
232
|
+
- [Answer questions raised]
|
|
233
|
+
|
|
234
|
+
**Next step:** [Specific action + date]
|
|
235
|
+
|
|
236
|
+
Resources:
|
|
237
|
+
- [Relevant case study]
|
|
238
|
+
- [One-pager]
|
|
239
|
+
|
|
240
|
+
Talk soon,
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## ✅ Call Prep Checklist
|
|
245
|
+
|
|
246
|
+
Before every ${stage.replace(/_/g, ' ')} call:
|
|
247
|
+
|
|
248
|
+
- [ ] Research: Reviewed LinkedIn, recent news, annual report
|
|
249
|
+
- [ ] Context: Know their industry challenges
|
|
250
|
+
- [ ] Personalization: Have 2-3 specific observations
|
|
251
|
+
- [ ] Objection prep: Anticipate their top 2 concerns
|
|
252
|
+
- [ ] Proof ready: Have relevant case study queued
|
|
253
|
+
- [ ] Questions ready: Top 5 discovery questions
|
|
254
|
+
- [ ] CTA clear: Know exactly what next step to propose
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## 📊 Quick Stats to Quote
|
|
259
|
+
|
|
260
|
+
${proofPoints.map(p => `- ${p}`).join('\n')}
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
*Generated for ${persona} at ${stage.replace(/_/g, ' ')} stage*
|
|
265
|
+
`;
|
|
266
|
+
return output;
|
|
267
|
+
}
|
|
268
|
+
function generateObjectionHandler(objection, valueProps, proofPoints, priceContext) {
|
|
269
|
+
const objLower = objection.toLowerCase();
|
|
270
|
+
// Price objections
|
|
271
|
+
if (objLower.includes('price') || objLower.includes('expensive') || objLower.includes('cost') || objLower.includes('budget')) {
|
|
272
|
+
return {
|
|
273
|
+
acknowledge: "I hear you—budget is always a consideration.",
|
|
274
|
+
reframe: "Let me share what our customers found when they compared total cost of ownership...",
|
|
275
|
+
proof: proofPoints[0] || "Customers typically see ROI within [X] months.",
|
|
276
|
+
bridge: valueProps[0] || "The key value driver is...",
|
|
277
|
+
fullScript: `I hear you—budget is always a consideration. Here's what I've found: companies that focus only on price often end up spending more in the long run on [hidden costs/lost opportunity]. ${proofPoints[0] || 'Our customers typically see ROI within the first quarter.'} The question isn't the price—it's the value. Would it help to walk through an ROI calculation based on your specific numbers?`
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
// Timing objections
|
|
281
|
+
if (objLower.includes('time') || objLower.includes('now') || objLower.includes('later') || objLower.includes('busy') || objLower.includes('next quarter')) {
|
|
282
|
+
return {
|
|
283
|
+
acknowledge: "Timing is definitely important to get right.",
|
|
284
|
+
reframe: "I'm curious—what would need to change for the timing to feel right?",
|
|
285
|
+
proof: proofPoints[0] || "Companies that waited reported [X] in additional costs.",
|
|
286
|
+
bridge: valueProps[0] || "The cost of waiting is often...",
|
|
287
|
+
fullScript: `Timing is definitely important. I'm curious—what would need to change for the timing to feel right? What I often see is that waiting adds [specific cost]. ${proofPoints[0] || 'One customer told us they wished they had started 6 months earlier.'} Even if the full rollout is later, starting discovery now means you're ready when the time is right. What would be the cost of waiting another quarter?`
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
// Feature/capability objections
|
|
291
|
+
if (objLower.includes('feature') || objLower.includes('can\'t') || objLower.includes('doesn\'t') || objLower.includes('missing') || objLower.includes('need')) {
|
|
292
|
+
return {
|
|
293
|
+
acknowledge: "That's a fair point—let me understand what you're trying to accomplish.",
|
|
294
|
+
reframe: "What problem are you solving with that specific feature?",
|
|
295
|
+
proof: proofPoints[0] || "Here's how other customers handle that use case...",
|
|
296
|
+
bridge: valueProps[0] || "What we've found is that [core capability] addresses the underlying need.",
|
|
297
|
+
fullScript: `That's a fair point. Help me understand—what's the underlying problem you're solving with that feature? [Listen] What I often find is that [alternative approach] actually achieves the same outcome. ${proofPoints[0] || 'Customers using our approach report...'} Plus, ${valueProps[0] || 'our core strength'} often makes that specific feature less critical. Would it help to see how others handle this?`
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
// Trust/risk objections
|
|
301
|
+
if (objLower.includes('risk') || objLower.includes('trust') || objLower.includes('proven') || objLower.includes('new') || objLower.includes('reference')) {
|
|
302
|
+
return {
|
|
303
|
+
acknowledge: "De-risking a decision like this is smart—you should validate before committing.",
|
|
304
|
+
reframe: "What would make you feel confident in moving forward?",
|
|
305
|
+
proof: proofPoints[0] || "We work with [similar companies] in your space.",
|
|
306
|
+
bridge: "Let me connect you with a customer who had similar concerns.",
|
|
307
|
+
fullScript: `De-risking this decision is smart—I'd want to validate too. What would make you feel confident? We work with ${proofPoints[0] || 'companies like yours'}, and I'd be happy to arrange a reference call. We also offer [pilot program/guarantee/sandbox] so you can validate before fully committing. What would be most helpful for you?`
|
|
308
|
+
};
|
|
309
|
+
}
|
|
310
|
+
// Competitor objections
|
|
311
|
+
if (objLower.includes('competitor') || objLower.includes('other') || objLower.includes('alternative') || objLower.includes('already')) {
|
|
312
|
+
return {
|
|
313
|
+
acknowledge: "Makes sense to evaluate options thoroughly.",
|
|
314
|
+
reframe: "What's most important to you in making this decision?",
|
|
315
|
+
proof: proofPoints[0] || "Here's what customers who've compared us found...",
|
|
316
|
+
bridge: valueProps[0] || "What sets us apart is...",
|
|
317
|
+
fullScript: `Makes sense to evaluate options thoroughly. What's most important to you in making this decision? [Listen] That's exactly where we differentiate. ${valueProps[0] || 'Our unique approach'} means [specific advantage]. ${proofPoints[0] || 'Customers who\'ve compared us found...'} What if I share a side-by-side comparison focused on what matters most to you?`
|
|
318
|
+
};
|
|
319
|
+
}
|
|
320
|
+
// Generic handler
|
|
321
|
+
return {
|
|
322
|
+
acknowledge: `I understand your concern about "${objection}".`,
|
|
323
|
+
reframe: "Help me understand what's driving that concern...",
|
|
324
|
+
proof: proofPoints[0] || "Here's how we address that...",
|
|
325
|
+
bridge: valueProps[0] || "The key benefit is...",
|
|
326
|
+
fullScript: `I understand your concern. Help me understand what's driving that? [Listen] Here's how we address it: ${valueProps[0] || 'Our approach'}. ${proofPoints[0] || 'Customers find that...'} Does that address your concern?`
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
function generateCompetitorHandler(objection, valueProps, proofPoints) {
|
|
330
|
+
const competitor = objection.replace(/^why not\s*/i, '').replace(/\?$/, '').trim();
|
|
331
|
+
return {
|
|
332
|
+
whenHeard: `Usually when prospects are comparing options or have existing relationship with ${competitor}`,
|
|
333
|
+
response: `Great question about ${competitor}. Here's what customers tell us after evaluating both: ${valueProps[0] || 'Our differentiation'} is where we really shine. ${proofPoints[0] || 'One customer who switched from ' + competitor + ' saw...'} What's most important to you in this decision?`,
|
|
334
|
+
trapQuestion: `When you evaluated ${competitor}, did they address [your key differentiator]? How did they handle [their known weakness]?`,
|
|
335
|
+
proof: proofPoints[0] || `Customers who switched from ${competitor} report...`
|
|
336
|
+
};
|
|
337
|
+
}
|
|
338
|
+
function generateStagePitch(stage, product, valueProps, persona, proofPoints) {
|
|
339
|
+
const pitches = {
|
|
340
|
+
prospecting: `
|
|
341
|
+
**Cold Outreach Framework:**
|
|
342
|
+
|
|
343
|
+
"Hi [Name], I'm reaching out because ${persona}s at companies like yours often struggle with [primary pain point].
|
|
344
|
+
|
|
345
|
+
${valueProps[0] || 'We help with...'} — ${proofPoints[0] || 'with proven results.'}
|
|
346
|
+
|
|
347
|
+
Worth a 15-minute conversation?
|
|
348
|
+
|
|
349
|
+
[Your name]"
|
|
350
|
+
`,
|
|
351
|
+
discovery: `
|
|
352
|
+
**Discovery Call Structure:**
|
|
353
|
+
|
|
354
|
+
**Opening (2 min):**
|
|
355
|
+
"Thanks for taking the time. Before I tell you about ${product}, I'd love to understand your situation. Tell me about [their main challenge area]..."
|
|
356
|
+
|
|
357
|
+
**Questions (15 min):**
|
|
358
|
+
Focus on understanding their:
|
|
359
|
+
- Current state and pain
|
|
360
|
+
- Impact on business
|
|
361
|
+
- Previous solutions tried
|
|
362
|
+
- Decision process
|
|
363
|
+
|
|
364
|
+
**Bridge (3 min):**
|
|
365
|
+
"Based on what you've shared, here's how ${product} could help: ${valueProps.slice(0, 2).join(' and ')}."
|
|
366
|
+
|
|
367
|
+
**Next Step:**
|
|
368
|
+
"Would it be helpful to see a demo focused on [specific pain mentioned]?"
|
|
369
|
+
`,
|
|
370
|
+
demo: `
|
|
371
|
+
**Demo Structure:**
|
|
372
|
+
|
|
373
|
+
**Agenda (1 min):**
|
|
374
|
+
"Here's what we'll cover: ${valueProps.slice(0, 3).join(', ')}. Sound good?"
|
|
375
|
+
|
|
376
|
+
**Demo (20 min):**
|
|
377
|
+
For each feature, frame as:
|
|
378
|
+
"You mentioned [their pain]. Here's how we solve that..."
|
|
379
|
+
|
|
380
|
+
**Social Proof (3 min):**
|
|
381
|
+
"${proofPoints[0] || 'Customers like you have seen...'}"
|
|
382
|
+
|
|
383
|
+
**Questions & Objections (10 min):**
|
|
384
|
+
Address using handlers above.
|
|
385
|
+
|
|
386
|
+
**Next Step (1 min):**
|
|
387
|
+
"Based on what you've seen, what would it take to move forward?"
|
|
388
|
+
`,
|
|
389
|
+
negotiation: `
|
|
390
|
+
**Negotiation Framework:**
|
|
391
|
+
|
|
392
|
+
**Establish Value First:**
|
|
393
|
+
"Before we discuss terms, let's align on value. You mentioned ${product} would help you [outcome]. Based on your numbers, that's worth [ROI calculation]."
|
|
394
|
+
|
|
395
|
+
**Bundle, Don't Discount:**
|
|
396
|
+
If asked for discount: "Instead of reducing price, let me add value. What if we included [additional feature/service]?"
|
|
397
|
+
|
|
398
|
+
**Create Urgency:**
|
|
399
|
+
"This pricing is valid through [date] because [legitimate reason]."
|
|
400
|
+
|
|
401
|
+
**Decision Timeline:**
|
|
402
|
+
"What would it take to make a decision by [date]?"
|
|
403
|
+
`,
|
|
404
|
+
closing: `
|
|
405
|
+
**Closing Framework:**
|
|
406
|
+
|
|
407
|
+
**Summary of Value:**
|
|
408
|
+
"Let me recap: you needed [problem 1, 2, 3]. ${product} delivers ${valueProps.slice(0, 3).join(', ')}. ${proofPoints[0] || 'Similar customers see ROI in X months.'}"
|
|
409
|
+
|
|
410
|
+
**The Ask:**
|
|
411
|
+
"Based on everything we've discussed, are you ready to move forward?"
|
|
412
|
+
|
|
413
|
+
**If Yes:** Move to paperwork.
|
|
414
|
+
|
|
415
|
+
**If Hesitation:** "What's holding you back? Let's address it now."
|
|
416
|
+
|
|
417
|
+
**If No:** "I respect that. What would need to change?"
|
|
418
|
+
`
|
|
419
|
+
};
|
|
420
|
+
return pitches[stage] || pitches.demo;
|
|
421
|
+
}
|
|
422
|
+
// Derive a value proposition from a proof point
|
|
423
|
+
function deriveValuePropFromProof(proof) {
|
|
424
|
+
const proofLower = proof.toLowerCase();
|
|
425
|
+
// Look for percentage/number patterns
|
|
426
|
+
if (proofLower.includes('%')) {
|
|
427
|
+
const match = proof.match(/(\d+)%\s*(faster|reduction|increase|improvement|less|more|growth|savings)/i);
|
|
428
|
+
if (match) {
|
|
429
|
+
return `${match[1]}% ${match[2]} in key metrics`;
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
// Time savings
|
|
433
|
+
if (proofLower.includes('hour') || proofLower.includes('time') || proofLower.includes('day')) {
|
|
434
|
+
return 'Saves significant time for your team';
|
|
435
|
+
}
|
|
436
|
+
// Cost/money
|
|
437
|
+
if (proofLower.includes('$') || proofLower.includes('cost') || proofLower.includes('sav')) {
|
|
438
|
+
return 'Delivers measurable cost savings';
|
|
439
|
+
}
|
|
440
|
+
// ROI
|
|
441
|
+
if (proofLower.includes('roi') || proofLower.includes('return')) {
|
|
442
|
+
return 'Proven ROI within months';
|
|
443
|
+
}
|
|
444
|
+
// Customer success
|
|
445
|
+
if (proofLower.includes('customer') || proofLower.includes('company') || proofLower.includes('team')) {
|
|
446
|
+
return 'Trusted by leading companies';
|
|
447
|
+
}
|
|
448
|
+
// Growth
|
|
449
|
+
if (proofLower.includes('grow') || proofLower.includes('revenue') || proofLower.includes('pipeline')) {
|
|
450
|
+
return 'Accelerates growth and revenue';
|
|
451
|
+
}
|
|
452
|
+
// If can't derive, use the proof point itself as value prop
|
|
453
|
+
return proof.length > 50 ? proof.substring(0, 47) + '...' : proof;
|
|
454
|
+
}
|
|
455
|
+
//# sourceMappingURL=sales-enablement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sales-enablement.js","sourceRoot":"","sources":["../src/sales-enablement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function generateTestimonialCapture(args: {
|
|
2
|
+
customer_name: string;
|
|
3
|
+
customer_company: string;
|
|
4
|
+
customer_role?: string;
|
|
5
|
+
relationship_context?: string;
|
|
6
|
+
success_story: string;
|
|
7
|
+
testimonial_type: string;
|
|
8
|
+
use_case?: string;
|
|
9
|
+
incentive?: string;
|
|
10
|
+
}): string;
|
|
11
|
+
//# sourceMappingURL=testimonial-capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testimonial-capture.d.ts","sourceRoot":"","sources":["../src/testimonial-capture.ts"],"names":[],"mappings":"AAAA,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAoIT"}
|