Install
openclaw skills install seo-autopilot-proFully automated SEO content freshness engine. Monitors a keyword research reports directory, automatically generates landing pages and blog posts, runs SEO audits, and pushes updates. Use when: you need to keep SEO content fresh without manual publishing, you want to automate the flow from keyword research to live pages, or you need a pipeline that converts keyword reports into deployed web pages. Works with Next.js, Astro, Nuxt, and static site frameworks. Trigger phrases: "automate SEO content", "keyword report to page", "auto-generate SEO pages", "content freshness engine", "deploy SEO pages automatically"
openclaw skills install seo-autopilot-proTurns keyword research reports into deployed SEO pages, zero manual work.
When an external Agent (like OpenClaw) regularly generates keyword research reports and pushes them to a Git repo, this skill handles everything else:
External Agent generates report -> git push
-> IDE auto-fetches every 2 min
-> fileCreated hook triggers Agent
-> Agent runs 8-phase pipeline
-> git push -> auto-deploy to production
Identify:
Update .vscode/settings.json:
{
"git.autofetch": true,
"git.autofetchPeriod": 120,
"git.autoStash": true,
"git.pullOnFetch": true
}
Only merge these keys, do not overwrite existing settings.
Create a Kiro hook listening on the report directory:
{
"name": "SEO Autopilot",
"version": "1.0.0",
"when": {
"type": "fileCreated",
"patterns": ["{report_dir}/*.md"]
},
"then": {
"type": "askAgent",
"prompt": "New keyword report detected. Execute the full #seo-autopilot pipeline: parse report -> deduplicate -> decide page types -> generate pages (max 3) -> register navigation + sitemap -> SEO audit -> git commit and push -> update processed.json."
}
}
Create .kiro/steering/seo-autopilot.md with the full 8-phase processing instructions.
Create {report_dir}/processed.json:
{ "processed": [] }
Run the full pipeline on an existing report to verify all steps work.
Read processed.json -> scan report dir -> filter unprocessed reports
Extract Top keywords, search intent, competition, recommended page type
Compare against existing pages (navigation + blog), skip already-covered keywords
Generate page code matching your project patterns (metadata, JSON-LD, FAQ, internal links, CTA)
Add to navigation system + sitemap
git add -> commit -> push
Update processed.json with report and pages created
Reports are Markdown with at least one of:
The Agent parses adaptively across different formats.
{
"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" }
]
}
]
}
| Framework | Page Location | Blog Location | Sitemap |
|---|---|---|---|
| Next.js (App Router) | app/{slug}/page.tsx | lib/blog.ts or 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 |
| Static HTML | {slug}/index.html | blog/{slug}/index.html | sitemap.xml |
| Dependency | Required |
|---|---|
| Git repo (GitHub/GitLab/Bitbucket) | Yes |
| External keyword report source | Yes |
| Web framework (Next.js/Astro/Nuxt/static) | Yes |
| Auto-deploy (Vercel/Cloudflare/Netlify) | Yes |
| IDE stays open (Kiro/Claude Code/Cursor) | Yes |