visibly-seo-status-quo

visibly-seo-status-quo is a skill for Claude Code from AntonioBlago/claude-code-seo-starter. It costs 72 tokens per session (1,113 once invoked), scanned A, original, MIT.

An SEO analysis workflow that measures how a website appears in unpaid Google search results. It uses Google Search Console data, which reports searches, visits, click rate, and average ranking, and can also use keyword and competitor data.

In plain words
What is it for?
Use it to find ranking problems, compare target keywords with actual results, identify quick improvements, and benchmark competitors.
Why use it?
It replaces guesses about search visibility with current data from the website's own Google account. If no connection is available, it can work from a Search Console CSV export.

Skill for Claude Code

Written for Claude Code: installed under .claude/.

Needs its repository: it reads a path above its own folder, which exists only inside the repository. The line is keyless. Setup tiers: [`docs/setup.md`](../../../docs/setup.md) §3..

Part of the seo-starter plugin — 4 skills, 4 commands, 1 hook, 2 MCP servers shipped together

Good fit Use it to find ranking problems, compare target keywords with actual results, identify quick improvements, and benchmark competitors.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/AntonioBlago/claude-code-seo-starter
agentmods
npx agentmods add skills/antonioblago/claude-code-seo-starter/visibly-seo-status-quo

Made for: Claude Code.

Or install seo-starter, the plugin that ships this one along with the rest of its 4 skills, 4 commands, 1 hook, 2 MCP servers.

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 visibly-seo-status-quo

README.md
[![agentmods](https://agentmods.dev/badge/skills/antonioblago/claude-code-seo-starter/visibly-seo-status-quo/github.svg)](https://agentmods.dev/skills/antonioblago/claude-code-seo-starter/visibly-seo-status-quo)
Your own site
<a href="https://agentmods.dev/skills/antonioblago/claude-code-seo-starter/visibly-seo-status-quo"><img src="https://agentmods.dev/badge/skills/antonioblago/claude-code-seo-starter/visibly-seo-status-quo/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 visibly-seo-status-quo

Your own site · 80×15
<a href="https://agentmods.dev/skills/antonioblago/claude-code-seo-starter/visibly-seo-status-quo"><img src="https://agentmods.dev/badge/skills/antonioblago/claude-code-seo-starter/visibly-seo-status-quo.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 72 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,113 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.00072 $0.01113
Opus 5 $0.00036 $0.00557
Sonnet 5 $0.00014 $0.00223
Haiku 4.5 $0.00007 $0.00111

Measured 11d ago against content hash dd5aff1d5f62, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

visibly-seo-status-quo 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 11d 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.

.claude/skills/visibly-seo-status-quo/SKILL.md · 86 lines

How it starts

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

SEO Status-Quo Analysis

Establish, with live data only, where a domain stands organically in a target market today. This is the foundation every later phase builds on — so every fact here must be verified, not assumed.

Tier note. Steps 1–2 use Visibly AI's Google tools (query_search_console, list_projects), which need a Visibly key (pro tier — GSC/GA run at 0 credits once Google is connected). No key? Skip to Step 3: export Search Console (Performance → Queries → CSV) yourself and feed that CSV to the Python template in Step 4 — the cross-reference, classification and quick-win logic all run locally and keyless. Setup tiers: docs/setup.md §3.

Step 1 — Discover what's wired

  1. mcp__visiblyai__list_projects — find the project matching the domain.
  2. mcp__visiblyai__get_google_connections — confirm Search Console (and GA) are connected.

If no project/connection exists, stop and tell the user what to connect first.

Step 2 — Pull live GSC performance

  1. mcp__visiblyai__query_search_consoledimension=query, target-country filter, limit=500. This is the ground truth: clicks, impressions, CTR, average position.
  2. Repeat with dimension=page to find URLs with impressions but weak clicks (underperforming pages = on-page/intent-mismatch candidates).

Step 3 — Load the client's target keywords

  1. Read the client's keyword file (*.xlsx / *.csv) with pandas. These are the keywords the business cares about — often different from what it actually ranks for. That gap is where the strategy lives.

Step 4 — Cross-reference and classify

  1. Map each target keyword onto the live GSC row (clicks, impressions, CTR, position).
  2. Classify on two axes:
    • Type: Brand · Generic · Competitor
    • Ranking bucket: Top 3 · Page 1 (4-10) · Page 2 (11-20) · Weak (21-50) · Not Ranking (50+/none)

Don't do this join by hand. Save the GSC export (dimension=query) as CSV/XLSX next to the client's keyword file and run the Python template — it does the cross-reference, both classifications and the quick-win flag deterministically:

Read the full file on GitHub · 86 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. 11d ago First seen · 86 lines · 72 tokens per session scan A dd5aff1d5f62

Subscribe to this mod's changes

visibly-seo-status-quo is a skill published in the GitHub repository AntonioBlago/claude-code-seo-starter (3 stars, last pushed 6d ago), licensed MIT. It adds 72 tokens to every session and 1,113 once invoked, about $0.0004 per session on Opus 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-08-31.

Related

Other skills, from other repositories

gemini

Cross-model second opinion from Google Gemini — a different AI reviewing the same changes, with deep Google ecosystem knowledge. Three modes: review (pass/fail gate for Google Ads campaigns, SEO metadata, or code), challenge (adversarial stress-test that tries to break your changes), and consult (open Q&A with Gemini…

nowork-studio/notfair-plugin · 184 tokens

content-planner

GSC-driven content calendar. Pulls real Search Console data, finds the highest click-potential opportunities (striking-distance queries at positions 5-20, unanswered query intent, related-keyword expansions), and produces a dated, prioritized content calendar — ready to hand to /content-writer. Use when the user asks…

nowork-studio/notfair-plugin · 123 tokens

meta-tags-optimizer

Optimize title tags, meta descriptions, Open Graph, and Twitter cards for maximum click-through rate. Generates multiple A/B test variations with character counting and SERP preview. Use when asked to "optimize title tag", "write meta description", "improve CTR", "Open Graph tags", "fix my meta tags", "social media…

nowork-studio/notfair-plugin · 91 tokens

setup-cms

Connect a CMS to notfair SEO tools. Guides users through configuring WordPress, Strapi, Contentful, or Ghost — tests the connection, and writes credentials to .env.local. Once set up, seo-analysis automatically cross- references CMS content against Google Search Console data. Use whenever the user says "connect my…

nowork-studio/notfair-plugin · 111 tokens

content-amplifier

Use when the user asks to "amplify influencer content with paid media", "set up whitelisting or Spark Ads", "decide which posts to boost", "repurpose influencer content", "turn one video into multiple ads", or "build a UGC asset library"; produces (paid mode) a content-selection scorecard, a paid amplification…

aaron-he-zhu/aaron-marketing-skills · 202 tokens

product-feed-optimizer

Use when the user asks to "optimize my Shopping feed", "fix product disapprovals", "improve product titles/attributes", or "build feed-driven PMax asset groups"; audits and rewrites the Shopping/Performance Max product feed — title/description patterns, required and recommended attributes, GTIN/availability/price…

aaron-he-zhu/aaron-marketing-skills · 144 tokens