--- name: seo-autopilot description: 全自动 SEO 内容新鲜度引擎。监听关键词研究报告目录,自动生成落地页和博客文章,运行 SEO 审计后推送更新。适用于任何需要定期更新内容以保持 Google 排名新鲜度的网站项目。支持 Next.js / Astro / Nuxt 等主流框架。 metadata: keywords: seo automation, keyword report, content freshness, landing page generation, blog generation, google rankings, automated deployment, git autopull --- # SEO Autopilot — 全自动内容新鲜度引擎 > 把关键词研究报告变成已部署的 SEO 页面,零人工干预。 ## 核心价值 当你有一个外部 Agent(如 OpenClaw)定期生成关键词研究报告并推送到 Git 仓库时,这个 skill 会: 1. **自动检测**新报告(通过 git autofetch + fileCreated hook) 2. **自动解析**报告中的 Top 关键词和推荐动作 3. **自动去重**(跳过已有页面覆盖的关键词) 4. **自动决策**页面类型(落地页 vs 博客文章) 5. **自动生成**符合项目风格的页面代码 6. **自动审计**(Technical SEO + EEAT 双门检查) 7. **自动推送**(git commit + push → 触发自动部署) **时间节省**: 从报告到页面上线,传统方式需要 2-4 小时/页,自动化后 < 5 分钟/页。 ## 完整自动化链路 ``` ┌─────────────────────────────────────────┐ │ 外部 Agent(OpenClaw 等) │ │ 生成关键词报告 → git push │ └──────────────┬──────────────────────────┘ │ (git push to main) ▼ ┌─────────────────────────────────────────┐ │ IDE(Kiro / Claude Code / Cursor) │ │ git.autofetch: true (每 2 分钟) │ │ git.pullOnFetch: true │ │ → 自动拉取新 commit │ └──────────────┬──────────────────────────┘ │ (检测到新 .md 文件) ▼ ┌─────────────────────────────────────────┐ │ fileCreated Hook 触发 │ │ Pattern: {report_dir}/*.md │ │ → 启动 Agent 执行流水线 │ └──────────────┬──────────────────────────┘ │ ▼ ┌─────────────────────────────────────────┐ │ Agent 执行 8 阶段流水线 │ │ 解析 → 去重 → 决策 → 生成 → 审计 │ │ → git commit + push │ └──────────────┬──────────────────────────┘ │ (git push to main) ▼ ┌─────────────────────────────────────────┐ │ 自动部署(Vercel / Cloudflare / etc) │ │ 新页面上线生产环境 │ └─────────────────────────────────────────┘ ``` ## 使用场景 - 独立站 SEO 内容持续更新(保持 Google 排名新鲜度) - 多站点批量内容生产 - 关键词研究 → 页面上线的全链路自动化 - 任何需要定期发布新 SEO 内容的项目 ## 前置依赖 | 依赖 | 说明 | 必须? | |------|------|--------| | Git 仓库 | GitHub / GitLab / Bitbucket | ✅ | | 外部关键词报告源 | 定期推送 .md 报告到仓库的 Agent 或脚本 | ✅ | | Web 框架 | Next.js / Astro / Nuxt / 静态站 | ✅ | | 自动部署 | Vercel / Cloudflare Pages / Netlify | ✅ | | IDE 保持打开 | Kiro / Claude Code / Cursor(需要运行 hook) | ✅ | ## 安装方式 ```bash # 方式 1: 只复制这个 skill cp -r 7deer_skills/seo-autopilot .agent/skills/seo-autopilot # 方式 2: 克隆整个技能库 git clone https://github.com/kennyzir/7deer_skills.git .agent/skills ``` ## 启动命令 安装后,对 Agent 说: ``` 启动 SEO autopilot,报告目录是 keyword-research/ ``` 或英文: ``` Set up SEO autopilot, report directory is keyword-research/ ``` Agent 会自动执行 7 步 setup 流程。 --- ## Setup 流程(Agent 自动执行) ### Step 1: 发现项目结构 Agent 需要识别: - 框架类型(Next.js / Astro / Nuxt / 静态) - 页面系统(如何创建页面) - 博客系统(如何存储博客文章) - 导航/Sitemap 注册方式 - 现有 SEO 模式(metadata、JSON-LD、canonical) - 关键词报告目录位置 ### Step 2: 配置 Git 自动拉取 创建或更新 `.vscode/settings.json`: ```json { "git.autofetch": true, "git.autofetchPeriod": 120, "git.autoStash": true, "git.pullOnFetch": true } ``` > ⚠️ 不要覆盖已有设置,只合并这些 key。 ### Step 3: 创建 fileCreated Hook 创建 Kiro hook 监听报告目录: ```json { "name": "SEO Autopilot", "version": "1.0.0", "when": { "type": "fileCreated", "patterns": ["{report_dir}/*.md"] }, "then": { "type": "askAgent", "prompt": "新的关键词研究报告已检测到。按照 #seo-autopilot steering 执行完整流水线:解析报告 → 去重 → 决策页面类型 → 生成页面(最多3个) → 注册 navigation + sitemap → SEO 审计 → git commit and push → 更新 processed.json。" } } ``` ### Step 4: 创建 Steering 文件 创建 `.kiro/steering/seo-autopilot.md`,包含完整的 8 阶段处理指令(见 references/steering-template.md)。 ### Step 5: 初始化状态追踪 创建 `{report_dir}/processed.json`: ```json { "processed": [] } ``` ### Step 6: 验证 - [ ] `.vscode/settings.json` 已配置 autofetch + pullOnFetch - [ ] Hook 文件已创建 - [ ] Steering 文件已创建 - [ ] processed.json 已初始化 - [ ] 至少有一份报告可用于测试 ### Step 7: 测试运行 用现有报告执行一次完整流水线,验证所有环节正常。 --- ## 8 阶段处理流水线 ### Phase 0: 发现新报告 读取 processed.json → 扫描报告目录 → 过滤未处理的报告 ### Phase 1: 解析报告 提取 Top 关键词、搜索意图、竞争度、推荐页面类型 ### Phase 2: 去重 对比现有页面(navigation + blog),跳过已覆盖的关键词 ### Phase 3: 页面类型决策 - Transactional / Emotional → 落地页 - Informational → 博客文章 - 每次报告最多生成 3 个页面 ### Phase 4: 内容生成 按项目现有模式生成页面代码(metadata、JSON-LD、FAQ、内链、CTA) ### Phase 5: 注册 添加到 navigation 系统 + sitemap ### Phase 6: SEO 审计 - Title < 60 chars,含主关键词 - Description < 160 chars - Canonical URL - JSON-LD WebPage + FAQ schema - H1 唯一且含关键词 - 3-5 个内链 - CTA 到主转化页面 ### Phase 7: 提交推送 git add → commit → push ### Phase 8: 更新状态 更新 processed.json,记录已处理报告和生成的页面 --- ## 关键词报告格式要求 报告为 Markdown 格式,需包含以下内容之一: - "Top N 关键词" 或 "推荐动作" 章节,列出关键词和优先级 - 包含 keyword / intent / competition / action 列的表格 Agent 会自适应解析不同格式的报告。 ## 状态追踪格式 ```json { "processed": [ { "report": "2026-04-10-keyword-research.md", "processedAt": "2026-04-10", "pagesCreated": [ { "type": "landing", "slug": "/personalized-tarot", "keyword": "personalized tarot card generator" } ], "skipped": [ { "keyword": "oracle card generator AI", "reason": "Already covered by /ai-oracle-card-generator" } ] } ] } ``` --- ## 适配不同框架 | 框架 | 页面位置 | 博客位置 | Sitemap | |------|---------|---------|---------| | Next.js (App Router) | `app/{slug}/page.tsx` | `lib/blog.ts` 或 `content/blog/*.mdx` | `app/sitemap.ts` | | Next.js (Pages Router) | `pages/{slug}.tsx` | `pages/blog/[slug].tsx` | `next-sitemap.config.js` | | Astro | `src/pages/{slug}.astro` | `src/content/blog/*.md` | `astro.config.mjs` | | Nuxt | `pages/{slug}.vue` | `content/blog/*.md` | `nuxt.config.ts` | | 静态 HTML | `{slug}/index.html` | `blog/{slug}/index.html` | `sitemap.xml` | --- ## 限制与注意事项 - **IDE 必须保持打开**: Hook 只在 IDE 运行时生效 - **每次最多 3 页**: 避免内容质量下降 - **语义去重**: 不只是 URL 匹配,还要判断语义重叠 - **不覆盖已有页面**: 只创建新页面,不修改现有内容 - **需要网络连接**: git pull/push 需要网络 ## 常见问题 | 问题 | 解决方案 | |------|---------| | Hook 没触发 | 检查 filePatterns 是否匹配报告文件名 | | 自动 pull 不工作 | 重启 IDE,确认 settings.json 已加载 | | 页面风格不匹配 | 更新 steering 文件中的示例页面引用 | | 重复生成页面 | 检查 processed.json 是否正确更新 | | git push 失败 | 检查 git 凭证 / SSH key 配置 | | Build 失败 | 确保引用的 mock 数据 / 组件在远端存在 | --- ## 实战案例 CardMuse.com 使用此 skill 实现了: - OpenClaw Agent 每 2 天生成关键词报告 - Kiro 自动拉取 + 处理报告 - 每次报告生成 2-3 个新 SEO 页面 - Vercel 自动部署 - 从报告推送到页面上线 < 5 分钟 --- ## License MIT