feat(seo-skills): multi-backend Data Source Selection (#7)

Replaces single-vendor (Ahrefs-only) tool defaults with a per-task
backend menu across all 14 SEO skills. Each skill now lists every
capable MCP in allowed-tools and documents how to pick between
Semrush, Ahrefs, OurSEO Agent (CLI + MCP), DataForSEO, and GSC
in its SKILL.md Data Source Selection section.

Tool stubs (~40 new files) populated per skill with capability
deltas, call patterns, and explicit "not for this skill when"
callouts so the menu is self-correcting.

Skills affected: 19-keyword-strategy, 20-serp-analysis,
21-position-tracking, 22-link-building, 23-content-strategy,
24-ecommerce, 25-kpi-framework, 26-international, 27-ai-visibility,
28-knowledge-graph, 31-competitor-intel, 32-crawl-budget,
33-migration-planner, 34-reporting-dashboard.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Andrew Yim
2026-05-14 03:15:32 +09:00
committed by GitHub
parent 1ca84f67ed
commit e527fb4b0f
71 changed files with 2647 additions and 258 deletions

View File

@@ -0,0 +1,42 @@
# Google Search Console
**Required** for two content-strategy tasks that no other backend can do honestly:
1. **Cannibalization detection** — query × page combos where multiple URLs share impressions.
2. **Decay detection** — period-over-period impression decline on the target's existing pages.
## CLI commands
```bash
# Top queries — what the site already ranks for
our research search-console queries --site sc-domain:<domain> --days 28
# Top pages by clicks/impressions
our research search-console pages --site sc-domain:<domain> --days 28
# Combined query × page — REQUIRED for cannibalization
our research search-console combined --site sc-domain:<domain> --days 90
```
`sc-domain:` prefix for Domain-verified properties; URL-prefix properties use the plain URL.
## Decay workflow
1. Pull `pages` for the last 90 days.
2. Pull `pages` for the same 90-day window from 90 days prior (or use cached prior runs).
3. Diff impression / click counts per URL.
4. Flag URLs with >30% impression decline as decay candidates.
5. Cross-reference with `our collect crawl` output to check freshness signals (last-modified, content age).
## Cannibalization workflow
1. Pull `combined` over 90 days.
2. Group by query; count distinct URLs per query.
3. Flag queries where 2+ URLs each have >100 impressions — the site is competing with itself.
## Not for this skill when
- **Net-new content discovery** — GSC only knows what already ranks. Use Semrush/Ahrefs for gap discovery.
- **Competitor performance** — single-site only.
Gotcha: `our-claude-skills/custom-skills/15-seo-search-console/code/gotcha/gsc-cli-integration.md`.