seoagent — Claude Code skill: SEO audit and content workflow
Runs SEO work inside your repo: audits, keyword clusters, briefs and article drafts land in .seoagent/, so each session picks up where the last one stopped.
npx claude-code-templates@latest --skill business-marketing/seoagentWhat seoagent does
The skill works in five phases. It starts with a technical audit: key pages get checked for indexability, title tags, meta descriptions, heading structure, internal links, JSON-LD and Core Web Vitals readiness. Findings go to .seoagent/audit/latest.md as [ ] checkboxes tagged critical, high, medium or low; flip one to [x] once it is fixed.
Then comes a hub-and-spoke plan. A broad PILLAR page sits at the top, SUB_PILLAR pages cover focused subtopics, LONG_TAIL pages answer narrow queries, and internal links push authority upward. Briefs follow the page type — a landing page gets one protocol, a long-tail page another — and each brief carries a URL pattern, an H2/H3 outline, a link plan, a JSON-LD plan and a word-count target. Drafts are written from the brief with full SEO frontmatter and Article, FAQPage or HowTo markup.
Everything persists under .seoagent/ in the repo: project.md, context.md, strategy/clusters/, briefs/, content/, roadmap.md, changelog.md. The skill reads what is already there before acting. Your data stays local. There is also an AEO/GEO angle: content is shaped so answer engines can cite it — a direct answer up front, question-style headings, comparison tables, FAQ markup.
The @seoagent-official/seoagent CLI and the optional cloud loop are a separate product, not part of this skill. They scaffold an expanded protocol library and add keyword data, Search Console and CMS publishing.
What it helps with
- check indexability and canonical tags on key pages
- split a niche into hubs, subtopics and long-tail queries
- write a brief for a specific page type
- draft an article with JSON-LD and metadata
- resume SEO work and read back earlier findings
Example prompts for the agent
- Run a technical SEO audit of the site and save the findings to
.seoagent/audit/latest.md - Build keyword clusters for our blog and write them to
.seoagent/strategy/clusters/ - Write a brief for the pricing page, then draft the article with
FAQPagemarkup
How to install seoagent
1claude-code-templates
npx claude-code-templates@latest --skill business-marketing/seoagent2Skills CLI (Vercel)
npx skills add davila7/claude-code-templates --skill seoagent -a claude-code3Manually: put the files in place
~/.claude/skills/seoagent/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/seoagent/
Manually: put the files in place
.agents/skills/seoagent/SKILL.mdFor all projects use ~/.agents/skills/
Manually: put the files in place
.cursor/skills/seoagent/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install davila7/claude-code-templates seoagent2Manually: put the files in place
.github/skills/seoagent/SKILL.mdPlatform CLI
gemini skills install https://github.com/davila7/claude-code-templates --path cli-tool/components/skills/business-marketing/seoagentManually: put the files in place
.devin/skills/seoagent/SKILL.mdThe legacy .windsurf/skills/ path still works
Claude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about seoagent
How do I install seoagent in Claude Code?
Use the templates command: npx claude-code-templates@latest --skill business-marketing/seoagent. Alternatively run npx skills add davila7/claude-code-templates --skill seoagent -a claude-code. The skill file ends up at ~/.claude/skills/seoagent/SKILL.md.
What does seoagent do?
It walks a site through a technical SEO checklist, builds a hub-and-spoke topic structure, writes page-type-aware briefs and drafts articles with metadata and JSON-LD. Output is stored in .seoagent/ inside the repo.
How is it different from a one-off SEO prompt?
A prompt loses its context when the conversation ends. Here audits, strategy, briefs and drafts live in .seoagent/, and the next session reads them before doing anything.