@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.
Files changed (44) hide show
  1. package/README.md +150 -123
  2. package/dist/case-study-generator.d.ts +12 -0
  3. package/dist/case-study-generator.d.ts.map +1 -0
  4. package/dist/case-study-generator.js +373 -0
  5. package/dist/case-study-generator.js.map +1 -0
  6. package/dist/content-improver.d.ts +8 -0
  7. package/dist/content-improver.d.ts.map +1 -0
  8. package/dist/content-improver.js +238 -0
  9. package/dist/content-improver.js.map +1 -0
  10. package/dist/content-repurposer.d.ts +8 -0
  11. package/dist/content-repurposer.d.ts.map +1 -0
  12. package/dist/content-repurposer.js +423 -0
  13. package/dist/content-repurposer.js.map +1 -0
  14. package/dist/index.js +86 -1236
  15. package/dist/index.js.map +1 -1
  16. package/dist/newsletter-builder.d.ts +10 -0
  17. package/dist/newsletter-builder.d.ts.map +1 -0
  18. package/dist/newsletter-builder.js +411 -0
  19. package/dist/newsletter-builder.js.map +1 -0
  20. package/dist/sales-enablement.d.ts +11 -0
  21. package/dist/sales-enablement.d.ts.map +1 -0
  22. package/dist/sales-enablement.js +455 -0
  23. package/dist/sales-enablement.js.map +1 -0
  24. package/dist/testimonial-capture.d.ts +11 -0
  25. package/dist/testimonial-capture.d.ts.map +1 -0
  26. package/dist/testimonial-capture.js +424 -0
  27. package/dist/testimonial-capture.js.map +1 -0
  28. package/dist/thought-leadership.d.ts +10 -0
  29. package/dist/thought-leadership.d.ts.map +1 -0
  30. package/dist/thought-leadership.js +475 -0
  31. package/dist/thought-leadership.js.map +1 -0
  32. package/dist/tools.d.ts +3 -0
  33. package/dist/tools.d.ts.map +1 -0
  34. package/dist/tools.js +210 -0
  35. package/dist/tools.js.map +1 -0
  36. package/dist/utils.d.ts +40 -0
  37. package/dist/utils.d.ts.map +1 -0
  38. package/dist/utils.js +289 -0
  39. package/dist/utils.js.map +1 -0
  40. package/dist/webinar-script.d.ts +11 -0
  41. package/dist/webinar-script.d.ts.map +1 -0
  42. package/dist/webinar-script.js +457 -0
  43. package/dist/webinar-script.js.map +1 -0
  44. package/package.json +47 -49
@@ -0,0 +1,423 @@
1
+ import { parseListItems, extractKeyPoints, countWords } from './utils.js';
2
+ // Default formats when user doesn't specify
3
+ const DEFAULT_FORMATS = ['linkedin_post', 'twitter_thread', 'email', 'blog_summary', 'quote_cards'];
4
+ export function generateContentRepurposer(args) {
5
+ const content = args.source_content;
6
+ const sourceType = args.source_type;
7
+ const targetFormats = args.target_formats ? parseListItems(args.target_formats) : DEFAULT_FORMATS;
8
+ const voice = args.brand_voice || 'professional';
9
+ const keyMessage = args.key_message || '';
10
+ // Extract key information from source
11
+ const keyPoints = extractKeyPoints(content);
12
+ const wordCount = countWords(content);
13
+ const title = extractTitle(content);
14
+ let output = `# ๐Ÿ”„ Content Repurposing Kit
15
+
16
+ ## Source Content Analysis
17
+
18
+ | Attribute | Value |
19
+ |-----------|-------|
20
+ | **Source Type** | ${sourceType.replace(/_/g, ' ')} |
21
+ | **Word Count** | ${wordCount} |
22
+ | **Key Points Found** | ${keyPoints.length} |
23
+ | **Brand Voice** | ${voice} |
24
+ | **Core Message** | ${keyMessage || 'Extracted from content'} |
25
+ | **Formats** | ${args.target_formats ? 'Custom selection' : 'Default top 5'} |
26
+
27
+ ### Key Points Extracted
28
+ ${keyPoints.map((p, i) => `${i + 1}. ${p}`).join('\n')}
29
+
30
+ ---
31
+
32
+ ## ๐Ÿ“ฆ Repurposed Content
33
+
34
+ `;
35
+ // Generate each requested format
36
+ for (const format of targetFormats) {
37
+ const formatOutput = generateFormat(format.toLowerCase().replace(/\s+/g, '_'), content, keyPoints, title, voice, keyMessage, sourceType);
38
+ output += formatOutput;
39
+ }
40
+ output += `
41
+ ---
42
+
43
+ ## ๐Ÿ“Š Content Distribution Matrix
44
+
45
+ | Format | Platform | Best Time | Engagement Goal |
46
+ |--------|----------|-----------|-----------------|
47
+ ${targetFormats.map(f => `| ${f} | ${getPlatform(f)} | ${getBestTime(f)} | ${getEngagementGoal(f)} |`).join('\n')}
48
+
49
+ ---
50
+
51
+ ## โœ… Repurposing Checklist
52
+
53
+ - [ ] Review each piece for brand consistency
54
+ - [ ] Customize for platform-specific best practices
55
+ - [ ] Update links/CTAs for each channel
56
+ - [ ] Schedule according to optimal times
57
+ - [ ] Prepare responses for expected engagement
58
+ - [ ] Track performance across formats
59
+
60
+ `;
61
+ return output;
62
+ }
63
+ function extractTitle(content) {
64
+ // Try to extract title from headers or first line
65
+ const headerMatch = content.match(/^#\s+(.+)$/m);
66
+ if (headerMatch)
67
+ return headerMatch[1];
68
+ const firstLine = content.split('\n')[0];
69
+ if (firstLine.length < 100)
70
+ return firstLine;
71
+ return 'Content';
72
+ }
73
+ function generateFormat(format, content, keyPoints, title, voice, keyMessage, sourceType) {
74
+ const generators = {
75
+ linkedin_post: () => `
76
+ ### ๐Ÿ“ฑ LinkedIn Post
77
+
78
+ ---
79
+
80
+ ${generateLinkedInPost(content, keyPoints, voice, keyMessage)}
81
+
82
+ ---
83
+
84
+ **Posting Notes:**
85
+ - Best time: Tuesday-Thursday, 8-10am
86
+ - Engage with comments in first 60 min
87
+ - Add 3-5 relevant hashtags
88
+
89
+ `,
90
+ twitter_thread: () => `
91
+ ### ๐Ÿฆ Twitter/X Thread
92
+
93
+ ---
94
+
95
+ ${generateTwitterThread(content, keyPoints, title)}
96
+
97
+ ---
98
+
99
+ **Posting Notes:**
100
+ - Thread with 5-10 tweets performs best
101
+ - First tweet is crucial for engagement
102
+ - Add a "follow for more" at the end
103
+
104
+ `,
105
+ email: () => `
106
+ ### ๐Ÿ“ง Email Version
107
+
108
+ ---
109
+
110
+ **Subject Line Options:**
111
+ 1. ${title}: Key insights you need to know
112
+ 2. What we learned about ${keyPoints[0]?.split(' ').slice(0, 3).join(' ') || 'this topic'}
113
+ 3. [First Name], don't miss this ${sourceType.replace(/_/g, ' ')} summary
114
+
115
+ **Email Body:**
116
+
117
+ ${generateEmailVersion(content, keyPoints, keyMessage)}
118
+
119
+ ---
120
+
121
+ `,
122
+ blog_summary: () => `
123
+ ### ๐Ÿ“ Blog Summary (300 words)
124
+
125
+ ---
126
+
127
+ ${generateBlogSummary(content, keyPoints, title)}
128
+
129
+ ---
130
+
131
+ `,
132
+ infographic_outline: () => `
133
+ ### ๐Ÿ“Š Infographic Outline
134
+
135
+ ---
136
+
137
+ **Title:** ${title}
138
+
139
+ **Header Section:**
140
+ - Main statistic or hook from content
141
+ - Visual: [Icon representing topic]
142
+
143
+ **Body Sections:**
144
+
145
+ ${keyPoints.slice(0, 5).map((p, i) => `
146
+ **Section ${i + 1}: ${p.split(' ').slice(0, 5).join(' ')}...**
147
+ - Key stat/visual: [Extract number or create icon]
148
+ - Supporting point: ${p}
149
+ `).join('\n')}
150
+
151
+ **Footer:**
152
+ - CTA: [Action you want viewers to take]
153
+ - Branding: Logo + website
154
+
155
+ ---
156
+
157
+ `,
158
+ video_script: () => `
159
+ ### ๐ŸŽฅ Video Script (60-90 seconds)
160
+
161
+ ---
162
+
163
+ **[HOOK - 5 seconds]**
164
+ "${keyPoints[0] ? `Did you know that ${keyPoints[0].toLowerCase()}?` : `Here's something important about ${title}...`}"
165
+
166
+ **[INTRO - 10 seconds]**
167
+ "I just shared ${sourceType.replace(/_/g, ' ')} about ${title}. Here are the key takeaways you need to know."
168
+
169
+ **[BODY - 45-60 seconds]**
170
+ ${keyPoints.slice(0, 3).map((p, i) => `
171
+ "Point ${i + 1}: ${p}"
172
+ [VISUAL: Supporting image/graphic]
173
+ `).join('\n')}
174
+
175
+ **[CTA - 10 seconds]**
176
+ "${keyMessage || 'Link in bio for the full version. Follow for more insights like this.'}"
177
+
178
+ ---
179
+
180
+ `,
181
+ podcast_talking_points: () => `
182
+ ### ๐ŸŽ™๏ธ Podcast Talking Points
183
+
184
+ ---
185
+
186
+ **Episode Title:** ${title}: A Deep Dive
187
+
188
+ **Intro (1-2 min):**
189
+ - Hook: Why this matters now
190
+ - Context: Where this ${sourceType.replace(/_/g, ' ')} came from
191
+
192
+ **Main Discussion Points:**
193
+
194
+ ${keyPoints.map((p, i) => `
195
+ **Point ${i + 1}:** ${p}
196
+ - Story/example to illustrate
197
+ - Implications for listeners
198
+ - Practical application
199
+ `).join('\n')}
200
+
201
+ **Wrap-up:**
202
+ - Key takeaway summary
203
+ - CTA for listeners
204
+ - Tease next episode
205
+
206
+ ---
207
+
208
+ `,
209
+ slide_deck_outline: () => `
210
+ ### ๐Ÿ“Š Slide Deck Outline
211
+
212
+ ---
213
+
214
+ **Slide 1: Title**
215
+ - ${title}
216
+ - [Presenter name, date]
217
+
218
+ **Slide 2: Why This Matters**
219
+ - Context for the content
220
+ - Key problem being addressed
221
+
222
+ ${keyPoints.map((p, i) => `
223
+ **Slide ${i + 3}: ${p.split(' ').slice(0, 5).join(' ')}**
224
+ - Main point: ${p}
225
+ - Supporting visual
226
+ - Key statistic (if available)
227
+ `).join('\n')}
228
+
229
+ **Slide ${keyPoints.length + 3}: Summary**
230
+ - ${keyPoints.length} key takeaways
231
+ - One-line for each
232
+
233
+ **Slide ${keyPoints.length + 4}: Next Steps/CTA**
234
+ - What to do with this information
235
+ - Contact/follow-up details
236
+
237
+ ---
238
+
239
+ `,
240
+ quote_cards: () => `
241
+ ### ๐Ÿ’ฌ Quote Cards (Social Graphics)
242
+
243
+ ---
244
+
245
+ ${extractQuotes(content, keyPoints).map((q, i) => `
246
+ **Quote Card ${i + 1}:**
247
+ > "${q}"
248
+
249
+ - Background: [Solid color or subtle pattern]
250
+ - Font: Bold, readable
251
+ - Branding: Logo bottom corner
252
+
253
+ `).join('\n')}
254
+
255
+ **Design Notes:**
256
+ - Keep text readable on mobile
257
+ - Use brand colors
258
+ - Square format (1080x1080) for Instagram/LinkedIn
259
+ - Add visual hierarchy with font sizes
260
+
261
+ ---
262
+
263
+ `,
264
+ newsletter_section: () => `
265
+ ### ๐Ÿ“ฐ Newsletter Section
266
+
267
+ ---
268
+
269
+ **Section Header:** ${title}
270
+
271
+ ${generateNewsletterSection(content, keyPoints, keyMessage)}
272
+
273
+ **[Read the full ${sourceType.replace(/_/g, ' ')} โ†’]**
274
+
275
+ ---
276
+
277
+ `
278
+ };
279
+ return generators[format] ? generators[format]() : `
280
+ ### ${format.replace(/_/g, ' ').toUpperCase()}
281
+
282
+ Content repurposed for ${format}:
283
+
284
+ ${keyPoints.map(p => `โ€ข ${p}`).join('\n')}
285
+
286
+ [CTA based on format requirements]
287
+
288
+ ---
289
+
290
+ `;
291
+ }
292
+ function generateLinkedInPost(content, keyPoints, voice, keyMessage) {
293
+ const hook = keyPoints[0] ? `${keyPoints[0].charAt(0).toUpperCase() + keyPoints[0].slice(1)}` : 'Here\'s what I learned';
294
+ return `${hook}
295
+
296
+ ${keyPoints.length > 1 ? `After diving deep into this topic, here's what stands out:
297
+
298
+ ${keyPoints.slice(0, 4).map((p, i) => `${i + 1}. ${p}`).join('\n')}` : ''}
299
+
300
+ ${keyMessage || 'The bottom line: this changes how we should think about the problem.'}
301
+
302
+ What's your take? ๐Ÿ‘‡
303
+
304
+ #${content.split(' ').slice(0, 3).join('').replace(/[^a-zA-Z]/g, '')} #Insights #${voice}`;
305
+ }
306
+ function generateTwitterThread(content, keyPoints, title) {
307
+ let thread = `**Tweet 1 (Hook):**
308
+ ${title} - A thread ๐Ÿงต
309
+
310
+ Here's what you need to know:\n\n`;
311
+ keyPoints.slice(0, 6).forEach((p, i) => {
312
+ thread += `**Tweet ${i + 2}:**
313
+ ${i + 1}/ ${p}
314
+
315
+ `;
316
+ });
317
+ thread += `**Final Tweet:**
318
+ ${keyPoints.length + 2}/ That's the TL;DR.
319
+
320
+ Full breakdown linked in bio.
321
+
322
+ Follow for more threads like this ๐Ÿ‘‹`;
323
+ return thread;
324
+ }
325
+ function generateEmailVersion(content, keyPoints, keyMessage) {
326
+ return `Hi [First Name],
327
+
328
+ Quick summary of something important:
329
+
330
+ ${keyPoints.slice(0, 3).map(p => `โ†’ ${p}`).join('\n')}
331
+
332
+ ${keyMessage || 'This matters because [reason].'}
333
+
334
+ Worth a read when you have a few minutes.
335
+
336
+ [CTA Button: Read the Full Version]
337
+
338
+ Best,
339
+ [Your name]`;
340
+ }
341
+ function generateBlogSummary(content, keyPoints, title) {
342
+ return `## ${title}: Key Takeaways
343
+
344
+ ${keyPoints[0] || 'This content explores important topics'} โ€” and that's just the beginning.
345
+
346
+ In this ${content.length > 5000 ? 'comprehensive' : 'focused'} piece, we cover:
347
+
348
+ ${keyPoints.map(p => `- **${p.split(' ').slice(0, 4).join(' ')}:** ${p}`).join('\n')}
349
+
350
+ Whether you're [audience segment 1] or [audience segment 2], these insights apply to your work.
351
+
352
+ **The bottom line:** ${keyPoints[0] || 'There\'s actionable value here.'}
353
+
354
+ [Read the full version for examples, data, and implementation details โ†’]`;
355
+ }
356
+ function generateNewsletterSection(content, keyPoints, keyMessage) {
357
+ return `${keyPoints[0] || 'Key insight from this content.'}
358
+
359
+ Here's the quick version:
360
+
361
+ ${keyPoints.slice(1, 4).map(p => `โ€ข ${p}`).join('\n')}
362
+
363
+ ${keyMessage || 'Worth your time if you care about this topic.'}`;
364
+ }
365
+ function extractQuotes(content, keyPoints) {
366
+ // Look for actual quotes in content
367
+ const quotesInContent = content.match(/"[^"]{20,150}"/g) || [];
368
+ // Generate quotable statements from key points
369
+ const generated = keyPoints.slice(0, 3).map(p => {
370
+ const words = p.split(' ');
371
+ if (words.length > 15) {
372
+ return words.slice(0, 12).join(' ') + '...';
373
+ }
374
+ return p;
375
+ });
376
+ return [...quotesInContent.map(q => q.replace(/"/g, '')), ...generated].slice(0, 5);
377
+ }
378
+ function getPlatform(format) {
379
+ const platforms = {
380
+ linkedin_post: 'LinkedIn',
381
+ twitter_thread: 'Twitter/X',
382
+ email: 'Email list',
383
+ blog_summary: 'Blog',
384
+ infographic_outline: 'Instagram, Pinterest',
385
+ video_script: 'YouTube, TikTok',
386
+ podcast_talking_points: 'Podcast',
387
+ slide_deck_outline: 'SlideShare, presentations',
388
+ quote_cards: 'All social',
389
+ newsletter_section: 'Newsletter'
390
+ };
391
+ return platforms[format.toLowerCase().replace(/\s+/g, '_')] || 'Multiple';
392
+ }
393
+ function getBestTime(format) {
394
+ const times = {
395
+ linkedin_post: 'Tue-Thu 8-10am',
396
+ twitter_thread: 'Mon-Fri 12pm',
397
+ email: 'Tue 10am',
398
+ blog_summary: 'Tuesday AM',
399
+ infographic_outline: 'Wed/Sun',
400
+ video_script: 'Sat/Sun',
401
+ podcast_talking_points: 'Monday AM',
402
+ slide_deck_outline: 'Anytime',
403
+ quote_cards: 'Daily',
404
+ newsletter_section: 'Weekly'
405
+ };
406
+ return times[format.toLowerCase().replace(/\s+/g, '_')] || 'Varies';
407
+ }
408
+ function getEngagementGoal(format) {
409
+ const goals = {
410
+ linkedin_post: 'Comments, shares',
411
+ twitter_thread: 'Retweets, follows',
412
+ email: 'Opens, clicks',
413
+ blog_summary: 'Traffic, time on page',
414
+ infographic_outline: 'Saves, shares',
415
+ video_script: 'Watch time, subs',
416
+ podcast_talking_points: 'Downloads, reviews',
417
+ slide_deck_outline: 'Views, downloads',
418
+ quote_cards: 'Shares, saves',
419
+ newsletter_section: 'Click-through'
420
+ };
421
+ return goals[format.toLowerCase().replace(/\s+/g, '_')] || 'Engagement';
422
+ }
423
+ //# sourceMappingURL=content-repurposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-repurposer.js","sourceRoot":"","sources":["../src/content-repurposer.ts"],"names":[],"mappings":"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"}