Optimize any website for SEO and GEO (AI search engines) — keyword strategy and clustering, site architecture and multilingual URL structure, page-level on-page SEO, AI-citation-ready content, topical-authority planning, internal linking, and structured-data schema
Coding
SEO & GEO Growth Agent
Try itRead-only SEO and GEO opportunity analysis with evidence-backed backlog output.
What it does
Read-only SEO and GEO opportunity analysis with evidence-backed backlog output.
The skill document
SEO & GEO Growth Agent
Use this skill for a read-only, evidence-backed growth analysis. It turns an audit, GEO (generative-engine optimization) request, competitor gaps, opportunities, or a content brief request into prioritized recommendations that can be reviewed and added to a backlog.
Triggers
Activate when the request includes one or more of these intents:
- audit — SEO, technical-content, search visibility, or AI-answer visibility audit
- GEO — generative-engine/AI-answer discoverability and citation analysis
- competitor gaps — competitor content, positioning, feature, or SERP gap analysis
- opportunities — evidence-backed growth opportunities or prioritization
- content brief — a brief for a proposed SEO/GEO page or article
Do not activate for requests to publish, schedule, edit production content, write social posts, change analytics, or change application data.
Safety boundary: read-only by default
This skill may inspect user-provided material and use available read-only capabilities. It must never:
- publish, schedule, send, post, or write to social channels (no social writes);
- edit a CMS, website, repository, backlog, analytics property, or customer data;
- collect, request, reveal, or store credentials, tokens, cookies, or secrets;
- run shell scripts or arbitrary code, browse unrestricted surfaces, or bypass access controls;
- add hidden telemetry, tracking pixels, callbacks, or undisclosed instrumentation.
Recommendations are not actions. Return a reviewable artifact and let an explicitly authorized downstream workflow handle any write operation.
Capability detection
Do not assume a search API, analytics connector, filesystem, MCP server, or OpenClaw tool exists. Before analysis, detect capabilities from the host/runtime's declared tool list and record:
- capability name and whether it is available;
- whether it is read-only and allowlisted for this run;
- input/scope limits and evidence it can return;
- the resulting limitation when unavailable.
Use only capabilities confirmed as available and read-only. If no suitable
capability is available, analyze supplied sources only or return SKIP with a
specific data gap. Never work around a missing capability with shell, arbitrary
HTTP, hidden browser access, or credentials. See
references/capability-detection.md.
Workflow
- Classify the request using the triggers above and state the requested scope.
- Confirm the target, audience/ICP, conversion goal, geography, and freshness requirements when they are available; mark missing fields as data gaps.
- Detect capabilities and establish the read-only source boundary.
- Inspect only supplied or allowlisted public sources. Keep each observation linked to a source URL and separate observation, inference, and recommendation.
- Identify competitor gaps or GEO opportunities without claiming rankings, traffic, citations, or coverage that were not observed.
- Prioritize actionable opportunities by impact, confidence, effort, and conversion proximity; explain ties and uncertainty.
- For an audit, inspect the supplied page/crawl evidence for title and meta
description, heading structure, canonical and indexability signals (only where
available), internal links, content clarity, CTA/intent alignment, and schema or
first-party evidence opportunities. Distinguish observed signals from hypotheses.
If crawl data is unavailable, say so in
limitations[]; never infer status, counts, rankings, or performance that was not supplied. - Produce the output contract below. Audit output must use
templates/growth-backlog.mdand contain no more than 3 urgent problems, 5 prioritized opportunities, or 3 recommended pages, plus exactly one Do this first action. Every opportunity card must include finding, evidence, impact, effort, confidence, target page/query, owner, recommended action, leading indicator, and next command. Each actionable recommendation may also be represented usingtemplates/backlog-item.md. - Return
SKIPwhen the target, evidence, or read-only capability is insufficient for a defensible recommendation.
Unsupported write requests
Refuse unsupported writes plainly: "I can analyze this read-only, but I cannot publish, schedule, edit, send, or write to that system." Then provide the next safe step: return the proposed change as a reviewable backlog item or content brief, ask the user to have an authorized publishing workflow review it, and do not invoke a write-capable tool.
Output contract
Return a structured result with:
status:READYorSKIP;requestType: one or more trigger intents;scope: target, audience/ICP, goal, geography, and freshness (or explicit gaps);capabilities: detected capabilities, read-only status, and limitations;evidence[]: source URL, title, observed date, and source-backed observation;findings[]: separateobservation,inference, andrecommendation;opportunities[]: priority, rationale, confidence, effort, and proposed content;backlogItems[]: reviewable proposed items conforming totemplates/backlog-item.md, never written automatically;limitations[]: unavailable data, unsupported requests, and uncertainty;nextSafeStep: review or authorized handoff, never an automatic write.
For audit requests, the Markdown backlog is the user-facing artifact. Keep the
sections and card fields in templates/growth-backlog.md intact so a reviewer can
act without reverse-engineering a long report. Use Unknown plus a specific
limitation when a requested signal is not present in the supplied evidence.
A SKIP result must include the reason, detected capability limitations, and a
safe next step. Do not fill missing evidence with plausible text.
Runtime loading and installation
This directory is portable: the loader should discover the root SKILL.md and
keep its references/ and templates/ paths relative to that file.
- Hermes Agent: copy or install this directory under the active profile's
$HERMES_HOME/skills/seo-geo-growth-agent/(or the profile's configured skills directory), then reload/discover skills. Do not put settings or secrets in the skill directory. - OpenClaw: install this directory under the OpenClaw instance's configured
skills directory and let its normal skill discovery load
SKILL.md. Do not assume a global path, package manager, or OpenClaw write permission; verify the instance's documented loader path first.
See the repository README local install path for the minimal development checkout flow.
Related skills
Diagnose a brand's visibility, recommendations, citations, competitor presence, factual accuracy, and content gaps in AI-assisted web search. Use for GEO aud...
Audit AI answer engine citations
Update the installed SEO + GEO skills and the seogeo CLI to the latest release. Reports the installed version, the latest published version, what changed, and reinstalls the skill set across every detected agent tool. Use when the user says "update geo", "update skills", "upgrade seogeo", "aggiorna", or asks whether a newer version exists.
One workflow that turns brand materials into an audited GEO delivery package with platform drafts.
Bootstrap the SEO + GEO skill suite — installs the seogeo binary and writes all 48 SEO/GEO skills into every agent tool on this machine. Use when the user has just installed this skill and nothing else works yet, or says "set up seo skills", "install seogeo", "seogeo not found", "bootstrap geo skills", or asks why an SEO/GEO command is missing.