SEO 关键词深度调研
基于 DataForSEO API 采集关键词数据,结合竞争者分析,生成 6 Part 综合报告(MD + HTML)。
触发条件
| 关键词 | 动作 | |--------|------| | 「SEO调研」「关键词调研」「关键词分析」 | 执行完整 6 步流程 |
执行模式
| 选项 | 说明 | |------|------| | ✅ 自动执行 | 触发后自动执行全流程,完成后报告结果 |
提示:工作流 Skill 采用「自动执行」模式,触发后直接执行,无需逐步确认。
执行规范(必须遵守)
每个步骤开始前,必须先阅读对应的 workflow 文档:
- 先读后做:执行 Step N 前,先 Read
workflow/stepN-*.md - 逐步验证:每步完成后检查输出文件是否符合预期
- 不跳步骤:必须按 1→2→3→4→5→6 顺序执行
- Agent 步骤:Step 4-6 需启动 Task Agent 执行
- 进度持久化:维护
runs/{当前目录}/progress.json支持断点恢复
工作流(6 步)
| Step | 执行者 | 文档 | 输入 | 输出 |
|------|--------|------|------|------|
| 1 | 脚本 | workflow/step01-collect-params.md | 用户输入 | config.json |
| 2 | 脚本 | workflow/step02-dataforseo-fetch.md | config.json | raw/dataforseo.json |
| 3 | 脚本 | workflow/step03-competitor-scrape.md | SERP URLs | raw/competitors.json |
| 4 | Agent | workflow/step04-ai-analysis.md | raw/.json | analysis/*.md |
| 5 | Agent | workflow/step05-report-generate.md | analysis/.md | output/report.md |
| 6 | Agent | workflow/step06-html-visualize.md | report.md | output/report.html |
数据流
阶段一:数据采集
用户输入(关键词、国家、语言)
↓ Step 1: 参数收集
runs/{keyword}-{timestamp}-{location}-{lang}/config.json
↓ Step 2: DataForSEO 6 路并行
raw/dataforseo.json
├── related_keywords
├── keyword_suggestions
├── keyword_ideas
├── autocomplete
├── subtopics
└── serp (Top 10 URLs)
↓ Step 3: 竞争者抓取 (Top 5)
raw/competitors.json
├── url_1: {title, meta, headings, ngrams}
├── url_2: ...
└── url_5: ...
阶段二:AI 分析
raw/*.json
↓ Step 4.1: 竞争者分析 (Agent)
analysis/01-competitor-analysis.md
↓ /compact
↓ Step 4.2: 用户意图分析 (Agent)
analysis/02-user-intent.md
↓ /compact
↓ Step 4.3: 机会识别与洞察分析 (Agent)
analysis/03-opportunities.md
↓ /compact
↓ Step 4.4: 内容大纲生成 (Agent)
analysis/04-content-outlines.md
阶段三:报告生成
analysis/*.md + raw/*.json
↓ Step 5: 综合报告 (Agent)
output/report.md
├── Part 1: 执行摘要
├── Part 2: 关键词策略规划
├── Part 3: 竞争格局洞察
├── Part 4: 用户意图深度解读
├── Part 5: 内容创作指南
└── Part 6: 数据附录
↓ Step 6: HTML 可视化 (Agent)
output/report.html (Bento Grid 仪表盘)
上下文管理
关键约束:
- Agent 步骤分轮执行时,必须等待当前轮完成后,才能启动下一轮
- 每轮完成后、启动下一轮之前,必须执行
/compact
| 规则 | 说明 |
|------|------|
| 顺序执行 | Step 4 的 4 个子分析必须顺序执行,每个依赖前一个结果 |
| 强制压缩 | 每个 Agent 完成后 必须 /compact |
| 极简返回 | Agent 只返回 {"ok": true, "step": "4.1"},不返回文件内容 |
| 进度持久化 | 维护 progress.json 支持压缩后断点恢复 |
| 不预读参考 | reference/*.md 只在 Task prompt 中给出路径 |
运行目录规范
每次运行在 runs/ 下创建独立目录:
runs/{keyword}-{timestamp}-{location}-{language}/
├── config.json # 运行参数
├── progress.json # 进度状态
├── raw/
│ ├── dataforseo.json
│ └── competitors.json
├── analysis/
│ ├── 01-competitor-analysis.md
│ ├── 02-user-intent.md
│ ├── 03-opportunities.md
│ └── 04-content-outlines.md
└── output/
├── report.md
└── report.html
命名示例:
bluetooth-earphones-20260112-233700-US-en/bluetooth-earphones-20260113-100000-US-en/(同词第二次)
参考资料
| 文件 | 路径 | 用途 |
|------|------|------|
| 国家/语言预设 | reference/presets.json | Step 1 参数选择 |
| DataForSEO API | reference/dataforseo-api.md | Step 2 API 调用 |
| AI 分析 Prompt | reference/prompts/prompt-*.md | Step 4 SubAgent 分析 |
| HTML 设计规范 | reference/html-design-spec.md | Step 6 可视化 |
| HTML 模板 | reference/html-template.html | Step 6 模板 |
Prompt 文件清单
| 文件 | 用途 |
|------|------|
| reference/prompts/prompt-competitor-analysis.md | 4.1 竞争者分析 |
| reference/prompts/prompt-user-intent.md | 4.2 用户意图分析 |
| reference/prompts/prompt-opportunity-analysis.md | 4.3 机会识别与洞察分析 |
| reference/prompts/prompt-content-outline.md | 4.4 内容大纲生成 |
| reference/prompts/prompt-report-summary.md | 5 综合报告生成 |
| reference/prompts/prompt-html-visualize.md | 6 HTML 可视化 |
凭证
| 凭证 | 路径 | 获取方式 |
|------|------|----------|
| DataForSEO | credentials/dataforseo.md | https://dataforseo.com/ |
| Jina AI | credentials/jina.md | https://jina.ai/ |
输出示例
完成后输出:
✅ SEO 关键词深度调研完成
📁 输出目录: runs/bluetooth-earphones-20260112-233700-US-en/
📊 报告文件:
- output/report.md (6 Part 综合报告)
- output/report.html (Bento Grid 仪表盘)
📈 关键数据:
- 采集关键词: 150+ 个
- 分析竞争者: 5 个
- Top 5 推荐词: [词1], [词2], [词3], [词4], [词5]
微信扫一扫