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.
npx skills add san-npm/skills-ws --skill search-consolegit clone --depth 1 https://github.com/san-npm/skills-wsWrote 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.
[](https://agentmods.dev/skills/san-npm/skills-ws/search-console)<a href="https://agentmods.dev/skills/san-npm/skills-ws/search-console"><img src="https://agentmods.dev/badge/skills/san-npm/skills-ws/search-console/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.
<a href="https://agentmods.dev/skills/san-npm/skills-ws/search-console"><img src="https://agentmods.dev/badge/skills/san-npm/skills-ws/search-console.svg" alt="Reviewed on agentmods" width="80" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00070 | $0.04883 |
| Opus 5 | $0.00035 | $0.02441 |
| Sonnet 5 | $0.00014 | $0.00977 |
| Haiku 4.5 | $0.00007 | $0.00488 |
Grade A, and why
search-console scanned grade A with 1 finding 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 5d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
**Sitemap index triage:** submit the **index** file in GSC, not each child. The Sitemaps report then shows per-child "Discovered URLs" and status. When a sitemap shows "Couldn't fetch": confirm it isn't blocked by robots How it starts
The opening of the file, as written. The whole thing — 279 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Google Search Console
Workflow
1. Property Setup
Verify ownership via DNS TXT record (most reliable):
google-site-verification=XXXXXXXXXXXXXXXX
Alternatives: HTML file upload, HTML meta tag, Google Analytics, Google Tag Manager.
Prefer a Domain property (example.com, verified by DNS TXT). It aggregates every protocol and subdomain (http, https, www, m., blog.) into one dataset, so you see the whole site without managing many properties. Add a URL-prefix property (https://example.com/) only when you need narrower scope — e.g. delegating reporting/ownership for one subfolder to a team, isolating a staging host, or because a tool requires a URL-prefix siteUrl. URL-prefix properties match the exact protocol + host you enter and do not include subdomains.
The
siteUrlyou use in the APIs must match the property type exactly: Domain →sc-domain:example.com; URL-prefix →https://example.com/(with trailing slash). Mismatches return403 PERMISSION_DENIEDeven when you own the site.
2. Page Indexing Audit
The old Coverage report ("Valid / Valid with warnings / Excluded / Error") is gone. Current GSC has a Page indexing report that splits URLs into two buckets — Indexed and Not indexed — and lists a reason per URL. There is no "Valid with warnings" tier; warnings now live under structured-data / enhancement reports, not page indexing.
Reading the report:
- Open Indexing → Pages. The top chart shows the indexed vs not-indexed split over time.
- Each reason row links to a sample of affected URLs (the table is a sample, capped at ~1,000 rows — see API/BigQuery below to get the full list).
- A reason being non-zero is not automatically a bug: most healthy sites permanently carry "Alternate page with proper canonical", "Page with redirect", and "Excluded by 'noindex' tag" rows. Triage by intent, not by zeroing every bucket.
Not-indexed reasons — likely cause and fix:
| Reason | What it usually means | Action |
|---|---|---|
| Crawled - currently not indexed | Google fetched it but chose not to index — thin/duplicate/low-demand content | Improve depth & uniqueness; strengthen internal links from indexed pages; consolidate near-duplicates |
| Discovered - currently not indexed | Known URL not yet crawled — usually crawl budget / crawl demand, weak internal linking, or slow server, not "needs more backlinks" | Improve internal linking & site speed; reduce low-value URL sprawl (faceted/param URLs); ensure it's in the sitemap. On large sites this is a crawl-prioritization signal, not a quick fix |
| Duplicate without user-selected canonical | No rel=canonical; Google clustered it with another URL |
Add an explicit self-referencing or correct canonical |
| Duplicate, Google chose different canonical than user | You declared a canonical; Google overrode it | See canonical workflow below — usually conflicting signals or a stronger duplicate |
| Alternate page with proper canonical | Expected — this URL canonicalizes elsewhere | None if intentional; if the wrong URL won, fix canonical/internal links |
| Excluded by 'noindex' tag | Has noindex (meta or X-Robots-Tag) |
Remove noindex only if the page should rank |
| Blocked by robots.txt | Disallowed before crawl (so Google can't even read a noindex) |
Unblock in robots.txt if it should be crawled |
| Page with redirect | URL 3xx-redirects | Expected; update internal links to point at the destination |
| Soft 404 | Returns 200 but looks empty/error-like | Add real content or return a proper 404/410 |
| Blocked due to other 4xx / Server error (5xx) / Not found (404) | Fetch failed | Fix status codes; 5xx during a crawl spike implies capacity/crawl-rate issues |
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 5d ago First seen · 279 lines · 70 tokens per session scan A d234a5bb186e
search-console is a skill published in the GitHub repository san-npm/skills-ws (2 stars, last pushed 5d ago), licensed MIT. It adds 70 tokens to every session and 4,883 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-07.
Other skills, from other repositories
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes.
local-ai-agents
Build local-first AI agents that run entirely on a developer workstation with Microsoft Foundry Local and Qwen function-calling models. Covers Small Language Models (SLMs), the OpenAI-compatible local endpoint, sandboxed local tools, local RAG with Chroma, local MCP servers, hybrid cloud/local routing, and the…
next-cache-components-adoption
Turn on Cache Components in a Next.js app and resolve the blocking routes it surfaces. Use when the user wants to enable, adopt, or migrate to Cache Components, flip the cacheComponents flag, work through a flood of blocking-prerender / instant validation errors, run the cache-components-instant-false codemod, or…
chat-pet-sprite-creation
Use when creating or changing VS Code chat pet sprite art, sprite sheets, state animations, eye treatments, Stable/Insiders variants, or pet transitions under src/vs/workbench/contrib/chat/browser/widget/media/chatPet.
cpu-profile-analysis
Analyze V8/Chrome CPU profiles (.cpuprofile) and DevTools trace files (Trace-.json). Use when: profiling performance, investigating slow functions, comparing code paths, finding bottlenecks, analyzing timeToRequest, understanding call trees from sampling profiler data, analyzing layout/paint/rendering, investigating…
insight-error-page
Write or audit an insight-kind error page for the Next.js dev overlay. Use when creating a new errors/ .mdx page, auditing an existing one, or checking that a page matches the framework fix cards. Covers page structure, title alignment, FixCard cards with Copy prompt button, code snippets, terminology verification…