Borrowing it
Nothing to install: this file belongs to fenjo26/OpenGSC. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/fenjo26/OpenGSC/main/.agents/skills/gsc-performance-review/SKILL.mdgit clone --depth 1 https://github.com/fenjo26/OpenGSCWrote 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/fenjo26/opengsc/gsc-performance-review)<a href="https://agentmods.dev/skills/fenjo26/opengsc/gsc-performance-review"><img src="https://agentmods.dev/badge/skills/fenjo26/opengsc/gsc-performance-review/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/fenjo26/opengsc/gsc-performance-review"><img src="https://agentmods.dev/badge/skills/fenjo26/opengsc/gsc-performance-review.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00040 | $0.00795 |
| Opus 5 | $0.00020 | $0.00398 |
| Sonnet 5 | $0.00008 | $0.00159 |
| Haiku 4.5 | $0.00004 | $0.00080 |
Grade A, and why
gsc-performance-review 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 10d 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.
How it starts
The opening of the file, as written. The whole thing — 54 lines — stays where its author put it; the contents beside it link to each section on GitHub.
OpenGSC Performance Review
Goal
Turn a site's synced GSC data into a short, prioritized list of actions: which queries to push onto page 1, which pages to consolidate, and where better titles/meta could unlock clicks.
Required inputs
- The site (domain). If unknown, call
list_sitesfirst and ask the user which site to review. - Optional: lookback window in days (default 90 for opportunity analysis, 28 for the traffic overview).
OpenGSC MCP tools
list_sites: discover connected sites and their exact identifiers.get_search_performance: totals + top queries/pages. Run once withdimension=queryand once withdimension=page.get_striking_distance: queries at positions 4–20 with real impressions — the fastest wins. The default band is right for most reviews; tighten to 4–10 for "almost there" pages only.get_cannibalization: queries where 2+ of the site's own URLs compete; high-impression conflicts with close positions are consolidation candidates.get_rank_tracker: tracked-keyword positions with direction (latest vs previous) — cross-reference against GSC average position when both exist.get_ctr_benchmark: top-10 queries whose real CTR trails the benchmark for that position. Separates "we don't rank" from "we rank and nobody clicks" — two different fixes.get_content_decay: pages trending down. A decaying page in the striking-distance list is a refresh, not a new piece.get_content_groups: if the user has defined Content Groups or Topic Clusters, report by section rather than by URL — it is how they think about the site.compare_periods: winners, losers, new and lost queries versus the previous window.
Workflow
- Resolve the site with
list_sitesif needed. - Pull the overview:
get_search_performancewithdimension=query(28 days), thendimension=page. - Pull
get_striking_distance(90 days). Rank opportunities by impressions × closeness to page 1. - Pull
get_ctr_benchmark(90 days). Anything ranking top-10 with a large negativediffis a title/meta fix — cheaper and faster than any content work, so it goes near the top of the plan. - Pull
get_cannibalization(90 days). Flag conflicts where the "loser" URL takes a meaningful share of impressions. - Pull
get_content_decay. Pages already sliding need a refresh before they need optimization. - If tracked keywords exist, pull
get_rank_trackerand note keywords moving down. - Synthesize a plan. Every recommendation must name a concrete query AND page from the data. For anything that turns into "rewrite this page", hand off to the
page-optimizationskill rather than writing it here.
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.
- 10d ago First seen · 54 lines · 40 tokens per session scan A f589ca03454f
gsc-performance-review is a skill published in the GitHub repository fenjo26/OpenGSC (22 stars, last pushed today), licensed MIT. It adds 40 tokens to every session and 795 once invoked, about $0.0002 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-30.
Other skills, from other repositories
review-animations
Reviews animation and motion code against a high craft bar derived from Emil Kowalski's design engineering philosophy. Default to flagging; approval is earned.
cn-check
Install and run the Continue CLI (cn) to execute AI agent checks on local code changes. Use when asked to "run checks", "lint with AI", "review my changes with cn", or set up Continue CI locally.
reskin
Author a NEW skin for the reskinnable-demo app. A skin is a self-contained domain plugin under src/skins/ / that implements the frozen Skin contract (src/shell/skin-contract.ts) to swap the app's entire experience — brand, theme, layout, pages, tools, data, and agent — as a live sales demo. Use when the user says "add…
setup-slack-channel
Use for the PROVIDER half of getting a locally running CopilotKit Channels agent to answer in Slack, when no Slack app exists yet — setting up a Channels bot in Slack for the first time, creating the Slack app and its tokens, attaching it to a managed Intelligence Channel, or when a Channel reports setuprequired, sits…
copilotkit-channels
Use for the CODE half of a managed Intelligence Channel with Slack or Microsoft Teams: customising the Channel a CLI-scaffolded project already ships, or — for a project the CLI did not generate — writing the Channel declaration, the long-running host, and the awaited activation call. Teams provider setup is in scope…
copilotkit-integrations
Use when wiring an external agent framework (LangGraph, CrewAI, PydanticAI, Mastra, ADK, LlamaIndex, Agno, Strands, Microsoft Agent Framework, or others) into a CopilotKit application via the AG-UI protocol.