marketingskills-ai-agent-collection
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseMarketing Skills for AI Agents
面向AI Agent的营销技能集
Skill by ara.so — Marketing Skills collection.
A collection of AI agent skills focused on marketing tasks including conversion optimization, copywriting, SEO, analytics, and growth engineering. Works with Claude Code, OpenAI Codex, Cursor, Windsurf, and any agent that supports the Agent Skills spec.
由ara.so提供的技能——营销技能合集。
这是一套专注于营销任务的AI Agent技能合集,涵盖转化优化(CRO)、文案撰写、SEO、数据分析及增长工程。兼容Claude Code、OpenAI Codex、Cursor、Windsurf以及所有支持Agent Skills规范的Agent。
What This Project Does
本项目功能
Marketing Skills provides 40+ specialized markdown-based skills that give AI coding agents expertise in marketing tasks. Each skill contains frameworks, workflows, and best practices for specific marketing disciplines:
- SEO & Content: seo-audit, ai-seo, site-architecture, programmatic-seo, schema, content-strategy, aso
- CRO: cro, signup, onboarding, popups, paywalls
- Content & Copy: copywriting, copy-editing, cold-email, emails, social, video, image
- Paid & Measurement: ads, ad-creative, ab-testing, analytics
- Growth & Retention: referrals, free-tools, churn-prevention, community-marketing, lead-magnets, co-marketing
- Sales & GTM: revops, sales-enablement, launch, pricing, competitors, competitor-profiling, directory-submissions
- Strategy: marketing-ideas, marketing-psychology, customer-research, product-marketing
Skills reference each other and build on shared context, with as the foundation that all other skills check first.
product-marketingMarketing Skills提供了40+基于Markdown的专业技能,让AI编码Agent具备营销任务处理能力。每个技能都包含特定营销领域的框架、工作流及最佳实践:
- SEO与内容: seo-audit, ai-seo, site-architecture, programmatic-seo, schema, content-strategy, aso
- CRO: cro, signup, onboarding, popups, paywalls
- 内容与文案: copywriting, copy-editing, cold-email, emails, social, video, image
- 付费与数据测量: ads, ad-creative, ab-testing, analytics
- 增长与留存: referrals, free-tools, churn-prevention, community-marketing, lead-magnets, co-marketing
- 销售与GTM: revops, sales-enablement, launch, pricing, competitors, competitor-profiling, directory-submissions
- 策略: marketing-ideas, marketing-psychology, customer-research, product-marketing
技能之间相互关联,共享上下文信息,其中是所有其他技能都会优先调用的基础技能。
product-marketingInstallation
安装方法
Option 1: CLI Install (Recommended)
选项1:CLI安装(推荐)
bash
undefinedbash
undefinedInstall all skills
安装所有技能
npx skills coreyhaines31/marketingskills
npx skills coreyhaines31/marketingskills
Install specific skills
安装特定技能
npx skills coreyhaines31/marketingskills --skills seo-audit,copywriting,cro
npx skills coreyhaines31/marketingskills --skills seo-audit,copywriting,cro
Install to custom directory
安装到自定义目录
npx skills coreyhaines31/marketingskills --dir .ai/custom-skills
undefinednpx skills coreyhaines31/marketingskills --dir .ai/custom-skills
undefinedOption 2: Manual Install
选项2:手动安装
bash
undefinedbash
undefinedClone the repository
克隆仓库
Copy skills to your project's .ai directory
将技能复制到项目的.ai目录
cp -r marketingskills/skills .ai/
undefinedcp -r marketingskills/skills .ai/
undefinedOption 3: Git Submodule
选项3:Git子模块
bash
undefinedbash
undefinedAdd as submodule
添加为子模块
git submodule add https://github.com/coreyhaines31/marketingskills.git .ai/marketingskills
git submodule add https://github.com/coreyhaines31/marketingskills.git .ai/marketingskills
Update submodule
更新子模块
git submodule update --remote .ai/marketingskills
undefinedgit submodule update --remote .ai/marketingskills
undefinedProject Structure
项目结构
marketingskills/
├── skills/ # All skill markdown files
│ ├── product-marketing/ # Foundation skill (read by all others)
│ │ └── SKILL.md
│ ├── seo-audit/
│ │ └── SKILL.md
│ ├── copywriting/
│ │ └── SKILL.md
│ ├── cro/
│ │ └── SKILL.md
│ └── [40+ more skills]/
├── examples/ # Example outputs and workflows
├── scripts/ # Utility scripts
└── README.mdmarketingskills/
├── skills/ # 所有技能Markdown文件
│ ├── product-marketing/ # 基础技能(所有其他技能都会读取)
│ │ └── SKILL.md
│ ├── seo-audit/
│ │ └── SKILL.md
│ ├── copywriting/
│ │ └── SKILL.md
│ ├── cro/
│ │ └── SKILL.md
│ └── [40+更多技能]/
├── examples/ # 示例输出与工作流
├── scripts/ # 实用脚本
└── README.mdCore Concepts
核心概念
Skills are Markdown Files
技能是Markdown文件
Each skill is a file with YAML frontmatter containing:
.mdyaml
---
name: skill-name-kebab-case
description: One-line description of what the skill does
triggers:
- "when user says this"
- "or mentions this"
---每个技能都是一个带YAML前置内容的文件,格式如下:
.mdyaml
---
name: skill-name-kebab-case
description: 技能功能的单行描述
triggers:
- "当用户说这句话时"
- "或提到这个内容时"
---Skills Reference Each Other
技能之间相互关联
Skills can reference and build upon each other:
markdown
undefined技能可以相互引用并基于彼此扩展:
markdown
undefinedRelated Skills
相关技能
- product-marketing — Always read first to understand product context
- customer-research — Use to gather insights before writing copy
- ab-testing — Use to test copy variations
undefined- product-marketing — 始终优先读取以了解产品上下文
- customer-research — 撰写文案前用于收集用户洞察
- ab-testing — 用于测试文案变体效果
undefinedProduct Marketing is the Foundation
Product Marketing是基础
Every marketing skill checks first to understand:
product-marketing/SKILL.md- Product name, description, and positioning
- Target audience and personas
- Value propositions and messaging
- Core features and benefits
- Brand voice and tone
每个营销技能都会先读取,以了解以下信息:
product-marketing/SKILL.md- 产品名称、描述与定位
- 目标受众与用户画像
- 价值主张与核心信息
- 核心功能与优势
- 品牌语气与风格
Usage Examples
使用示例
Creating a Product Marketing Context
创建产品营销上下文
javascript
// Agent automatically uses product-marketing skill when you say:
// "Create a product marketing context document for my SaaS"
// The skill will prompt for:
// - Product name and tagline
// - Target audience and personas
// - Core value propositions
// - Key features and benefits
// - Competitors and differentiation
// - Brand voice and tone
// Output saved to: product-context.md or .ai/product-marketing.mdjavascript
// 当你说以下内容时,Agent会自动调用product-marketing技能:
// "为我的SaaS产品创建一份产品营销上下文文档"
// 该技能会提示你提供:
// - 产品名称与标语
// - 目标受众与用户画像
// - 核心价值主张
// - 关键功能与优势
// - 竞品与差异化点
// - 品牌语气与风格
// 输出将保存至:product-context.md 或 .ai/product-marketing.mdRunning an SEO Audit
执行SEO审计
javascript
// Agent uses seo-audit skill when you say:
// "Audit my website's SEO"
// The skill will:
// 1. Check product-marketing context first
// 2. Analyze site structure and technical SEO
// 3. Review on-page optimization
// 4. Check content quality and targeting
// 5. Provide prioritized recommendations
// Example output structure:
const seoAuditReport = {
technical: {
siteSpeed: "analysis",
mobileFriendly: "check",
indexability: "status",
structuredData: "validation"
},
onPage: {
titleTags: "optimization",
metaDescriptions: "review",
headings: "hierarchy",
internalLinking: "analysis"
},
content: {
keywordTargeting: "gaps",
contentQuality: "assessment",
topicalAuthority: "score"
},
recommendations: [
{ priority: "high", task: "Fix crawl errors", impact: "Critical" },
{ priority: "medium", task: "Improve title tags", impact: "High" }
]
};javascript
// 当你说以下内容时,Agent会调用seo-audit技能:
// "审计我网站的SEO情况"
// 该技能会:
// 1. 先检查product-marketing上下文
// 2. 分析网站结构与技术SEO
// 3. 审核页面优化情况
// 4. 检查内容质量与目标定位
// 5. 提供优先级明确的建议
// 示例输出结构:
const seoAuditReport = {
technical: {
siteSpeed: "analysis",
mobileFriendly: "check",
indexability: "status",
structuredData: "validation"
},
onPage: {
titleTags: "optimization",
metaDescriptions: "review",
headings: "hierarchy",
internalLinking: "analysis"
},
content: {
keywordTargeting: "gaps",
contentQuality: "assessment",
topicalAuthority: "score"
},
recommendations: [
{ priority: "high", task: "Fix crawl errors", impact: "Critical" },
{ priority: "medium", task: "Improve title tags", impact: "High" }
]
};Optimizing Conversion Rates
优化转化率
javascript
// Agent uses cro skill when you say:
// "Help me improve conversions on my landing page"
// The skill applies CRO frameworks:
// 1. Reads product-marketing context
// 2. Analyzes current page structure
// 3. Applies conversion optimization principles
// 4. Suggests A/B test ideas
// Example CRO analysis
const croRecommendations = {
headline: {
current: "We help businesses grow",
suggested: "Double your leads in 30 days",
reasoning: "Specific outcome + timeframe"
},
cta: {
current: "Sign up",
suggested: "Start your free trial",
reasoning: "Lower friction, clear value"
},
socialProof: {
add: ["customer logos", "testimonials", "case study metrics"],
placement: "above the fold"
},
experiments: [
{ test: "Hero headline variations", priority: "high" },
{ test: "CTA button copy", priority: "high" },
{ test: "Pricing display", priority: "medium" }
]
};javascript
// 当你说以下内容时,Agent会调用cro技能:
// "帮我优化着陆页的转化率"
// 该技能应用CRO框架:
// 1. 读取product-marketing上下文
// 2. 分析当前页面结构
// 3. 应用转化优化原则
// 4. 提出A/B测试方案
// 示例CRO分析结果
const croRecommendations = {
headline: {
current: "We help businesses grow",
suggested: "Double your leads in 30 days",
reasoning: "Specific outcome + timeframe"
},
cta: {
current: "Sign up",
suggested: "Start your free trial",
reasoning: "Lower friction, clear value"
},
socialProof: {
add: ["customer logos", "testimonials", "case study metrics"],
placement: "above the fold"
},
experiments: [
{ test: "Hero headline variations", priority: "high" },
{ test: "CTA button copy", priority: "high" },
{ test: "Pricing display", priority: "medium" }
]
};Writing Marketing Copy
撰写营销文案
javascript
// Agent uses copywriting skill when you say:
// "Write homepage copy for my product"
// The skill follows this workflow:
// 1. Read product-marketing context
// 2. Apply copywriting frameworks (AIDA, PAS, etc.)
// 3. Generate copy variations
// 4. Suggest improvements
// Example generated copy structure
const homepageCopy = {
hero: {
headline: "Turn Visitors Into Customers",
subheadline: "AI-powered conversion optimization for modern SaaS",
cta: "Start optimizing free"
},
valueProps: [
{
headline: "Know exactly what to test",
body: "AI analyzes your traffic and suggests high-impact experiments"
},
{
headline: "Ship tests in minutes, not days",
body: "Visual editor makes A/B testing accessible to any team"
}
],
socialProof: {
stat: "10,000+ companies trust us",
testimonial: "We increased signups 47% in the first month"
}
};javascript
// 当你说以下内容时,Agent会调用copywriting技能:
// "为我的产品撰写首页文案"
// 该技能遵循以下工作流:
// 1. 读取product-marketing上下文
// 2. 应用文案撰写框架(AIDA、PAS等)
// 3. 生成多个文案变体
// 4. 提出改进建议
// 示例生成的文案结构
const homepageCopy = {
hero: {
headline: "Turn Visitors Into Customers",
subheadline: "AI-powered conversion optimization for modern SaaS",
cta: "Start optimizing free"
},
valueProps: [
{
headline: "Know exactly what to test",
body: "AI analyzes your traffic and suggests high-impact experiments"
},
{
headline: "Ship tests in minutes, not days",
body: "Visual editor makes A/B testing accessible to any team"
}
],
socialProof: {
stat: "10,000+ companies trust us",
testimonial: "We increased signups 47% in the first month"
}
};Setting Up Analytics
搭建数据分析系统
javascript
// Agent uses analytics skill when you say:
// "Set up Google Analytics 4 tracking"
// The skill provides implementation code
// Example: GA4 setup with custom events
// Install gtag
const setupGA4 = () => {
// Add to <head>
const gtagScript = `
<script async src="https://www.googletagmanager.com/gtag/js?id=${process.env.GA4_MEASUREMENT_ID}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '${process.env.GA4_MEASUREMENT_ID}');
</script>
`;
};
// Track custom events
const trackConversion = (eventName, value) => {
if (typeof gtag !== 'undefined') {
gtag('event', eventName, {
'event_category': 'conversion',
'event_label': eventName,
'value': value
});
}
};
// Example usage
trackConversion('trial_started', 1);
trackConversion('purchase_completed', 99);javascript
// 当你说以下内容时,Agent会调用analytics技能:
// "搭建Google Analytics 4追踪系统"
// 该技能提供实现代码
// 示例:带自定义事件的GA4搭建方案
// 安装gtag
const setupGA4 = () => {
// 添加至<head>
const gtagScript = `
<script async src="https://www.googletagmanager.com/gtag/js?id=${process.env.GA4_MEASUREMENT_ID}"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', '${process.env.GA4_MEASUREMENT_ID}');
</script>
`;
};
// 追踪自定义事件
const trackConversion = (eventName, value) => {
if (typeof gtag !== 'undefined') {
gtag('event', eventName, {
'event_category': 'conversion',
'event_label': eventName,
'value': value
});
}
};
// 示例用法
trackConversion('trial_started', 1);
trackConversion('purchase_completed', 99);Creating Programmatic SEO Pages
创建程序化SEO页面
javascript
// Agent uses programmatic-seo skill when you say:
// "Create landing pages for all my competitors"
// Example: Generate competitor comparison pages
const generateCompetitorPages = async (competitors) => {
// Read product context
const product = await readProductContext();
// Template for competitor pages
const template = (competitor) => ({
url: `/vs/${competitor.slug}`,
title: `${product.name} vs ${competitor.name} - Comparison`,
metaDescription: `Compare ${product.name} and ${competitor.name}. See features, pricing, and why teams choose ${product.name}.`,
schema: {
"@type": "ComparisonTable",
items: [product, competitor]
},
sections: {
hero: `${product.name} vs ${competitor.name}`,
comparison: generateComparisonTable(product, competitor),
whyChooseUs: generateDifferentiators(product, competitor),
cta: `Try ${product.name} free`
}
});
// Generate pages
return competitors.map(competitor => ({
path: `/vs/${competitor.slug}/index.html`,
content: renderTemplate(template(competitor))
}));
};javascript
// 当你说以下内容时,Agent会调用programmatic-seo技能:
// "为所有竞品创建着陆页"
// 示例:生成竞品对比页面
const generateCompetitorPages = async (competitors) => {
// 读取产品上下文
const product = await readProductContext();
// 竞品页面模板
const template = (competitor) => ({
url: `/vs/${competitor.slug}`,
title: `${product.name} vs ${competitor.name} - Comparison`,
metaDescription: `Compare ${product.name} and ${competitor.name}. See features, pricing, and why teams choose ${product.name}.`,
schema: {
"@type": "ComparisonTable",
items: [product, competitor]
},
sections: {
hero: `${product.name} vs ${competitor.name}`,
comparison: generateComparisonTable(product, competitor),
whyChooseUs: generateDifferentiators(product, competitor),
cta: `Try ${product.name} free`
}
});
// 生成页面
return competitors.map(competitor => ({
path: `/vs/${competitor.slug}/index.html`,
content: renderTemplate(template(competitor))
}));
};Building an Email Sequence
构建邮件序列
javascript
// Agent uses emails skill when you say:
// "Create an onboarding email sequence"
// Example: Trial onboarding sequence
const onboardingSequence = [
{
delay: 0,
subject: "Welcome to {product_name}! Here's what to do first",
preview: "Get started in 3 simple steps",
body: `
Hi {first_name},
Welcome! Here's how to get the most value in your first week:
1. Complete your profile (2 min)
2. Import your data (5 min)
3. Run your first campaign (10 min)
[Get Started] → {onboarding_url}
`
},
{
delay: 2, // days
subject: "Quick question about your {product_name} trial",
condition: "not_activated",
body: `
Hi {first_name},
I noticed you haven't {activation_milestone} yet.
Is there anything blocking you? Hit reply and I'll personally help.
Common issues we've solved:
- Integration setup
- Data import
- Team training
Want to jump on a quick call? [Book 15 min]
`
},
{
delay: 5,
subject: "Your trial ends in 2 days",
condition: "trial_ending",
body: `
Hi {first_name},
Your trial ends in 2 days. Here's what you've achieved:
✓ {metric_1}
✓ {metric_2}
✓ {metric_3}
Ready to keep going? [Choose your plan]
Questions? Reply to this email.
`
}
];
// Implementation with variables
const sendEmail = (template, user) => {
const variables = {
product_name: process.env.PRODUCT_NAME,
first_name: user.firstName,
onboarding_url: `${process.env.APP_URL}/onboarding`,
activation_milestone: "imported your first campaign",
metric_1: user.metrics.campaigns,
metric_2: user.metrics.conversions,
metric_3: user.metrics.revenue
};
return replaceVariables(template.body, variables);
};javascript
// 当你说以下内容时,Agent会调用emails技能:
// "创建一份新用户引导邮件序列"
// 示例:试用版用户引导序列
const onboardingSequence = [
{
delay: 0,
subject: "Welcome to {product_name}! Here's what to do first",
preview: "Get started in 3 simple steps",
body: `
Hi {first_name},
Welcome! Here's how to get the most value in your first week:
1. Complete your profile (2 min)
2. Import your data (5 min)
3. Run your first campaign (10 min)
[Get Started] → {onboarding_url}
`
},
{
delay: 2, // days
subject: "Quick question about your {product_name} trial",
condition: "not_activated",
body: `
Hi {first_name},
I noticed you haven't {activation_milestone} yet.
Is there anything blocking you? Hit reply and I'll personally help.
Common issues we've solved:
- Integration setup
- Data import
- Team training
Want to jump on a quick call? [Book 15 min]
`
},
{
delay: 5,
subject: "Your trial ends in 2 days",
condition: "trial_ending",
body: `
Hi {first_name},
Your trial ends in 2 days. Here's what you've achieved:
✓ {metric_1}
✓ {metric_2}
✓ {metric_3}
Ready to keep going? [Choose your plan]
Questions? Reply to this email.
`
}
];
// 带变量的实现
const sendEmail = (template, user) => {
const variables = {
product_name: process.env.PRODUCT_NAME,
first_name: user.firstName,
onboarding_url: `${process.env.APP_URL}/onboarding`,
activation_milestone: "imported your first campaign",
metric_1: user.metrics.campaigns,
metric_2: user.metrics.conversions,
metric_3: user.metrics.revenue
};
return replaceVariables(template.body, variables);
};Running A/B Tests
运行A/B测试
javascript
// Agent uses ab-testing skill when you say:
// "Set up an A/B test for my pricing page"
// Example: Client-side A/B test implementation
const abTest = {
name: "pricing_page_layout",
variants: {
control: {
layout: "traditional",
weight: 0.5
},
treatment: {
layout: "comparison_table",
weight: 0.5
}
},
metrics: {
primary: "trial_signups",
secondary: ["page_views", "time_on_page", "scroll_depth"]
}
};
// Assignment function
const assignVariant = (userId, testName) => {
const hash = simpleHash(`${userId}-${testName}`);
return hash % 100 < 50 ? 'control' : 'treatment';
};
// Track experiment exposure
const trackExperiment = (testName, variant) => {
if (typeof gtag !== 'undefined') {
gtag('event', 'experiment_view', {
'experiment_name': testName,
'variant': variant
});
}
};
// Track conversion
const trackConversion = (testName, variant, metric) => {
if (typeof gtag !== 'undefined') {
gtag('event', metric, {
'experiment_name': testName,
'variant': variant
});
}
};
// Usage
const variant = assignVariant(user.id, 'pricing_page_layout');
trackExperiment('pricing_page_layout', variant);
// On conversion
document.querySelector('.signup-button').addEventListener('click', () => {
trackConversion('pricing_page_layout', variant, 'trial_signups');
});javascript
// 当你说以下内容时,Agent会调用ab-testing技能:
// "为我的定价页搭建A/B测试"
// 示例:客户端A/B测试实现
const abTest = {
name: "pricing_page_layout",
variants: {
control: {
layout: "traditional",
weight: 0.5
},
treatment: {
layout: "comparison_table",
weight: 0.5
}
},
metrics: {
primary: "trial_signups",
secondary: ["page_views", "time_on_page", "scroll_depth"]
}
};
// 变体分配函数
const assignVariant = (userId, testName) => {
const hash = simpleHash(`${userId}-${testName}`);
return hash % 100 < 50 ? 'control' : 'treatment';
};
// 追踪实验曝光
const trackExperiment = (testName, variant) => {
if (typeof gtag !== 'undefined') {
gtag('event', 'experiment_view', {
'experiment_name': testName,
'variant': variant
});
}
};
// 追踪转化
const trackConversion = (testName, variant, metric) => {
if (typeof gtag !== 'undefined') {
gtag('event', metric, {
'experiment_name': testName,
'variant': variant
});
}
};
// 用法
const variant = assignVariant(user.id, 'pricing_page_layout');
trackExperiment('pricing_page_layout', variant);
// 转化时触发
document.querySelector('.signup-button').addEventListener('click', () => {
trackConversion('pricing_page_layout', variant, 'trial_signups');
});Configuration
配置说明
Environment Variables
环境变量
Skills reference environment variables for configuration:
bash
undefined技能会引用环境变量进行配置:
bash
undefinedProduct context
产品上下文
PRODUCT_NAME="Your Product"
PRODUCT_URL="https://yourproduct.com"
PRODUCT_NAME="Your Product"
PRODUCT_URL="https://yourproduct.com"
Analytics
数据分析
GA4_MEASUREMENT_ID="G-XXXXXXXXXX"
GOOGLE_TAG_MANAGER_ID="GTM-XXXXXX"
GA4_MEASUREMENT_ID="G-XXXXXXXXXX"
GOOGLE_TAG_MANAGER_ID="GTM-XXXXXX"
Marketing platforms
营销平台
MAILCHIMP_API_KEY="your_api_key"
HUBSPOT_API_KEY="your_api_key"
MAILCHIMP_API_KEY="your_api_key"
HUBSPOT_API_KEY="your_api_key"
SEO tools
SEO工具
AHREFS_API_KEY="your_api_key"
SEMRUSH_API_KEY="your_api_key"
undefinedAHREFS_API_KEY="your_api_key"
SEMRUSH_API_KEY="your_api_key"
undefinedSkill Directory Location
技能目录位置
Skills can be installed in different locations:
javascript
// Default: .ai/skills/
// Custom: .ai/custom-skills/
// Or any directory your agent checks
// Specify in your agent config
{
"skillsDirectory": ".ai/marketingskills/skills"
}技能可安装在不同位置:
javascript
// 默认:.ai/skills/
// 自定义:.ai/custom-skills/
// 或任何Agent会扫描的目录
// 在Agent配置中指定
{
"skillsDirectory": ".ai/marketingskills/skills"
}Common Patterns
常见模式
Sequential Skill Usage
技能顺序调用
Many marketing tasks use skills in sequence:
javascript
// Pattern: Research → Strategy → Execution → Optimization
// 1. customer-research - gather insights
// 2. product-marketing - define positioning
// 3. copywriting - write messaging
// 4. cro - optimize conversion
// 5. ab-testing - validate improvements许多营销任务会按顺序调用多个技能:
javascript
// 模式:调研 → 策略 → 执行 → 优化
// 1. customer-research - 收集用户洞察
// 2. product-marketing - 定义产品定位
// 3. copywriting - 撰写核心信息
// 4. cro - 优化转化效果
// 5. ab-testing - 验证改进方案Cross-Referencing Skills
技能交叉引用
Skills often reference each other:
javascript
// When writing copy, agent might also use:
// - customer-research (for voice of customer)
// - marketing-psychology (for persuasion principles)
// - ab-testing (for testing variations)
// - copy-editing (for refinement)技能经常相互引用:
javascript
// 撰写文案时,Agent可能还会调用:
// - customer-research(获取用户真实反馈)
// - marketing-psychology(应用说服原则)
// - ab-testing(测试文案变体)
// - copy-editing(优化文案细节)Data-Driven Workflows
数据驱动工作流
javascript
// Pattern: Audit → Analyze → Recommend → Implement
// Example: SEO workflow
// 1. seo-audit - identify issues
const auditResults = await runSEOAudit(siteUrl);
// 2. Analyze findings
const prioritized = prioritizeIssues(auditResults);
// 3. ai-seo - optimize for AI search
const aiOptimizations = generateAISearchContent();
// 4. schema - add structured data
const schemaMarkup = generateSchemaMarkup();
// 5. analytics - track improvements
const tracking = setupSEOTracking();javascript
// 模式:审计 → 分析 → 建议 → 实施
// 示例:SEO工作流
// 1. seo-audit - 识别问题
const auditResults = await runSEOAudit(siteUrl);
// 2. 分析结果
const prioritized = prioritizeIssues(auditResults);
// 3. ai-seo - 针对AI搜索优化
const aiOptimizations = generateAISearchContent();
// 4. schema - 添加结构化数据
const schemaMarkup = generateSchemaMarkup();
// 5. analytics - 追踪优化效果
const tracking = setupSEOTracking();Troubleshooting
故障排除
Skills Not Loading
技能无法加载
bash
undefinedbash
undefinedVerify skills directory exists
验证技能目录是否存在
ls -la .ai/skills/
ls -la .ai/skills/
Check skill file structure
检查技能文件结构
cat .ai/skills/product-marketing/SKILL.md
cat .ai/skills/product-marketing/SKILL.md
Ensure YAML frontmatter is valid
确保YAML前置内容格式有效
Skills must start with ---
技能文件必须以---开头
undefinedundefinedAgent Not Using Skills
Agent未调用技能
bash
undefinedbash
undefinedBe explicit in your prompts
在提示中明确指定技能
Instead of: "help with marketing"
不要说:"帮我做营销"
Try: "use the seo-audit skill to analyze my site"
尝试说:"使用seo-audit技能分析我的网站"
Or: "read my product-marketing context and write homepage copy"
或者:"读取我的product-marketing上下文并撰写首页文案"
undefinedundefinedMissing Product Context
缺少产品上下文
bash
undefinedbash
undefinedMost skills require product-marketing context first
大多数技能需要先有product-marketing上下文
Create it with:
通过以下命令创建:
"Create a product marketing context document"
"Create a product marketing context document"
Or manually create:
或手动创建:
.ai/product-marketing.md
.ai/product-marketing.md
undefinedundefinedSkill Conflicts
技能冲突
bash
undefinedbash
undefinedIf multiple skills trigger, be specific:
如果多个技能被触发,请明确指定:
"use the copywriting skill" (not just "write copy")
"使用copywriting技能"(不要只说"写文案")
"use the cold-email skill" (not just "write email")
"使用cold-email技能"(不要只说"写邮件")
undefinedundefinedIntegration Examples
集成示例
With Next.js
与Next.js集成
javascript
// pages/vs/[competitor].js
import { generateCompetitorPage } from '@/lib/programmatic-seo';
import { getProductContext } from '@/lib/product-marketing';
export async function getStaticPaths() {
const competitors = await getCompetitors();
return {
paths: competitors.map(c => ({ params: { competitor: c.slug } })),
fallback: false
};
}
export async function getStaticProps({ params }) {
const product = await getProductContext();
const competitor = await getCompetitor(params.competitor);
const page = await generateCompetitorPage(product, competitor);
return { props: { page } };
}javascript
// pages/vs/[competitor].js
import { generateCompetitorPage } from '@/lib/programmatic-seo';
import { getProductContext } from '@/lib/product-marketing';
export async function getStaticPaths() {
const competitors = await getCompetitors();
return {
paths: competitors.map(c => ({ params: { competitor: c.slug } })),
fallback: false
};
}
export async function getStaticProps({ params }) {
const product = await getProductContext();
const competitor = await getCompetitor(params.competitor);
const page = await generateCompetitorPage(product, competitor);
return { props: { page } };
}With React
与React集成
javascript
// components/ABTest.jsx
import { useEffect, useState } from 'react';
import { assignVariant, trackExperiment } from '@/lib/ab-testing';
export const ABTest = ({ testName, variants, children }) => {
const [variant, setVariant] = useState(null);
useEffect(() => {
const userId = getUserId();
const assigned = assignVariant(userId, testName);
setVariant(assigned);
trackExperiment(testName, assigned);
}, [testName]);
if (!variant) return null;
return children(variants[variant]);
};
// Usage
<ABTest
testName="hero_headline"
variants={{
control: { headline: "Welcome" },
treatment: { headline: "Double Your Growth" }
}}
>
{(variant) => <h1>{variant.headline}</h1>}
</ABTest>javascript
// components/ABTest.jsx
import { useEffect, useState } from 'react';
import { assignVariant, trackExperiment } from '@/lib/ab-testing';
export const ABTest = ({ testName, variants, children }) => {
const [variant, setVariant] = useState(null);
useEffect(() => {
const userId = getUserId();
const assigned = assignVariant(userId, testName);
setVariant(assigned);
trackExperiment(testName, assigned);
}, [testName]);
if (!variant) return null;
return children(variants[variant]);
};
// 用法
<ABTest
testName="hero_headline"
variants={{
control: { headline: "Welcome" },
treatment: { headline: "Double Your Growth" }
}}
>
{(variant) => <h1>{variant.headline}</h1>}
</ABTest>With Express
与Express集成
javascript
// server.js
import express from 'express';
import { trackEvent } from './lib/analytics.js';
const app = express();
app.post('/api/track', async (req, res) => {
const { event, properties } = req.body;
await trackEvent(event, {
...properties,
timestamp: new Date(),
userAgent: req.headers['user-agent'],
ip: req.ip
});
res.json({ success: true });
});
app.listen(3000);javascript
// server.js
import express from 'express';
import { trackEvent } from './lib/analytics.js';
const app = express();
app.post('/api/track', async (req, res) => {
const { event, properties } = req.body;
await trackEvent(event, {
...properties,
timestamp: new Date(),
userAgent: req.headers['user-agent'],
ip: req.ip
});
res.json({ success: true });
});
app.listen(3000);Related Resources
相关资源
- Agent Skills Spec - Standard for AI agent skills
- Coding for Marketers - Learn coding for marketing
- Conversion Factory - CRO agency by the creator
- Swipe Files - Marketing examples and templates
- Agent Skills规范 - AI Agent技能标准
- Coding for Marketers - 学习面向营销人员的编程
- Conversion Factory - 项目创作者运营的CRO代理机构
- Swipe Files - 营销示例与模板库
Contributing
贡献指南
Skills are community-maintained. To contribute:
bash
undefined技能由社区维护,贡献步骤如下:
bash
undefinedFork the repository
Fork仓库
Create a new skill
创建新技能
mkdir skills/your-skill-name
cd skills/your-skill-name
mkdir skills/your-skill-name
cd skills/your-skill-name
Create SKILL.md with frontmatter
创建带前置内容的SKILL.md
cat > SKILL.md << 'EOF'
name: your-skill-name
description: One-line description
triggers:
- "trigger phrase 1"
- "trigger phrase 2"
cat > SKILL.md << 'EOF'
name: your-skill-name
description: 单行描述
triggers:
- "触发短语1"
- "触发短语2"
Your Skill Name
你的技能名称
Content here...
EOF
内容在这里...
EOF
Submit PR
提交PR
git add skills/your-skill-name/
git commit -m "Add your-skill-name skill"
git push origin main
Each skill should include:
- Clear trigger phrases
- Real examples and code
- Related skills section
- Practical workflowsgit add skills/your-skill-name/
git commit -m "Add your-skill-name skill"
git push origin main
每个技能应包含:
- 清晰的触发短语
- 真实示例与代码
- 相关技能章节
- 实用工作流