
1. 项目缘起为什么我把营销方法论拆成了可执行的技能包做增长和营销这些年我最头疼的一件事不是缺方法而是方法太散。SEO 的检查清单在一个文档里CRO 的 A/B 测试流程在另一个表格里数据分析的指标定义又散落在各种聊天记录和笔记中。每次带新人或者启动新项目都要重新拼装一遍这套东西效率极低。marketingskills这个项目就是冲着这个痛点来的——把营销领域里那些高频、可复用、有明确输入输出的工作流拆解成一个个结构化的“技能包”让 AI agents 能够直接调用和执行。你可能会问这跟普通的营销模板库有什么区别区别在于“可执行性”。普通的模板是给人看的而marketingskills里的每个技能是给 AI agent 用的。它需要定义清楚这个技能的触发条件是什么、需要哪些输入参数、执行步骤分几步、每一步的输出格式是什么、遇到异常情况怎么处理。这就像把一位资深营销专家的脑子里的隐性知识翻译成机器能理解的显性指令。这个项目适合谁如果你是做独立站运营、负责谷歌 SEO 或者投放在线广告的从业者它能帮你把重复性的分析工作自动化如果你是技术背景想切入营销领域它提供了一套结构化的营销知识框架如果你正在用 Claude Code 这类工具搭建自己的 AI 工作流marketingskills可以直接作为技能模块集成进去。我实测下来一个原本需要两小时完成的竞品 SEO 分析封装成技能后AI agent 执行加人工复核压缩到了二十分钟以内。核心关键词在这套体系里贯穿始终Claude Code作为执行载体AI agents作为调用主体SEO、CRO、analytics作为三大核心技能域。接下来我会把这套东西的设计思路、每个技能的具体实现、踩过的坑和优化技巧完整地拆开讲一遍。2. 整体架构设计技能包怎么拆、怎么组织、怎么调用2.1 为什么选择“技能包”而不是“大而全的提示词”一开始我试过写一个超长的系统提示词把 SEO、CRO、数据分析的所有规则都塞进去。结果很糟糕AI agent 在执行具体任务时注意力被大量无关规则稀释输出的精准度明显下降。后来我换了个思路借鉴软件工程里“微服务”的理念把营销能力拆成独立的技能单元。每个技能包是一个独立的 Markdown 文件包含四个核心部分元信息技能名称、适用场景、触发关键词、输入定义需要用户或上游系统提供什么数据、执行步骤分步骤的操作指令、输出规范结果以什么格式呈现。这样做的好处是AI agent 在接到任务时只需要加载相关的技能包上下文窗口不被污染执行效率和准确率都大幅提升。另一个考量是可维护性。营销领域的规则变化很快谷歌算法更新、广告平台政策调整、新的分析工具出现都需要及时更新技能内容。拆成独立文件后改哪个技能就动哪个文件不会牵一发而动全身。2.2 三大技能域的分层逻辑marketingskills目前覆盖三个核心域每个域下面有若干具体技能技能域核心目标包含技能示例典型调用场景SEO提升自然搜索流量关键词研究、竞品内容差距分析、技术 SEO 审计、内链优化建议独立站新品上架前、月度 SEO 复盘CRO提升转化率落地页诊断、A/B 测试方案生成、表单优化建议、CTA 文案优化广告投放后转化不达预期Analytics数据驱动决策指标异常检测、渠道归因分析、用户行为路径分析、报表自动生成周会前数据准备、投放策略调整这三个域不是孤立的。实际工作中SEO 带来流量CRO 负责承接转化Analytics 提供反馈闭环。所以在技能设计上我留了“跨域调用”的接口。比如 Analytics 里的“渠道归因分析”技能可以调用 SEO 技能里的“关键词排名数据”作为输入之一。2.3 与 Claude Code 的集成方式Claude Code 是我目前主要使用的执行环境。它的优势在于可以直接在终端里操作文件系统、执行命令、调用外部 API这对于营销自动化来说非常关键。marketingskills的技能包以 Markdown 文件形式存放在项目目录下通过 Claude Code 的配置文件注册为可调用技能。具体来说在项目根目录下建一个skills/文件夹里面按域分目录skills/ ├── seo/ │ ├── keyword-research.md │ ├── content-gap-analysis.md │ └── technical-audit.md ├── cro/ │ ├── landing-page-diagnosis.md │ └── ab-test-plan.md └── analytics/ ├── anomaly-detection.md └── attribution-analysis.md然后在 Claude Code 的配置里通过skills/seo/keyword-research.md这样的路径引用具体技能。当我说“帮我做一下竞品关键词研究”时Claude Code 会自动加载对应的技能文件按照里面定义的步骤执行。注意技能文件的命名要语义化且唯一避免用skill1.md、test.md这种名字。后期技能多了之后命名混乱会让你根本找不到需要的技能。2.4 技能包的版本管理策略营销技能不是写完就一劳永逸的。谷歌的搜索算法每年更新数千次广告平台的政策也在变。我给每个技能文件加了版本号和更新日志--- skill: keyword-research version: 2.3 last_updated: 2025-01-15 changelog: - 2.3: 增加对 AI 概览结果的适配建议 - 2.2: 优化长尾词聚类逻辑 - 2.1: 修正搜索意图分类的边界条件 ---这样做的好处是当某个技能的输出质量下降时我可以快速回溯是不是最近一次更新引入的问题。同时团队协作时每个人都知道当前用的是哪个版本避免因为版本不一致导致分析结果对不上。3. SEO 技能包从关键词研究到技术审计的完整实现3.1 关键词研究技能的核心参数与执行逻辑关键词研究是 SEO 的起点也是最容易被做得很粗糙的环节。很多人的做法是丢一堆词进工具导出搜索量按量排序就完事了。但真正有价值的关键词研究需要综合考虑搜索意图、竞争难度、商业价值、内容匹配度四个维度。marketingskills里的关键词研究技能输入参数包括种子关键词必填、目标市场地区必填、内容类型偏好可选如博客、产品页、工具页、排除词列表可选。执行步骤分五步种子词扩展基于种子词通过语义相关性和搜索建议生成初始词库。这一步我会调用外部 API 获取搜索建议数据而不是靠 AI 凭空想象。搜索意图分类把每个词归入“信息型”“导航型”“商业调查型”“交易型”四类。分类逻辑写在技能文件里AI 按规则执行。竞争难度评估结合搜索结果首页的域名权威度、内容质量、外链数量给出一个 0-100 的难度分。商业价值打分根据词是否包含购买信号、是否对应产品功能、是否处于决策阶段给出 1-5 分的价值评级。优先级排序与分组综合难度和价值输出优先级矩阵并按主题聚类。这里的关键在于每一步的输出都要结构化。比如搜索意图分类不能只说“这个词是信息型的”而要输出{ keyword: what is independent site seo, intent: informational, confidence: 0.92, reasoning: 包含疑问词 what搜索结果以教程和定义类内容为主 }实操心得搜索意图分类的准确率直接决定了后续内容策略的有效性。我踩过的坑是早期版本只靠关键词字面判断意图导致“best crm software”这种词被误判为信息型实际上它是商业调查型用户已经在选型阶段了。后来我在技能里加了“搜索结果页面特征分析”这一步准确率从 70% 提升到了 88% 左右。3.2 竞品内容差距分析的实现细节内容差距分析是找到“别人有、你没有、但用户需要”的内容机会。这个技能需要两个输入你的站点域名、竞品域名列表2-5 个。执行逻辑是抓取竞品站点的主要内容页面 URL 和标题抓取你站点的主要内容页面 URL 和标题通过语义相似度比对找出竞品有而你没有的主题对每个差距主题评估搜索需求和竞争程度输出按优先级排序的内容创建建议这里的技术难点在于“语义相似度比对”。简单的标题字符串匹配会漏掉很多机会。比如竞品有一篇“How to optimize your site for mobile search”你有一篇“Mobile SEO checklist”字符串匹配认为不相关但实际上主题高度重叠。我在技能里引入了向量化比对的方法把标题和摘要转成向量计算余弦相似度阈值设在 0.75。低于这个值的才认为是真正的差距。# 技能内部调用的相似度计算逻辑示意 from sklearn.metrics.pairwise import cosine_similarity def find_content_gaps(your_pages, competitor_pages, threshold0.75): gaps [] for comp_page in competitor_pages: max_sim max( cosine_similarity([comp_page.vector], [your_page.vector])[0][0] for your_page in your_pages ) if max_sim threshold: gaps.append({ competitor_url: comp_page.url, title: comp_page.title, similarity_score: round(max_sim, 3), gap_type: missing_topic if max_sim 0.5 else partial_coverage }) return sorted(gaps, keylambda x: x[similarity_score])注意阈值 0.75 不是拍脑袋定的。我拿 50 组人工标注的数据做过测试0.75 的时候准确率和召回率的平衡最好。低于 0.7 会漏掉一些真正的差距高于 0.8 会引入太多误报。3.3 技术 SEO 审计的检查清单与自动化技术 SEO 审计是最适合自动化的环节因为大部分检查项都有明确的通过/不通过标准。marketingskills里的技术审计技能覆盖了六个大类共 32 个检查项检查类别检查项数量关键检查点严重程度爬取与索引8robots.txt 配置、sitemap 完整性、canonical 标签高页面速度6LCP、FID、CLS、图片压缩、缓存策略高移动适配5响应式设计、视口配置、触控元素间距中结构化数据5Schema 标记完整性、富摘要资格中内链结构4孤岛页面、链接深度、锚文本分布中安全与规范4HTTPS、重定向链、404 处理高执行时技能会调用外部工具如 Lighthouse、Screaming Frog 的 CLI 版本获取原始数据然后按照检查清单逐项判定。每个不通过的检查项会输出具体的修复建议和优先级。实操心得技术审计最容易犯的错误是“一次性修太多”。我见过有人拿到审计报告后把 32 个问题全部列成任务结果团队疲于奔命修到一半就放弃了。我的建议是按“影响面 × 修复成本”排优先级先修那些影响大、改动小的问题。比如 canonical 标签缺失可能只需要改模板文件的一行代码但对索引的影响很大这种就应该排在最前面。3.4 内链优化建议的生成逻辑内链优化是很多独立站忽略的环节。好的内链结构能让搜索引擎更好地理解站点主题聚类也能把权重传递到关键页面。这个技能的输入是站点 URL 列表和对应的目标关键词输出是具体的内链添加建议。生成逻辑分三步首先分析现有内链图谱找出链接深度超过 3 层的页面和没有任何内链指向的孤岛页面其次基于页面主题的相关性计算任意两个页面之间的“内链价值分”最后输出建议列表格式如下源页面: /blog/seo-basics 目标页面: /services/technical-seo 建议锚文本: technical SEO services 内链价值分: 8.7/10 理由: 源页面讨论 SEO 基础目标页面提供技术 SEO 服务主题高度相关且目标页面当前内链数不足内链价值分的计算考虑了主题相关性权重 0.5、目标页面当前内链缺口权重 0.3、源页面权重权重 0.2。这个权重分配是基于多次实测调整出来的主题相关性永远是最重要的因素。4. CRO 技能包落地页诊断与 A/B 测试的自动化方案4.1 落地页诊断的评分模型CRO 的核心是找到阻碍转化的因素。落地页诊断技能的目标是给一个落地页打出可量化的转化潜力分并指出具体的改进点。评分模型覆盖五个维度价值主张清晰度权重 25%首屏是否在 5 秒内说清楚“你是谁、提供什么、为什么选你”信任信号权重 20%是否有客户评价、案例、资质认证、安全标识行动号召权重 25%CTA 按钮的可见性、文案吸引力、数量是否合理表单体验权重 15%字段数量、必填项比例、错误提示友好度页面性能权重 15%加载速度、移动端适配、视觉稳定性每个维度下又有若干具体检查项AI 逐项打分后加权汇总。总分低于 60 的页面会输出“优先修复清单”60-80 分的输出“优化建议”80 分以上的输出“微调建议”。实操心得价值主张清晰度的判断我一开始让 AI 自由发挥结果评分标准飘忽不定。后来我把它拆成了三个可验证的子问题首屏标题是否包含目标用户身份词是否包含核心功能或结果词是否包含差异化词三个都是“是”得满分两个“是”得 70%一个“是”得 40%零个得 10%。这样评分就稳定多了。4.2 A/B 测试方案生成的完整流程A/B 测试不是随便改个按钮颜色就叫测试。一个有效的测试需要明确的假设、单一的变量、足够的样本量、合理的测试周期。marketingskills里的 A/B 测试方案生成技能输入包括当前页面 URL、当前转化率、月访问量、期望检测的最小提升幅度。输出是一份完整的测试方案。第一步是假设生成。基于落地页诊断的结果AI 会提出 3-5 个可测试的假设按预期影响排序。比如假设 1: 将首屏 CTA 从“了解更多”改为“免费试用 14 天”预计转化率提升 15-25% 理由: 当前 CTA 缺乏行动感和价值暗示新文案明确了行动成本和收益 测试变量: CTA 文案第二步是样本量计算。这是很多人忽略的环节。样本量不够测试结果没有统计显著性等于白做。技能内置了样本量计算公式import math def calculate_sample_size(baseline_rate, min_detectable_effect, power0.8, alpha0.05): 计算 A/B 测试所需的最小样本量 baseline_rate: 当前转化率如 0.03 表示 3% min_detectable_effect: 希望检测到的最小相对提升如 0.15 表示 15% p1 baseline_rate p2 baseline_rate * (1 min_detectable_effect) p_avg (p1 p2) / 2 z_alpha 1.96 # 95% 置信水平 z_beta 0.84 # 80% 统计功效 n (2 * p_avg * (1 - p_avg) * (z_alpha z_beta) ** 2) / (p2 - p1) ** 2 return math.ceil(n) # 示例当前转化率 3%希望检测 20% 的相对提升 sample calculate_sample_size(0.03, 0.20) print(f每组需要样本量: {sample}) # 输出约 8500第三步是测试周期估算。用样本量除以日均访问量得出最少需要跑多少天。这里有个经验规则测试周期不要少于 7 天因为工作日和周末的用户行为差异很大也不要超过 30 天否则外部因素干扰太多。4.3 表单优化建议的生成规则表单是转化漏斗里最容易漏水的环节。每增加一个字段转化率平均下降 5-10%。表单优化技能会分析当前表单的字段数量、类型、排列顺序给出精简建议。核心规则有三条第一只保留“完成转化必须知道”的信息其他字段一律移到转化后收集第二把敏感字段如手机号、信用卡信息放在表单后半部分先用低门槛字段建立承诺感第三错误提示要具体不要只说“输入有误”而要说明“邮箱格式不正确请检查是否包含 符号”。注意表单字段的精简不是无脑删。有些字段虽然不直接用于转化但用于后续的销售跟进或用户分层删了会影响后端流程。我的做法是在技能里加一个“字段必要性评估”步骤让 AI 判断每个字段是“转化必需”“后端必需”还是“可有可无”。只有第三类才建议删除。5. Analytics 技能包数据异常检测与归因分析的落地5.1 指标异常检测的阈值设定与告警逻辑数据分析的第一需求不是“看报表”而是“发现异常”。大部分从业者没有时间每天盯着几十个指标看等发现异常时往往已经损失了一周的流量或转化。异常检测技能的目标是自动监控核心指标在偏离正常范围时发出告警。核心指标包括自然搜索流量、付费流量、转化率、客单价、跳出率、页面停留时间。每个指标的正常范围不是固定的而是基于历史数据动态计算。我采用的是“移动平均 标准差”的方法import numpy as np def detect_anomaly(metric_values, window7, threshold2.5): metric_values: 按时间顺序排列的指标值列表 window: 移动平均窗口大小 threshold: 标准差倍数阈值 if len(metric_values) window 1: return None recent metric_values[-1] historical metric_values[-(window1):-1] mean np.mean(historical) std np.std(historical) if std 0: return None z_score (recent - mean) / std if abs(z_score) threshold: return { is_anomaly: True, direction: above if z_score 0 else below, z_score: round(z_score, 2), expected_range: (round(mean - threshold*std, 2), round(mean threshold*std, 2)), actual_value: recent } return {is_anomaly: False, z_score: round(z_score, 2)}阈值 2.5 是我经过多次调整后确定的。2.0 太敏感正常波动也会触发告警3.0 太迟钝等触发时问题已经比较严重了。2.5 在灵敏度和误报率之间取得了较好的平衡。实操心得异常检测最大的坑是“季节性因素”。比如电商站点在促销季的流量和转化率天然会高于平时如果模型没有考虑季节性就会在每次促销时误报。我的解决方案是在技能里加一个“季节性调整”步骤对于有明确季节规律的指标先用历史同期数据做基准再检测异常。5.2 渠道归因分析的模型选择与实现归因分析要回答的问题是用户转化了功劳应该算给哪个渠道这个问题没有标准答案取决于你的业务模式和决策需求。marketingskills里提供了三种归因模型让用户根据场景选择归因模型适用场景优点缺点末次点击转化路径短、决策快的业务简单直观、易于实施忽略前期触达渠道的贡献线性归因品牌建设期、多触点业务公平分配、不偏袒可能高估低价值触点时间衰减决策周期长、需要培育的业务重视近期触点参数设置主观性强技能的执行逻辑是先获取用户的多触点路径数据然后按照选定模型计算每个渠道的归因转化数和归因收入最后输出渠道贡献对比表。def linear_attribution(touchpoints, conversion_value): touchpoints: 用户转化前的触点列表如 [google_organic, facebook_ad, email] conversion_value: 转化价值 n len(touchpoints) if n 0: return {} value_per_touch conversion_value / n attribution {} for tp in touchpoints: attribution[tp] attribution.get(tp, 0) value_per_touch return {k: round(v, 2) for k, v in attribution.items()}注意归因分析的数据质量取决于追踪的完整性。如果用户在不同设备上完成触达和转化而你没有做跨设备追踪归因结果会有偏差。我在技能里加了一个“数据完整性检查”步骤当跨设备追踪缺失时会在输出中标注“归因结果可能存在偏差建议结合其他数据源交叉验证”。5.3 用户行为路径分析的可视化输出用户行为路径分析帮助理解“用户实际怎么用你的站点”而不是“你希望他们怎么用”。这个技能会分析用户的页面浏览序列找出最常见的路径模式、流失节点和意外跳转。输出包括三部分Top 10 路径模式按用户数排序、关键流失页面流失率显著高于平均的页面、意外路径不符合预期导航逻辑的跳转。比如你发现大量用户从定价页跳到了帮助中心说明定价信息不够清晰用户需要额外查找才能理解。这个技能的数据源是页面浏览日志需要至少 30 天的数据才能得出有统计意义的结论。少于 30 天路径模式可能只是偶然波动。6. 常见问题与排查技巧实录6.1 技能调用失败或输出异常的排查清单在实际使用中技能调用失败是最常见的问题。我整理了一份排查清单按出现频率排序问题现象可能原因排查步骤解决方案技能未被识别文件路径错误或配置未生效检查 skills 目录结构和配置文件引用路径确认路径大小写一致重启 Claude Code输出格式不符合预期技能文件中的输出规范定义不清晰查看技能文件的 output schema 部分补充示例输出明确字段类型执行中途停止输入数据缺失或格式错误检查输入参数是否满足技能定义补充缺失数据统一日期和数字格式结果明显偏差技能版本过旧或数据源变化查看技能版本号和更新日志更新技能文件重新校准阈值执行时间过长数据量过大或步骤冗余检查输入数据量和技能步骤数分批处理或精简非核心步骤实操心得我遇到最多的问题是“输出格式不符合预期”。后来发现根源在于技能文件里对输出格式的描述太模糊比如只写了“输出 JSON 格式”但没有给出具体的字段名和示例。后来我强制要求每个技能文件必须包含一个完整的输出示例问题就少多了。6.2 数据源对接的常见坑与解决方案marketingskills的很多技能需要调用外部数据源比如 Google Search Console、Google Analytics、第三方 SEO 工具。对接过程中踩过的坑包括API 配额限制Google Search Console API 每天有查询次数限制如果技能执行频率高很容易触发限制。解决方案是在技能里加一个“配额检查”步骤当剩余配额低于阈值时自动切换到缓存数据或延迟执行。数据延迟Google Analytics 的数据有 24-48 小时的延迟Search Console 有 2-3 天的延迟。如果技能需要“最新数据”实际上拿到的是几天前的。解决方案是在输出中明确标注数据的时间范围避免用户误以为是实时数据。字段映射不一致不同数据源对同一指标的命名不同比如“转化”在 GA 里叫conversions在广告平台里叫conversions但计算口径可能不同。解决方案是在技能里建一个“字段映射表”统一不同数据源的字段名和计算逻辑。6.3 技能输出质量的评估与迭代方法技能写完不是终点持续迭代才是。我用的评估方法是“人工抽检 反馈闭环”每周随机抽取 10 个技能输出结果人工评估准确性和实用性打分 1-5 分。低于 3 分的输出分析原因并更新技能文件。同时在技能输出末尾加一个“反馈入口”用户可以直接标注“有用”或“无用”这些反馈数据会汇总到技能维护看板。迭代频率上SEO 相关技能每两周检查一次因为搜索算法变化快CRO 和 Analytics 技能每月检查一次。每次更新都要记录版本号和变更内容方便回溯。注意不要频繁更新技能文件。我早期犯过这个错误几乎每周都在改结果导致不同时间段的输出结果不可比。后来定了规矩除非有明确的错误或重大的环境变化否则技能文件至少稳定运行一个月再考虑优化。7. 我在这套技能包上踩过的三个大坑第一个坑是“过度自动化”。一开始我想让 AI agent 全自动完成所有营销分析从数据抓取到报告生成中间不需要人工干预。结果发现营销分析中有很多需要“业务判断”的环节比如某个关键词是否值得投入、某个转化率下降是否属于正常波动这些判断依赖对业务背景的理解AI 目前还做不好。后来我调整了策略把技能定位为“辅助执行”关键决策点仍然保留人工确认。第二个坑是“技能粒度太细”。有段时间我把每个小步骤都拆成独立技能结果调用时需要在多个技能之间来回切换效率反而降低了。后来我合并了一些高频共现的步骤比如把“关键词扩展”和“搜索意图分类”合并成一个技能因为这两个步骤几乎总是一起执行。第三个坑是“忽略数据质量”。早期技能直接使用原始数据没有做清洗和校验导致输出结果经常出现异常值。比如某个关键词的搜索量显示为 0实际上是 API 返回了错误数据。后来我在每个技能的数据输入环节都加了校验步骤检查数据完整性、格式正确性和逻辑合理性。这套marketingskills目前还在持续迭代中下一步计划加入内容生成和邮件营销两个新技能域。如果你也在用 Claude Code 搭建营销工作流建议从 SEO 的关键词研究技能开始试这个技能最成熟也最容易看到效果。