open-prompt / src /lib /tools-extended.ts
GitHub Action
Automated sync to Hugging Face
bcce530
/**
* Additional AI Tools - Phase 12-16
* SEO, Sales, Content, Video, and Design Tools
* To be integrated with main tools.ts
*/
import { ToolDefinition } from './tools'
/**
* PHASE 12: SEO TOOLS
*/
export const SEO_TOOLS_EXTENDED: ToolDefinition[] = [
{
slug: 'keyword-research',
name: 'SEO Keyword Research Generator',
description: 'Find profitable keywords for your niche',
category: 'seo',
icon: 'πŸ”',
isPremium: false,
inputSchema: [
{
name: 'seedKeyword',
type: 'text',
label: 'Seed Keyword',
placeholder: 'e.g., coffee maker',
required: true,
},
{
name: 'intent',
type: 'select',
label: 'Search Intent',
options: ['Informational', 'Commercial', 'Transactional', 'Navigational'],
},
],
systemPrompt: `Generate SEO keyword ideas for:
Seed Keyword: {{seedKeyword}}
Intent: {{intent}}
Provide 30 keyword variations:
- Long-tail keywords (15)
- Question-based (10)
- LSI keywords (5)
For each, estimate:
- Search volume (High/Medium/Low)
- Competition (High/Medium/Low)
- Intent match
- Why it's valuable
Format as categorized list.`,
},
{
slug: 'title-tag-generator',
name: 'SEO Title Tag Generator',
description: 'Create optimized title tags that rank and convert',
category: 'seo',
icon: 'πŸ“‘',
isPremium: false,
inputSchema: [
{
name: 'topic',
type: 'text',
label: 'Page Topic',
required: true,
},
{
name: 'targetKeyword',
type: 'text',
label: 'Target Keyword',
required: true,
},
],
systemPrompt: `Generate 10 SEO title tags for:
Topic: {{topic}}
Target Keyword: {{targetKeyword}}
Each title should:
- Be 50-60 characters
- Include target keyword naturally
- Have emotional/power words
- Create click-worthiness
- Follow SEO best practices
Format as numbered list with character count.`,
},
{
slug: 'blog-outline-seo',
name: 'SEO Blog Outline Generator',
description: 'Create SEO-optimized blog post outlines',
category: 'seo',
icon: 'πŸ“',
isPremium: false,
inputSchema: [
{
name: 'topic',
type: 'text',
label: 'Blog Topic',
required: true,
},
{
name: 'wordCount',
type: 'select',
label: 'Target Word Count',
options: ['1000 words', '1500 words', '2000 words', '2500+ words'],
},
],
systemPrompt: `Create an SEO-optimized blog outline for:
Topic: {{topic}}
Target Length: {{wordCount}}
Include:
1. SEO Title (H1)
2. Meta Description
3. Introduction
4. Main Sections (H2s with H3 subsections)
5. FAQ section
6. Conclusion with CTA
7. Suggested internal/external links
Make it comprehensive and SEO-friendly.`,
},
{
slug: 'alt-text-generator',
name: 'Image Alt Text Generator',
description: 'Create descriptive, SEO-friendly alt text for images',
category: 'seo',
icon: 'πŸ–ΌοΈ',
isPremium: false,
inputSchema: [
{
name: 'imageDescription',
type: 'textarea',
label: 'Describe the Image',
required: true,
},
{
name: 'targetKeyword',
type: 'text',
label: 'Target Keyword (optional)',
},
],
systemPrompt: `Generate alt text for this image:
Description: {{imageDescription}}
Keyword: {{targetKeyword}}
Create 5 alt text variations:
- Descriptive and specific
- Include keyword naturally (if provided)
- Under 125 characters
- Accessible and helpful
Format as numbered list with character count.`,
},
{
slug: 'schema-markup-generator',
name: 'Schema Markup Generator',
description: 'Generate structured data for better SERP visibility',
category: 'seo',
icon: '🏷️',
isPremium: true,
inputSchema: [
{
name: 'contentType',
type: 'select',
label: 'Content Type',
options: ['Article', 'Product', 'Recipe', 'Event', 'FAQ', 'How-To'],
required: true,
},
{
name: 'details',
type: 'textarea',
label: 'Content Details',
placeholder: 'Provide key information...',
required: true,
},
],
systemPrompt: `Generate Schema.org markup for:
Type: {{contentType}}
Details: {{details}}
Create valid JSON-LD schema markup.
Include all required and recommended fields.
Follow latest schema.org standards.
Return the complete JSON-LD code ready to implement.`,
model: 'gpt-4o',
},
{
slug: 'local-seo-optimizer',
name: 'Local SEO Optimizer',
description: 'Optimize content for local search rankings',
category: 'seo',
icon: 'πŸ“',
isPremium: false,
inputSchema: [
{
name: 'businessType',
type: 'text',
label: 'Business Type',
required: true,
},
{
name: 'location',
type: 'text',
label: 'Location/City',
required: true,
},
],
systemPrompt: `Create local SEO recommendations for:
Business: {{businessType}}
Location: {{location}}
Provide:
1. Local keywords to target (20)
2. Google Business Profile optimization tips
3. NAP consistency checklist
4. Local citation opportunities
5. Location page content structure
6. Local link building ideas
7. Review generation strategy
Make it actionable and location-specific.`,
},
{
slug: 'internal-linking-suggestions',
name: 'Internal Linking Suggestions',
description: 'Get internal linking recommendations for SEO',
category: 'seo',
icon: 'πŸ”—',
isPremium: false,
inputSchema: [
{
name: 'pageContent',
type: 'textarea',
label: 'Page Content Summary',
required: true,
},
{
name: 'otherPages',
type: 'textarea',
label: 'Other Page Topics (one per line)',
required: true,
},
],
systemPrompt: `Suggest internal linking strategy for:
Current Page: {{pageContent}}
Other Pages: {{otherPages}}
Provide:
1. Which pages to link to
2. Suggested anchor text (5 variations each)
3. Where to place links (contextually)
4. Why the link makes sense (relevance + SEO)
5. Link flow architecture
Follow SEO best practices.`,
},
];
/**
* PHASE 13: SALES TOOLS
*/
export const SALES_TOOLS_EXTENDED: ToolDefinition[] = [
{
slug: 'sales-proposal-generator',
name: 'Sales Proposal Generator',
description: 'Create professional sales proposals that close deals',
category: 'sales',
icon: 'πŸ“‹',
isPremium: false,
inputSchema: [
{
name: 'clientName',
type: 'text',
label: 'Client Name',
required: true,
},
{
name: 'solution',
type: 'textarea',
label: 'Your Solution',
required: true,
},
{
name: 'pricing',
type: 'text',
label: 'Pricing',
required: true,
},
],
systemPrompt: `Create a sales proposal for:
Client: {{clientName}}
Solution: {{solution}}
Pricing: {{pricing}}
Include:
1. Executive Summary
2. Client Needs & Pain Points
3. Proposed Solution
4. Benefits & ROI
5. Pricing & Packages
6. Implementation Timeline
7. About Us/Credentials
8. Next Steps
Make it professional and persuasive.`,
},
{
slug: 'objection-handler',
name: 'Sales Objection Handler',
description: 'Get responses to common sales objections',
category: 'sales',
icon: 'πŸ›‘οΈ',
isPremium: false,
inputSchema: [
{
name: 'objection',
type: 'textarea',
label: 'Customer Objection',
placeholder: 'e.g., "It\'s too expensive"',
required: true,
},
{
name: 'product',
type: 'text',
label: 'Your Product/Service',
required: true,
},
],
systemPrompt: `Provide objection handling strategies for:
Objection: {{objection}}
Product: {{product}}
For this objection, provide:
1. Why they might have this concern
2. 3 different response approaches:
- Empathy-based
- Value-focused
- Reframe technique
3. Example responses (word-for-word)
4. Follow-up questions to ask
Make responses natural and effective.`,
},
{
slug: 'follow-up-sequence',
name: 'Sales Follow-up Sequence',
description: 'Create a multi-touch follow-up email sequence',
category: 'sales',
icon: 'πŸ“¨',
isPremium: false,
inputSchema: [
{
name: 'situation',
type: 'select',
label: 'Follow-up Scenario',
options: ['After Demo', 'After Proposal', 'Cold Prospect', 'After Meeting', 'Inactive Lead'],
required: true,
},
{
name: 'product',
type: 'text',
label: 'Product/Service',
required: true,
},
],
systemPrompt: `Create a 5-email follow-up sequence for:
Scenario: {{situation}}
Product: {{product}}
For each email (Days 1, 3, 7, 14, 21):
- Subject line
- Email body
- Goal of email
- CTA
Vary the approach: value, urgency, social proof, help, breakup.
Make each email concise and actionable.`,
},
{
slug: 'discovery-questions',
name: 'Sales Discovery Questions',
description: 'Generate questions to qualify and understand prospects',
category: 'sales',
icon: '❓',
isPremium: false,
inputSchema: [
{
name: 'industry',
type: 'text',
label: 'Prospect Industry',
required: true,
},
{
name: 'solution',
type: 'text',
label: 'What You Sell',
required: true,
},
],
systemPrompt: `Generate discovery questions for:
Industry: {{industry}}
Solution: {{solution}}
Create 20 questions across:
- Situation (5): Current state
- Problem (5): Pain points
- Implication (5): Impact
- Need-Payoff (5): Desired outcome
For each question, explain:
- What you're uncovering
- How to use the answer
Use SPIN selling methodology.`,
},
{
slug: 'sales-script',
name: 'Sales Call Script Generator',
description: 'Create effective sales call scripts',
category: 'sales',
icon: 'πŸ“ž',
isPremium: false,
inputSchema: [
{
name: 'callType',
type: 'select',
label: 'Call Type',
options: ['Cold Call', 'Discovery Call', 'Demo Call', 'Closing Call'],
required: true,
},
{
name: 'product',
type: 'text',
label: 'Product/Service',
required: true,
},
],
systemPrompt: `Create a sales call script for:
Call Type: {{callType}}
Product: {{product}}
Include:
1. Opening (first 30 seconds)
2. Rapport building
3. Permission to proceed
4. Key questions to ask
5. Value proposition pitch
6. Handling objections
7. Next steps/Close
8. Alternative paths if they say no
Make it natural, not robotic.`,
},
{
slug: 'quote-generator',
name: 'Quote/Estimate Generator',
description: 'Create professional quotes and estimates',
category: 'sales',
icon: 'πŸ’°',
isPremium: false,
inputSchema: [
{
name: 'serviceDescription',
type: 'textarea',
label: 'Service/Product Description',
required: true,
},
{
name: 'clientInfo',
type: 'text',
label: 'Client Information',
required: true,
},
],
systemPrompt: `Create a professional quote/estimate for:
Service: {{serviceDescription}}
Client: {{clientInfo}}
Include:
1. Header (company info, quote #, date, validity)
2. Client details
3. Scope of work
4. Line items with descriptions
5. Pricing breakdown
6. Total cost
7. Terms and conditions
8. Payment terms
9. Next steps
Make it professional and clear.`,
},
];
// Export all extended tools
export const EXTENDED_TOOLS = [
...SEO_TOOLS_EXTENDED,
...SALES_TOOLS_EXTENDED,
];