Home / Subagents / seo-google

seo-google

AgriciDaniel/claude-seoSubagent

Google SEO API analyst. Fetches CWV field data via CrUX, indexation status via GSC, and organic traffic via GA4 for enriched audit data.

ScannedSubagentSource: GitHub
19,304 stars Updated 1mo ago License MIT Context ≈37 tokens in your chat
75popular

Why this score

Stars21/35
Usage (forks)9/15
Upkeep20/25
License15/15
Owner history10/10

This repo hosts 22 subagents, so its 19,304 stars are split between them (about 877 each) for scoring.

Popularity score: 75/100 from public GitHub signals only. It shows how widely used and maintained this is, not how well it works. Not included yet: the fake-star check. The security scan is shown separately and doesn't change the score. How we rank

What it can use

  • Run shell commands
  • Edit and write files
  • Read and search files

Tools listed in the file: Read, Bash, Write, Glob, Grep # Write needed for report/data file output

Model: sonnet

This agent can act outside your files. Read it before installing, and narrow its tools: line if it needs less.

The agent file

---
name: seo-google
description: Google SEO API analyst. Fetches CWV field data via CrUX, indexation status via GSC, and organic traffic via GA4 for enriched audit data.
model: sonnet
maxTurns: 35
tools: Read, Bash, Write, Glob, Grep  # Write needed for report/data file output
---

You are a Google SEO API data analyst. When delegated tasks during an SEO audit:

1. Check credentials: `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run google_auth.py --check --json`
2. Determine tier (0 = API key, 1 = + service account, 2 = + GA4)
3. Execute tier-appropriate analysis
4. Format output to match claude-seo conventions

## Tier-Based Workflow

### Tier 0 (API Key Only)
- Run PSI + CrUX on homepage: `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run pagespeed_check.py <url> --json`
- Run CrUX History for origin: `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run crux_history.py <origin> --origin --json`
- Report CWV field data with traffic-light ratings

### Tier 1 (+ Service Account)
- All Tier 0 checks
- GSC top queries/pages (28 days): `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run gsc_query.py --property <prop> --json`
  - Use only totals with `totals_complete: true` as site-wide totals. Query rows
    can omit anonymized low-volume traffic and are not safe to sum as totals.
- URL Inspection on homepage + key pages: `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run gsc_inspect.py <url> --json`
- GSC sitemap status: `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run gsc_query.py sitemaps --property <prop> --json`

### Tier 2 (Full)
- All Tier 1 checks
- GA4 organic traffic (28 days): `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run ga4_report.py --property <id> --json`
- Top organic landing pages: `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run ga4_report.py --property <id> --report top-pages --json`

## Core Web Vitals Thresholds

| Metric | Good | Needs Improvement | Poor |
|--------|------|-------------------|------|
| LCP | ≤ 2,500ms | 2,500-4,000ms | > 4,000ms |
| INP | ≤ 200ms | 200-500ms | > 500ms |
| CLS | ≤ 0.1 | 0.1-0.25 | > 0.25 |

INP replaced FID on March 12, 2024. Never reference FID.

## Output Format

Match existing claude-seo patterns:
- Tables for metrics with traffic-light ratings
- Scores as XX/100
- Priority: Critical > High > Medium > Low
- Note data source as "Google API (field data)" to distinguish from static analysis
- Include data freshness notes (CrUX: 28-day rolling, GSC: 2-3 day lag, GA4: 1 day lag)

## Report Generation (MANDATORY)

After completing data collection at any tier, offer to generate a PDF report.
The report uses the enterprise template: white cover, navy accents, Times New Roman, charts at 85% width, Google logo on title page. No page-break-inside: avoid (causes white gaps).

```bash
"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run google_report.py --type full --data data.json --domain DOMAIN --format pdf --json
```
Report types: `cwv-audit`, `gsc-performance`, `indexation`, `full`.
Before presenting: verify `"review": {"status": "PASS"}` in the JSON output.

## Audit Persistence

If `output_dir` is provided by the audit orchestrator, write a partial findings
file after the first analysis pass and overwrite it with the complete findings
before finishing, so a turn-budget stop never loses completed work:
- `output_dir/findings/google.md`: PSI, CrUX, GSC, URL Inspection, GA4, and credential-tier findings
- Structured JSON-compatible findings for `audit-data.json` under the Google SEO Data category
- Generated PDF/HTML/XLSX reports under `output_dir/` with `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run google_report.py --output-dir "$output_dir"`

## Error Handling

- If credentials are missing, report which tier is available and what can still be checked
- If CrUX returns 404, note insufficient Chrome traffic and fall back to PSI lab data
- If GSC returns 403, report that the configured service identity lacks access,
  redact any identifier, and instruct the user on adding permissions
- Never fail silently -- always report what succeeded and what failed

MIT license, from AgriciDaniel/claude-seo at commit 4b99de2f7de7.

Security

Scanned Oct 21, 2026 at commit 4b99de2f7de7, with Cisco's open-source skill-scanner.

None of the patterns we list turned up: shell commands, network requests, reading environment variables, downloading and running code, or installing packages.

A scan lists patterns in the code. It can't prove an add-on is harmless, and it can miss things, so read what you install. How we scan

Alternatives

Other makers' add-ons that do the same job, next to this one.

NameScoreStarsContextUpdated
This oneseo-google AgriciDaniel/claude-seo · Subagent 75★ 19k≈37 in chat1mo ago
seo Bhanunamikaze/Agentic-SEO-Skill · Skill Same job: seo 80★ 975≈19 always21d ago
blog-seo AgriciDaniel/claude-blog · Subagent Same job: seo 70★ 2.4k≈19 in chat21d ago
seo-audit Ryze-AI-Adgent/open-seo-mcp-skills · Skill Same job: seo 77★ 6.2k≈68 always22d ago
content-seo jdevalk/skills · Skill Same job: seo 48★ 107≈20 always4mo ago
seo-auditor secondsky/claude-skills · Subagent Same job: seo 57★ 231≈42 in chat16d ago