agentsclimarketplace

Seo gsc compare

Skill lionkiii/claude-seo-skills/skills/seo-gsc-compare

Compare Google Search Console performance between two time periods to identify trends and changes. Supports month-over-month (MoM), year-over-year (YoY), or custom date ranges. Use when user says "GSC compare", "period comparison", "month over month", "year over year", "compare performance", "MoM", or "YoY".From its SKILL.md

Install
npx -y skills add lionkiii/claude-seo-skills --skill seo-gsc-compare

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • 20 stars20 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
  • runs commandsInstructs the agent to run 8 commands, including `currentEnd=$(date -v-3d +%Y-%m-%d)` and 7 more.

SKILL.md

5.3 KB, ~1.4k tokens by cl100k_base, as published. Nobody here has run it

GSC Compare — Period-over-Period Comparison

@skills/seo/references/mcp-degradation.md @skills/seo/references/gsc-api-reference.md

Compares GSC performance between two date periods — by default month-over-month (last 28 days vs prior 28 days). Surfaces top movers by page and query with directional indicators.

MCP Check

Before calling any GSC tool, verify the MCP is connected:

  1. Use ToolSearch with query +google-search-console
  2. If tools returned — note the actual tool name prefix, proceed to Inputs
  3. If no tools returned — display the GSC MCP error template from references/mcp-degradation.md and stop:
## Google Search Console MCP Not Available

The `/seo gsc compare` command requires the GSC MCP, which is not currently connected.

**What you can do:**
- Use `/seo technical <url>` for crawlability and indexability analysis (no live data)
- Use `/seo audit <url>` for a full static SEO audit

**To connect GSC MCP:**
- Install and configure a Google Search Console MCP server (see README for setup)
- Add it to ~/.claude/mcp.json at user scope (NOT project scope)
- Verify GSC property access before running commands (domain vs URL prefix format)
- See references/gsc-api-reference.md for property format details

Inputs

  • site: The GSC property URL. Accept both formats:
    • Domain property: sc-domain:example.com
    • URL prefix: https://example.com or https://www.example.com
    • If user provides a bare domain (no prefix), call list_sites to identify the correct property format registered in GSC.
  • type (optional): Comparison type — mom (default), yoy, or custom
  • current_start, current_end, previous_start, previous_end (optional): Only used when type=custom. Accept YYYY-MM-DD format.

Date Calculation

Use Bash to calculate comparison periods based on the requested type. GSC has ~3 day delay — all end dates use today-3.

Month-over-month (MoM, default):

currentEnd=$(date -v-3d +%Y-%m-%d)
currentStart=$(date -v-31d +%Y-%m-%d)
previousEnd=$(date -v-31d +%Y-%m-%d)
previousStart=$(date -v-59d +%Y-%m-%d)
comparisonLabel="Month-over-Month (last 28 days vs prior 28 days)"

Year-over-year (YoY):

currentEnd=$(date -v-3d +%Y-%m-%d)
currentStart=$(date -v-31d +%Y-%m-%d)
previousEnd=$(date -v-3d -v-1y +%Y-%m-%d)
previousStart=$(date -v-31d -v-1y +%Y-%m-%d)
comparisonLabel="Year-over-Year (last 28 days vs same period last year)"

Custom: Use the user-provided dates directly.

Execution

Step 1 — Page-level comparison: Call compare_performance with:

  • siteUrl: the site property
  • currentStartDate: currentStart
  • currentEndDate: currentEnd
  • previousStartDate: previousStart
  • previousEndDate: previousEnd
  • dimension: "page"
  • limit: 500

Step 2 — Query-level comparison: Call compare_performance with same dates but:

  • dimension: "query"
  • limit: 500

Post-processing: For each result set:

  • Calculate summary totals (sum all current clicks vs previous clicks)
  • Separate into "top gainers" (clicksChange > 0, sort descending) and "top losers" (clicksChange < 0, sort ascending)
  • Compute overall percentage change: (currentTotal - previousTotal) / previousTotal * 100

Direction indicators (unicode arrows for markdown):

  • Positive change: ↑ (upward arrow)
  • Negative change: ↓ (downward arrow)
  • No change: → (rightward arrow)

CTR display rule: API returns CTR as decimal — multiply by 100 for display.

Output Format

## GSC Compare: [site property]
**[comparisonLabel]**
**Current:** [currentStart] to [currentEnd]
**Previous:** [previousStart] to [previousEnd]

### Summary Deltas
| Metric | Current | Previous | Change | Change% |
|--------|---------|----------|--------|---------|
| Total Clicks | [n] | [n] | ↑/↓ [n] | ↑/↓ X.X% |
| Total Impressions | [n] | [n] | ↑/↓ [n] | ↑/↓ X.X% |
| Avg CTR | [X.XX%] | [X.XX%] | ↑/↓ X.XX% | — |
| Avg Position | [X.X] | [X.X] | ↑/↓ X.X | — |

### Top Gaining Pages (by clicks)
| Page URL | Current Clicks | Previous Clicks | Change | Change% |
|----------|---------------|-----------------|--------|---------|
| [url] | [n] | [n] | ↑ [n] | ↑ X.X% |
...

### Top Losing Pages (by clicks)
| Page URL | Current Clicks | Previous Clicks | Change | Change% |
|----------|---------------|-----------------|--------|---------|
| [url] | [n] | [n] | ↓ [n] | ↓ X.X% |
...

### Top Gaining Queries
| Query | Current Clicks | Previous Clicks | Change | Change% |
|-------|---------------|-----------------|--------|---------|
| [query] | [n] | [n] | ↑ [n] | ↑ X.X% |
...

### Top Losing Queries
| Query | Current Clicks | Previous Clicks | Change | Change% |
|-------|---------------|-----------------|--------|---------|
| [query] | [n] | [n] | ↓ [n] | ↓ X.X% |
...

Show top 10 gainers and top 10 losers for both pages and queries. Truncate long URLs to 60 characters with ... for readability.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most marketing audience skills give in ~1.4k tokens

Counted across 690 of the 894 authors here whose files we hold, read 2026-08-07

  • Apply Poppins font to headingsin 41 of 690, across 6 files
  • Apply Lora font to body textin 41 of 690, across 6 files
  • Use Arial fallback for headingsin 39 of 690, across 4 files
  • Use Georgia fallback for body textin 39 of 690, across 4 files
  • Maintain text hierarchy and formattingin 39 of 690, across 4 files
  • Use accent colors for non-text shapesin 38 of 690, across 3 files
  • Use RGB values for precise color matchingin 38 of 690, across 3 files
  • Use brand colors for primary text and backgroundsin 36 of 690, across 1 file
  • Read product marketing context file before asking questions, starting, or auditingin 35 of 690, across 23 files
  • Use active voice instead of passive voicein 26 of 690, across 10 files
  • Implement or generate appropriate JSON-LD structured datain 24 of 690, across 17 files
  • Prioritize clarity over clevernessin 22 of 690, across 8 files

Said here and by no other author read

  • multiply ctr decimal by 100 for display
  • call list_sites for bare domains
  • calculate end date three days prior
  • Display the GSC MCP error template if disconnected
  • Stop execution if the MCP is disconnected
  • Calculate comparison periods using Bash

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once. Length counted with cl100k_base; the agent that loads this file may tokenize it differently.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.