@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
package/dist/tools.js ADDED
@@ -0,0 +1,210 @@
1
+ export const tools = [
2
+ {
3
+ name: "case_study_generator",
4
+ description: "Generate case studies with DISCOVERY MODE. If you have the full story, get a complete case study. If not, get interview questions to gather the story first. Version 2.0 - Works with incomplete info!",
5
+ inputSchema: {
6
+ type: "object",
7
+ properties: {
8
+ customer_name: { type: "string", description: "Customer/company name" },
9
+ customer_industry: { type: "string", description: "Customer's industry for context" },
10
+ mode: {
11
+ type: "string",
12
+ description: "full = generate case study (requires challenge/solution/results), discovery = generate interview questions to gather story",
13
+ enum: ["full", "discovery"]
14
+ },
15
+ interview_notes: {
16
+ type: "string",
17
+ description: "Optional: Raw interview notes or transcript - will be PARSED into structured case study"
18
+ },
19
+ challenge: { type: "string", description: "The customer's challenge/problem (required for full mode)" },
20
+ solution: { type: "string", description: "How your product solved it (required for full mode)" },
21
+ results: { type: "string", description: "Quantifiable outcomes (required for full mode)" },
22
+ customer_quote: { type: "string", description: "Optional: Direct quote from customer" },
23
+ your_product: { type: "string", description: "Your product/service name" }
24
+ },
25
+ required: ["customer_name", "your_product"]
26
+ }
27
+ },
28
+ {
29
+ name: "newsletter_builder",
30
+ description: "Build newsletter content. Just have a topic? We'll suggest key points. Have key points? We'll craft the content. Version 2.0 - Works with topic-only or full brief!",
31
+ inputSchema: {
32
+ type: "object",
33
+ properties: {
34
+ topic: { type: "string", description: "Main topic/theme of the newsletter" },
35
+ key_points: { type: "string", description: "OPTIONAL: Key points to cover (comma-separated). If not provided, we'll suggest 3-5 relevant points based on topic" },
36
+ cta_goal: { type: "string", description: "What action should readers take? (e.g., 'sign up for webinar', 'try feature', 'read blog')" },
37
+ audience_segment: {
38
+ type: "string",
39
+ description: "Audience segment affects tone and depth",
40
+ enum: ["executives", "practitioners", "technical", "general", "prospects", "customers"]
41
+ },
42
+ newsletter_type: {
43
+ type: "string",
44
+ description: "Type of newsletter",
45
+ enum: ["educational", "product_update", "industry_news", "thought_leadership", "curated_links"]
46
+ },
47
+ tone: {
48
+ type: "string",
49
+ description: "Writing tone",
50
+ enum: ["professional", "conversational", "authoritative", "friendly", "urgent"]
51
+ },
52
+ previous_topics: {
53
+ type: "string",
54
+ description: "Optional: Recent newsletter topics to avoid repetition and suggest connections"
55
+ }
56
+ },
57
+ required: ["topic", "cta_goal"]
58
+ }
59
+ },
60
+ {
61
+ name: "webinar_script",
62
+ description: "Generate webinar scripts. Know your takeaways? Get a complete script. Still planning? We'll suggest takeaways based on topic and type. Version 2.0 - Works at any planning stage!",
63
+ inputSchema: {
64
+ type: "object",
65
+ properties: {
66
+ topic: { type: "string", description: "Webinar topic/title" },
67
+ target_audience: { type: "string", description: "Who will attend (e.g., 'Marketing managers at B2B SaaS companies')" },
68
+ webinar_type: {
69
+ type: "string",
70
+ description: "Type of webinar determines structure",
71
+ enum: ["educational", "product_demo", "panel_discussion", "customer_story", "workshop", "ama"]
72
+ },
73
+ duration: {
74
+ type: "string",
75
+ description: "Webinar length",
76
+ enum: ["30_min", "45_min", "60_min", "90_min"]
77
+ },
78
+ key_takeaways: { type: "string", description: "OPTIONAL: 3-5 things attendees should learn (comma-separated). If not provided, we'll suggest based on topic" },
79
+ speakers: { type: "string", description: "Optional: Speaker names and titles (comma-separated)" },
80
+ include_polls: { type: "boolean", description: "Include interactive poll suggestions" },
81
+ product_mention_level: {
82
+ type: "string",
83
+ description: "How much to mention your product",
84
+ enum: ["none", "subtle", "moderate", "heavy"]
85
+ }
86
+ },
87
+ required: ["topic", "target_audience", "webinar_type"]
88
+ }
89
+ },
90
+ {
91
+ name: "content_repurposer",
92
+ description: "Transform source content into multiple formats. Just paste content - we'll generate the 5 most useful formats by default, or specify exactly what you need. Version 2.0 - Smart defaults!",
93
+ inputSchema: {
94
+ type: "object",
95
+ properties: {
96
+ source_content: { type: "string", description: "Original content to repurpose (blog post, article, transcript, etc.)" },
97
+ source_type: {
98
+ type: "string",
99
+ description: "What type of content is the source",
100
+ enum: ["blog_post", "webinar_transcript", "podcast_transcript", "whitepaper", "case_study", "research_report", "presentation"]
101
+ },
102
+ target_formats: {
103
+ type: "string",
104
+ description: "OPTIONAL: Formats to generate (comma-separated). Defaults to: linkedin_post, twitter_thread, email, blog_summary, quote_cards. Other options: infographic_outline, video_script, podcast_talking_points, slide_deck_outline, newsletter_section"
105
+ },
106
+ brand_voice: {
107
+ type: "string",
108
+ description: "Brand voice to maintain",
109
+ enum: ["professional", "casual", "authoritative", "friendly", "bold"]
110
+ },
111
+ key_message: { type: "string", description: "Optional: Core message to emphasize across all formats" }
112
+ },
113
+ required: ["source_content", "source_type"]
114
+ }
115
+ },
116
+ {
117
+ name: "thought_leadership_series",
118
+ description: "Generate COMPLETE thought leadership ARTICLES (600-800 words each). Have proof points? Get publish-ready articles. Only have a hot take? Get articles PLUS suggested proof points to strengthen your argument. Version 2.0 - Works at any stage of thought development!",
119
+ inputSchema: {
120
+ type: "object",
121
+ properties: {
122
+ topic: { type: "string", description: "The topic you want to establish authority on" },
123
+ your_take: { type: "string", description: "Your unique perspective or opinion on this topic. What do you believe that others don't? What's your contrarian view?" },
124
+ target_reader: { type: "string", description: "Who should read this? Be specific (e.g., 'B2B SaaS founders struggling with churn' not just 'marketers')" },
125
+ proof_points: { type: "string", description: "OPTIONAL: Evidence supporting your take - personal stories, client examples, data/stats (comma-separated). If not provided, we'll suggest proof points to gather" },
126
+ author_background: { type: "string", description: "Optional: Your role and why you're credible (e.g., '15 years in enterprise sales')" },
127
+ num_articles: {
128
+ type: "number",
129
+ description: "Number of articles to generate (1-5)",
130
+ minimum: 1,
131
+ maximum: 5
132
+ },
133
+ article_type: {
134
+ type: "string",
135
+ description: "Style of articles",
136
+ enum: ["contrarian", "how_to", "lessons_learned", "prediction", "framework"]
137
+ }
138
+ },
139
+ required: ["topic", "your_take", "target_reader"]
140
+ }
141
+ },
142
+ {
143
+ name: "testimonial_capture",
144
+ description: "Generate testimonial request emails, interview questions, and formatted outputs. Discovery-focused by design. Version 2.0 - Already excellent!",
145
+ inputSchema: {
146
+ type: "object",
147
+ properties: {
148
+ customer_name: { type: "string", description: "Customer name" },
149
+ customer_company: { type: "string", description: "Customer's company" },
150
+ customer_role: { type: "string", description: "Customer's job title" },
151
+ relationship_context: { type: "string", description: "How long they've been a customer, key interactions" },
152
+ success_story: { type: "string", description: "Brief description of their success with your product" },
153
+ testimonial_type: {
154
+ type: "string",
155
+ description: "Type of testimonial needed",
156
+ enum: ["written_quote", "video_interview", "case_study_interview", "g2_review", "reference_call"]
157
+ },
158
+ use_case: { type: "string", description: "Where will this testimonial be used? (website, sales deck, etc.)" },
159
+ incentive: { type: "string", description: "Optional: What you're offering in return" }
160
+ },
161
+ required: ["customer_name", "customer_company", "success_story", "testimonial_type"]
162
+ }
163
+ },
164
+ {
165
+ name: "sales_enablement_content",
166
+ description: "Generate sales content. Know your objections? Get complete handlers. New product with no sales data yet? We'll suggest likely objections based on your product type. Version 2.0 - Works at any sales maturity!",
167
+ inputSchema: {
168
+ type: "object",
169
+ properties: {
170
+ product: { type: "string", description: "Product name and what it does" },
171
+ target_persona: { type: "string", description: "Who sales is pitching to (role, company type)" },
172
+ proof_points: { type: "string", description: "Evidence for claims - case studies, metrics, quotes (comma-separated)" },
173
+ common_objections: { type: "string", description: "OPTIONAL: Sales objections you hear (comma-separated). If not provided, we'll suggest likely objections for your product type" },
174
+ value_props: { type: "string", description: "OPTIONAL: Key value propositions (comma-separated). Will be DERIVED from proof points if not provided" },
175
+ competitor_objections: { type: "string", description: "Optional: 'Why not [competitor]' objections" },
176
+ price_context: { type: "string", description: "Optional: Your pricing vs market (e.g., 'Premium - 20% above market', 'Budget option', 'Mid-market')" },
177
+ sales_stage: {
178
+ type: "string",
179
+ description: "What stage of sales funnel",
180
+ enum: ["prospecting", "discovery", "demo", "negotiation", "closing"]
181
+ }
182
+ },
183
+ required: ["product", "target_persona", "proof_points"]
184
+ }
185
+ },
186
+ {
187
+ name: "craft_content_improver",
188
+ description: "ACTUALLY ANALYZE and IMPROVE content. Just paste content - we'll score clarity, structure, engagement and generate an improved version. Version 2.0 - Real analysis!",
189
+ inputSchema: {
190
+ type: "object",
191
+ properties: {
192
+ content: { type: "string", description: "Content to analyze and improve - will be ACTUALLY ANALYZED" },
193
+ content_type: {
194
+ type: "string",
195
+ description: "Type of content affects evaluation criteria",
196
+ enum: ["blog_post", "email", "landing_page", "social_post", "sales_email", "product_description", "press_release", "case_study"]
197
+ },
198
+ goal: { type: "string", description: "OPTIONAL: What should this content achieve? (e.g., 'drive signups', 'educate readers'). Defaults to 'improve engagement and clarity'" },
199
+ audience: { type: "string", description: "OPTIONAL: Who is this content for? Helps tailor improvements." },
200
+ tone_preference: {
201
+ type: "string",
202
+ description: "Desired tone for improvements",
203
+ enum: ["more_formal", "more_casual", "more_urgent", "more_friendly", "more_authoritative", "keep_same"]
204
+ }
205
+ },
206
+ required: ["content", "content_type"]
207
+ }
208
+ }
209
+ ];
210
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ export declare function parseListItems(text: string): string[];
2
+ export declare function countWords(text: string): number;
3
+ export declare function countSentences(text: string): number;
4
+ export declare function avgWordsPerSentence(text: string): number;
5
+ export declare function calculateReadability(text: string): {
6
+ score: number;
7
+ grade: string;
8
+ analysis: string;
9
+ };
10
+ export interface ContentAnalysis {
11
+ clarity: {
12
+ score: number;
13
+ issues: string[];
14
+ suggestions: string[];
15
+ };
16
+ structure: {
17
+ score: number;
18
+ issues: string[];
19
+ suggestions: string[];
20
+ };
21
+ engagement: {
22
+ score: number;
23
+ issues: string[];
24
+ suggestions: string[];
25
+ };
26
+ goalAlignment: {
27
+ score: number;
28
+ issues: string[];
29
+ suggestions: string[];
30
+ };
31
+ overall: {
32
+ score: number;
33
+ rating: string;
34
+ };
35
+ }
36
+ export declare function analyzeContent(content: string, contentType: string, goal: string): ContentAnalysis;
37
+ export declare function generateImprovedVersion(content: string, analysis: ContentAnalysis): string;
38
+ export declare function extractKeyPoints(text: string): string[];
39
+ export declare function generateHook(topic: string, style: 'question' | 'statistic' | 'story' | 'bold_statement'): string;
40
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKrD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIxD;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAkCrG;AA0BD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACpE,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACtE,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACvE,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC1E,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CA6KlG;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,MAAM,CAmC1F;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAoBvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,gBAAgB,GAAG,MAAM,CAahH"}
package/dist/utils.js ADDED
@@ -0,0 +1,289 @@
1
+ // Utility functions for content analysis and generation
2
+ export function parseListItems(text) {
3
+ return text
4
+ .split(/[,\n]/)
5
+ .map(item => item.replace(/^[-•*]\s*/, '').trim())
6
+ .filter(item => item.length > 0);
7
+ }
8
+ export function countWords(text) {
9
+ return text.split(/\s+/).filter(word => word.length > 0).length;
10
+ }
11
+ export function countSentences(text) {
12
+ return text.split(/[.!?]+/).filter(s => s.trim().length > 0).length;
13
+ }
14
+ export function avgWordsPerSentence(text) {
15
+ const sentences = countSentences(text);
16
+ if (sentences === 0)
17
+ return 0;
18
+ return Math.round(countWords(text) / sentences * 10) / 10;
19
+ }
20
+ export function calculateReadability(text) {
21
+ const words = countWords(text);
22
+ const sentences = countSentences(text);
23
+ const syllables = countSyllables(text);
24
+ if (sentences === 0 || words === 0) {
25
+ return { score: 0, grade: 'N/A', analysis: 'Not enough content to analyze' };
26
+ }
27
+ // Flesch Reading Ease formula
28
+ const fleschScore = 206.835 - (1.015 * (words / sentences)) - (84.6 * (syllables / words));
29
+ const normalizedScore = Math.max(0, Math.min(100, fleschScore));
30
+ let grade = '';
31
+ let analysis = '';
32
+ if (normalizedScore >= 80) {
33
+ grade = 'Very Easy';
34
+ analysis = 'Accessible to everyone. Good for broad audiences.';
35
+ }
36
+ else if (normalizedScore >= 60) {
37
+ grade = 'Standard';
38
+ analysis = 'Appropriate for most business content.';
39
+ }
40
+ else if (normalizedScore >= 40) {
41
+ grade = 'Fairly Difficult';
42
+ analysis = 'Best for technical or expert audiences.';
43
+ }
44
+ else if (normalizedScore >= 20) {
45
+ grade = 'Difficult';
46
+ analysis = 'Academic level. May be too complex for general audience.';
47
+ }
48
+ else {
49
+ grade = 'Very Difficult';
50
+ analysis = 'Consider simplifying for better engagement.';
51
+ }
52
+ return { score: Math.round(normalizedScore), grade, analysis };
53
+ }
54
+ function countSyllables(text) {
55
+ const words = text.toLowerCase().match(/[a-z]+/g) || [];
56
+ let total = 0;
57
+ for (const word of words) {
58
+ let count = 0;
59
+ const vowels = 'aeiouy';
60
+ let prevWasVowel = false;
61
+ for (const char of word) {
62
+ const isVowel = vowels.includes(char);
63
+ if (isVowel && !prevWasVowel)
64
+ count++;
65
+ prevWasVowel = isVowel;
66
+ }
67
+ // Adjust for silent e
68
+ if (word.endsWith('e') && count > 1)
69
+ count--;
70
+ // Every word has at least one syllable
71
+ total += Math.max(1, count);
72
+ }
73
+ return total;
74
+ }
75
+ export function analyzeContent(content, contentType, goal) {
76
+ const analysis = {
77
+ clarity: { score: 0, issues: [], suggestions: [] },
78
+ structure: { score: 0, issues: [], suggestions: [] },
79
+ engagement: { score: 0, issues: [], suggestions: [] },
80
+ goalAlignment: { score: 0, issues: [], suggestions: [] },
81
+ overall: { score: 0, rating: '' }
82
+ };
83
+ const words = countWords(content);
84
+ const sentences = countSentences(content);
85
+ const avgWords = avgWordsPerSentence(content);
86
+ const readability = calculateReadability(content);
87
+ // CLARITY ANALYSIS
88
+ let clarityScore = 10;
89
+ // Check sentence length
90
+ if (avgWords > 25) {
91
+ clarityScore -= 3;
92
+ analysis.clarity.issues.push(`Sentences too long (avg ${avgWords} words)`);
93
+ analysis.clarity.suggestions.push('Break sentences at natural pauses. Target 15-20 words per sentence.');
94
+ }
95
+ else if (avgWords > 20) {
96
+ clarityScore -= 1;
97
+ analysis.clarity.issues.push(`Sentences slightly long (avg ${avgWords} words)`);
98
+ analysis.clarity.suggestions.push('Consider shortening some sentences for easier scanning.');
99
+ }
100
+ // Check for passive voice indicators
101
+ const passivePatterns = /\b(was|were|been|being|is|are|am)\s+\w+ed\b/gi;
102
+ const passiveMatches = content.match(passivePatterns) || [];
103
+ if (passiveMatches.length > sentences * 0.3) {
104
+ clarityScore -= 2;
105
+ analysis.clarity.issues.push(`High passive voice usage (${passiveMatches.length} instances)`);
106
+ analysis.clarity.suggestions.push('Convert to active voice: "X did Y" instead of "Y was done by X"');
107
+ }
108
+ // Check for jargon/complexity
109
+ const jargonWords = ['utilize', 'leverage', 'synergy', 'paradigm', 'optimize', 'facilitate', 'implement', 'methodology'];
110
+ const foundJargon = jargonWords.filter(j => content.toLowerCase().includes(j));
111
+ if (foundJargon.length > 2) {
112
+ clarityScore -= 1;
113
+ analysis.clarity.issues.push(`Business jargon detected: ${foundJargon.join(', ')}`);
114
+ analysis.clarity.suggestions.push('Replace with simpler words: "use" instead of "utilize", "improve" instead of "optimize"');
115
+ }
116
+ analysis.clarity.score = Math.max(0, clarityScore);
117
+ // STRUCTURE ANALYSIS
118
+ let structureScore = 10;
119
+ // Check for headers/sections
120
+ const hasHeaders = /^#{1,3}\s|^\*\*[^*]+\*\*$|^[A-Z][^a-z]+$/gm.test(content);
121
+ if (!hasHeaders && words > 200) {
122
+ structureScore -= 3;
123
+ analysis.structure.issues.push('No clear section headers');
124
+ analysis.structure.suggestions.push('Add headers to break up content and aid scanning');
125
+ }
126
+ // Check paragraph length
127
+ const paragraphs = content.split(/\n\n+/).filter(p => p.trim().length > 0);
128
+ const longParagraphs = paragraphs.filter(p => countWords(p) > 100);
129
+ if (longParagraphs.length > 0) {
130
+ structureScore -= 2;
131
+ analysis.structure.issues.push(`${longParagraphs.length} paragraphs over 100 words`);
132
+ analysis.structure.suggestions.push('Break long paragraphs at topic shifts. Aim for 50-75 words per paragraph.');
133
+ }
134
+ // Check for logical flow indicators
135
+ const transitionWords = ['however', 'therefore', 'additionally', 'furthermore', 'consequently', 'moreover', 'first', 'second', 'finally'];
136
+ const foundTransitions = transitionWords.filter(t => content.toLowerCase().includes(t));
137
+ if (foundTransitions.length < 2 && paragraphs.length > 3) {
138
+ structureScore -= 2;
139
+ analysis.structure.issues.push('Few transition words - may feel disjointed');
140
+ analysis.structure.suggestions.push('Add transitions: "However...", "As a result...", "First... Second..."');
141
+ }
142
+ analysis.structure.score = Math.max(0, structureScore);
143
+ // ENGAGEMENT ANALYSIS
144
+ let engagementScore = 10;
145
+ // Check for questions
146
+ const questionCount = (content.match(/\?/g) || []).length;
147
+ if (questionCount === 0 && contentType !== 'press_release') {
148
+ engagementScore -= 2;
149
+ analysis.engagement.issues.push('No questions to engage reader');
150
+ analysis.engagement.suggestions.push('Add a rhetorical question to draw readers in');
151
+ }
152
+ // Check for "you" language
153
+ const youCount = (content.match(/\byou\b|\byour\b/gi) || []).length;
154
+ if (youCount < 3 && contentType !== 'press_release') {
155
+ engagementScore -= 2;
156
+ analysis.engagement.issues.push('Limited "you" language - feels impersonal');
157
+ analysis.engagement.suggestions.push('Reframe benefits in terms of "you": "You\'ll save time" vs "It saves time"');
158
+ }
159
+ // Check for power words
160
+ const powerWords = ['free', 'new', 'proven', 'easy', 'guaranteed', 'save', 'results', 'discover', 'secret', 'exclusive'];
161
+ const foundPowerWords = powerWords.filter(p => content.toLowerCase().includes(p));
162
+ if (foundPowerWords.length === 0) {
163
+ engagementScore -= 1;
164
+ analysis.engagement.issues.push('No power words for emotional impact');
165
+ analysis.engagement.suggestions.push('Add: proven, results, discover, exclusive, free');
166
+ }
167
+ // Check hook (first sentence)
168
+ const firstSentence = content.split(/[.!?]/)[0] || '';
169
+ if (countWords(firstSentence) > 20) {
170
+ engagementScore -= 2;
171
+ analysis.engagement.issues.push('Opening sentence too long - may lose readers');
172
+ analysis.engagement.suggestions.push('Start with a punchy hook under 15 words');
173
+ }
174
+ analysis.engagement.score = Math.max(0, engagementScore);
175
+ // GOAL ALIGNMENT ANALYSIS
176
+ let goalScore = 10;
177
+ const goalLower = goal.toLowerCase();
178
+ const contentLower = content.toLowerCase();
179
+ // Check if CTA exists
180
+ const ctaPatterns = /\b(sign up|register|download|learn more|get started|contact|subscribe|try|book|schedule|click)\b/gi;
181
+ const hasCTA = ctaPatterns.test(content);
182
+ if (goalLower.includes('convert') || goalLower.includes('sign up') || goalLower.includes('lead')) {
183
+ if (!hasCTA) {
184
+ goalScore -= 4;
185
+ analysis.goalAlignment.issues.push('Goal requires conversion but no CTA found');
186
+ analysis.goalAlignment.suggestions.push('Add clear CTA: "Sign up now", "Get started today"');
187
+ }
188
+ }
189
+ if (goalLower.includes('educate') || goalLower.includes('inform')) {
190
+ if (words < 300) {
191
+ goalScore -= 2;
192
+ analysis.goalAlignment.issues.push('Educational content may be too brief');
193
+ analysis.goalAlignment.suggestions.push('Expand with examples, data, or how-to steps');
194
+ }
195
+ }
196
+ if (goalLower.includes('awareness') || goalLower.includes('brand')) {
197
+ const brandMentions = (content.match(/\b[A-Z][a-z]+(?:\s+[A-Z][a-z]+)?\b/g) || []).length;
198
+ if (brandMentions < 2) {
199
+ goalScore -= 2;
200
+ analysis.goalAlignment.issues.push('Brand/product mentions may be insufficient for awareness');
201
+ analysis.goalAlignment.suggestions.push('Ensure brand is mentioned prominently');
202
+ }
203
+ }
204
+ if (goalLower.includes('trust') || goalLower.includes('credibility')) {
205
+ const hasNumbers = /\d+%|\$\d+|\d+x|\d+\s*(customer|client|user)/i.test(content);
206
+ if (!hasNumbers) {
207
+ goalScore -= 3;
208
+ analysis.goalAlignment.issues.push('No data/proof points for credibility');
209
+ analysis.goalAlignment.suggestions.push('Add specific metrics: "50% faster", "10,000+ customers"');
210
+ }
211
+ }
212
+ analysis.goalAlignment.score = Math.max(0, goalScore);
213
+ // Calculate overall
214
+ const totalScore = analysis.clarity.score + analysis.structure.score +
215
+ analysis.engagement.score + analysis.goalAlignment.score;
216
+ analysis.overall.score = Math.round(totalScore / 4 * 10) / 10;
217
+ if (analysis.overall.score >= 8)
218
+ analysis.overall.rating = 'EXCELLENT';
219
+ else if (analysis.overall.score >= 6)
220
+ analysis.overall.rating = 'GOOD';
221
+ else if (analysis.overall.score >= 4)
222
+ analysis.overall.rating = 'NEEDS WORK';
223
+ else
224
+ analysis.overall.rating = 'MAJOR REVISION NEEDED';
225
+ return analysis;
226
+ }
227
+ export function generateImprovedVersion(content, analysis) {
228
+ let improved = content;
229
+ // Apply common improvements
230
+ // Shorten very long sentences
231
+ const sentences = improved.split(/(?<=[.!?])\s+/);
232
+ const improvedSentences = sentences.map(s => {
233
+ if (countWords(s) > 30) {
234
+ // Try to split at conjunctions
235
+ const split = s.replace(/,\s*(and|but|so|or)\s+/gi, '.\n$1 ');
236
+ return split.charAt(0).toUpperCase() + split.slice(1);
237
+ }
238
+ return s;
239
+ });
240
+ improved = improvedSentences.join(' ');
241
+ // Replace common jargon
242
+ const jargonReplacements = {
243
+ 'utilize': 'use',
244
+ 'leverage': 'use',
245
+ 'facilitate': 'help',
246
+ 'implement': 'start',
247
+ 'methodology': 'method',
248
+ 'optimize': 'improve',
249
+ 'synergy': 'collaboration',
250
+ 'paradigm': 'approach'
251
+ };
252
+ for (const [jargon, replacement] of Object.entries(jargonReplacements)) {
253
+ const regex = new RegExp(`\\b${jargon}\\b`, 'gi');
254
+ improved = improved.replace(regex, replacement);
255
+ }
256
+ return improved;
257
+ }
258
+ export function extractKeyPoints(text) {
259
+ const points = [];
260
+ const sentences = text.split(/[.!?]+/).filter(s => s.trim().length > 10);
261
+ // Look for sentences with key indicators
262
+ const keyIndicators = ['key', 'important', 'main', 'critical', 'essential', 'result', 'achieve', 'outcome', 'benefit', 'value'];
263
+ for (const sentence of sentences) {
264
+ const lower = sentence.toLowerCase();
265
+ if (keyIndicators.some(k => lower.includes(k))) {
266
+ points.push(sentence.trim());
267
+ }
268
+ }
269
+ // If no key points found, take first few sentences
270
+ if (points.length === 0 && sentences.length > 0) {
271
+ points.push(...sentences.slice(0, 3).map(s => s.trim()));
272
+ }
273
+ return points.slice(0, 5);
274
+ }
275
+ export function generateHook(topic, style) {
276
+ switch (style) {
277
+ case 'question':
278
+ return `What if everything you knew about ${topic} was wrong?`;
279
+ case 'statistic':
280
+ return `78% of professionals struggle with ${topic}. Here's what the top performers do differently.`;
281
+ case 'story':
282
+ return `Last month, a ${topic} challenge nearly derailed our biggest launch. What we learned changed everything.`;
283
+ case 'bold_statement':
284
+ return `${topic.charAt(0).toUpperCase() + topic.slice(1)} is broken. Here's how to fix it.`;
285
+ default:
286
+ return `Let's talk about ${topic}.`;
287
+ }
288
+ }
289
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare function generateWebinarScript(args: {
2
+ topic: string;
3
+ target_audience: string;
4
+ webinar_type: string;
5
+ duration?: string;
6
+ key_takeaways?: string;
7
+ speakers?: string;
8
+ include_polls?: boolean;
9
+ product_mention_level?: string;
10
+ }): string;
11
+ //# sourceMappingURL=webinar-script.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webinar-script.d.ts","sourceRoot":"","sources":["../src/webinar-script.ts"],"names":[],"mappings":"AAEA,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,GAAG,MAAM,CAgKT"}