seo-opportunities

seo-opportunities is a skill for Claude Code, Codex from nuxt/nuxt.com. It costs 30 tokens per session (4,045 once invoked), scanned A, original, MIT.

An SEO reporting skill for Nuxt websites. SEO, or search engine optimisation, is the work of helping pages appear in search results and attract visits.

In plain words
What is it for?
It helps investigate traffic changes, declining pages, low click-through rates, indexing problems, and search queries, then plan follow-up measurements.
Why use it?
It turns Google Search data into specific explanations of gains, losses, and actions instead of leaving a team with disconnected metrics or generic advice.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit It helps investigate traffic changes, declining pages, low click-through rates, indexing problems, and search queries, then plan follow-up measurements.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/nuxt/nuxt.com/seo-opportunities
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add nuxt/nuxt.com --skill seo-opportunities
Clone the repo
git clone --depth 1 https://github.com/nuxt/nuxt.com

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for seo-opportunities

README.md
[![agentmods](https://agentmods.dev/badge/skills/nuxt/nuxt.com/seo-opportunities/github.svg)](https://agentmods.dev/skills/nuxt/nuxt.com/seo-opportunities)
Your own site
<a href="https://agentmods.dev/skills/nuxt/nuxt.com/seo-opportunities"><img src="https://agentmods.dev/badge/skills/nuxt/nuxt.com/seo-opportunities/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for seo-opportunities

Your own site · 80×15
<a href="https://agentmods.dev/skills/nuxt/nuxt.com/seo-opportunities"><img src="https://agentmods.dev/badge/skills/nuxt/nuxt.com/seo-opportunities.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 30 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,045 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00030 $0.04045
Opus 5.5 $0.00012 $0.01618
Sonnet 5.5 $0.00006 $0.00809
Haiku 4.5 $0.00003 $0.00404

Measured 2d ago against content hash d9cc0bf4ab03, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

seo-opportunities scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

layers/nuxi/agent/skills/seo-opportunities/SKILL.md · 95 lines

How it starts

The opening of the file, as written. The whole thing — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Use for an SEO report, search traffic changes, declining pages, low CTR, striking-distance queries, indexing issues or recommendations. For the weekly digest use compact mode below.

The report must help a teammate decide what to do this week. Collect evidence first, then write a short briefing with wins, losses, specific changes and follow-up measurements. Do not return a list of metrics followed by generic advice or a backlog of queries the agent could have run itself.

Discover the exact schemas of admin-mcp__search-console-analytics, admin-mcp__search-console-inspect-url, admin-mcp__search-console-sitemaps, admin-mcp__list-feedback and admin-mcp__crux-web-vitals before calling them. These require team access. If a tool is unavailable or not configured, report its concrete error and continue with available evidence; never invent data or bypass access controls.

Scope and dates

  • Default to 28 days for a standalone report; use the requested window when supplied, including the digest's N days.
  • Search Console lags 2–3 days. Set inclusive endDate to today minus 3 calendar days; startDate is endDate minus (N−1) days. The previous window ends the day before startDate and spans exactly N days. Pass dates explicitly on every call; the API default remains 28 days regardless of the requested window.
  • Default scope is nuxt.com and all subdomains, including ui.nuxt.com and nested subdomains. On every analytics call use filters=[{"dimension":"page","operator":"includingRegex","expression":"^https?://([a-z0-9-]+[.])*nuxt[.]com/"}]. This includes HTTP and HTTPS URLs; the anchored hostname and trailing slash exclude lookalike domains. Do not intersect it with the old apex-only filter. If the user explicitly narrows the report to one host, REPLACE the domain-wide expression with that exact host (for example ^https?://ui[.]nuxt[.]com/). Add exact-page, query and requested path filters with AND. Only use hosts covered by the configured Search Console property; if a URL-prefix property covers just the apex, disclose that subdomain data is unavailable rather than claiming full domain coverage.
  • Use the same property, filters and search type (web) in both windows. Do not compare filtered totals with unfiltered property totals or older reports with different scope.
  • CTR is already a percentage; its changes are percentage points. Lower average position is better: write “improved 7.3 → 5.3” or “worsened 5.3 → 7.3.” When the previous baseline is zero, show the absolute change and “no prior baseline,” not a percentage. Flag tiny baselines rather than celebrating large percentages on a handful of clicks.

Date coverage gate

  • Before calculating ANY period changes, query dimensions=["date"], rowLimit=500, startRow=0 for BOTH explicit windows with the selected domain-or-host/path scope. Verify all N expected calendar dates are present in each response, including each start and end date. The daily row limit must cover the whole window, including a digest requesting up to 365 days. Do not confuse date coverage with partial page/query coverage.
  • Search Console retains only 16 months. Two 365-day windows cannot both fit in that history. A nominal 3-day reporting lag also does not guarantee the latest requested dates have arrived. If dates are missing or a request falls outside retention, do not fill them with zero or call the comparison complete; no returned data can also mean no traffic, so coverage is unverified rather than a proven outage.
  • When either window is incomplete, unavailable or unverified, show available totals separately as partial/unverified with the requested dates, actual returned date span and missing-date count where known. Suppress percent/absolute deltas, win/loss labels and trend claims that depend on that comparison. Say “comparison unavailable — .” Keep current-data recommendations only when independently supported. Do not silently shorten the window, extrapolate a full period or shift dates without refetching all evidence for both new windows. The rest of the weekly digest must continue.

Read the full file on GitHub · 95 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 95 lines · 30 tokens per session scan A d9cc0bf4ab03

Subscribe to this mod's changes

seo-opportunities is a skill published in the GitHub repository nuxt/nuxt.com (461 stars, last pushed yesterday), licensed MIT. It adds 30 tokens to every session and 4,045 once invoked, about $0.0001 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-04.

Related

seo-opportunities compared with skills from other repositories

seo-opportunities next to 6 skills from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
seo-opportunitiesnuxt/nuxt.comSkill461yesterdayMITA30Claude Code, Codex
nuxt-uinuxt/uiSkill7.1kyesterdayMITA56Claude Code, Codex
vue-expertpersonamanagmentlayer/pclSkill4411d agoApache-2.0A78Claude Code
nuxt-docspledgeandgrow/pledge-skillsSkill103mo agoMITA33Claude Code, Codex
content-passHugoRCD/evlogSkill1.9k12d agoMITA154Claude Code, Codex
contributingHugoRCD/evlogSkill1.9k12d agoMITA68Claude Code, Codex
update-component-docsAgnosticUI/agnosticuiSkill833yesterdayApache-2.0A11Claude Code