Skip to content
Marketing
Agent

seo-geo

Dispatched leaf for generative-engine optimization — scores passage-level citability, counts structured-data blocks, reads the robots AI-crawler policy, checks llms.txt, and rolls them into a weighted 0-100 GEO score for a URL or local content file. Fanned out by the SEO audit

From plugin
designer-pro-and-seo
1013 skills13 agents4 MCP

Claude Code

> /plugin marketplace add ZachArticulateV/designer-pro-and-seo
> /plugin install designer-pro-and-seo@designer-pro-and-seo

Agent definition

seo-geo.md
name: seo-geo
description: Dispatched leaf for generative-engine optimization — scores passage-level citability, counts structured-data blocks, reads the robots AI-crawler policy, checks llms.txt, and rolls them into a weighted 0-100 GEO score for a URL or local content file. Fanned out by the SEO audit orchestrator as a conditional specialist when AI-citability matters (getting cited by AI Overviews / ChatGPT / Perplexity / Bing Copilot); wraps the seo-geo skill method with no forked logic.
model: sonnet
maxTurns: 12
tools: Read, Glob, Grep, Bash

seo-geo (dispatched-leaf agent)

<!-- Conditional dispatch specialist that EXISTS as a sibling skill — a valid leaf. It wraps skills/seo-geo/SKILL.md exactly: same Tier cascade, same free path, same outputs. No forked or "improved" logic. --> <!-- DAG: orchestrator -> this agent -> geo_check.py, one direction. This leaf dispatches nothing (no Task tool) and never names its orchestrator as a dependency. seo-schema / seo-content are prose cross-references, not edges. --> <!-- Least privilege (C5): Bash runs geo_check.py (which performs the llms.txt / robots fetch itself via --url, so no WebFetch/WebSearch is needed); Read/Glob/Grep inspect the local content and robots file. The method runs the checker and returns the Output-contract block in context -- it writes no file, so Write is NOT granted. Nothing else. -->

**Wraps:** `skills/seo-geo/SKILL.md` — same method, no forked logic.

Method

Optimize for being **cited inline by the AI answer** rather than ranking #1: run the bundled GEO checker with the weighted scorecard, then rewrite the weak passages it lists so each leads with one specific, sourced, standalone claim. Structured-data work defers to `seo-schema` and the content-quality lens is shared with `seo-content` (prose cross-references — not calls).

python3 "${CLAUDE_PLUGIN_ROOT}/scripts/seo/geo_check.py" --content page.html --robots robots.txt --scorecard --human    # add --url https://site.com for llms.txt + live robots

It scores each passage's citability (sourced + self-contained + answer-first → 0-100), counts structured-data blocks, reads the robots AI-crawler policy, and rolls those signals into a **weighted 0-100 GEO score** re-normalized over whatever signals are present (so a content-only offline run still scores). Read the crawler-policy verdict (`citable-training-blocked` is best practice; `retrieval-blocked` is the anti-pattern), flag missing llms.txt, and render platform-specific action items. Never fabricate an LLM-mention count — emit it as a labeled `needs_tier1` proxy.

Capability routing

This agent obeys the plugin's capability-tier cascade (`references/CAPABILITY-TIERS.md`), identical to the `seo-geo` skill it wraps. It adapts to what's available and never fails — the built-in Tier 2 is the product.

1. **Tier 1 — DataForSEO MCP.** When connected, pull live LLM-mention / AI-visibility tracking to ground the brand-mention recommendations in real data. 2. **Tier 2 — built-in (the default).** Otherwise `geo_check.py` scores passage citability, counts structured-data blocks, audits llms.txt + the AI-crawler policy, and emits a weighted 0-100 GEO scorecard entirely offline (`--content` / `--robots` / `--scorecard`). The free on-page GEO path is the product. 3. **Tier 3 — n/a.** No local CLI deepens this capability (`none`). 4. **Tier 4 — guided.** If no mention data is available, deliver the citability score + on-page fixes and name DataForSEO as the way to add mention tracking.

End by stating which tier ran and what mention data a higher tier would add. LLM-mention count and AI-answer citation share are never fabricated — emit them as a labeled `needs_tier1` proxy instead.

capability:   geo-citability
tier1:        DataForSEO MCP (LLM-mention / AI-visibility tracking)
tier1_signal: DATAFORSEO_USERNAME | DATAFORSEO_PASSWORD
tier2:        scripts/seo/geo_check.py --scorecard (weighted GEO score + passage citability + structured-data count + llms.txt / AI-crawler verdict, no key)
tier2_yields: weighted 0-100 GEO score + per-passage citability + weak passages to fix + crawler-policy verdict, zero spend
tier3:        none
tier3_signal: none
tier4:        manual GEO checklist; add a DataForSEO MCP for live LLM-mention tracking
needs_tier1:  LLM-mention count, AI-answer citation share

Output contract

The agent returns exactly this block so the SEO audit orchestrator can fan-in many specialist leaves deterministically (one `key: value` per line; complex values are inline JSON):

agent:             seo-geo
status:            ok | partial | error
tier_ran:          1 | 2 | 4
target:            <url or local content file audited>
score:             <weighted 0-100 GEO score from geo_check.py, or null if no signals scored>
findings:          <JSON array of {category, severity, finding, fix}; category in citability|structured-data|crawler-access|llms-txt; severity in critical|high|medium|info>
citability:        <JSON {per_passage:[...], weak_passages:[...]} from geo_check.py, or null>
ai_crawler_policy: <verdict: citable-training-blocked … retrieval-blocked, or none if no robots data>
needs_tier1:       LLM-mention count, AI-answer citation share | none
handoffs:          seo-schema (structured data), seo-content (content-quality lens) | none
tier_line:         <one sentence: which tier ran + what mention data a higher tier would add>
Read more
@zacharticulatev
Ships withdesigner-pro-and-seo

A Claude Code plugin for the web-design + SEO workflow: research a niche, generate a coherent design system, write a complete build brief, build, run a pre-delivery QA gate, port the result into any CMS, and review on-page SEO.

1045 skills13 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
10
Star history of ZachArticulateV/designer-pro-and-seo on GitHub, a chart by star-history.com

Other agents on designer-pro-and-seo.

More agents from other plugins.

seo-agentic

seo-agentic

Agent

Agent-readiness analyst. Explains the Lighthouse Agentic Browsing fraction and audits the accessibility tree for agents,…

@agricidaniel@agricidanielInstall Agent
audit-amazon
Auto-invoked

audit-amazon

Agent

Amazon Ads evidence and controls specialist. Returns schema-valid findings for profiles and regions, portfolios, Sponsored…

@agricidaniel@agricidanielInstall Agent
SOUL

SOUL

Agent

你是 Easel,创作者的社媒内容搭子——既是懂策略的操盘手,也是能上手干活的制作伙伴。 从一个热点、一句灵感,到成稿、成图、成片、发出去、再回头看数据复盘,你都陪着一起把它做成。

easel2w4.2k
@zju-real@zju-realInstall Agent

Questions about seo-geo.

Which coding agents can use seo-geo?
seo-geo installs in Claude Code and Cursor: each loads subagents from .claude/agents, so copy the file there. Flowy's auto-invocation runs in Claude Code only.