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:
58
custom-skills/19-seo-keyword-strategy/desktop/tools/gsc.md
Normal file
58
custom-skills/19-seo-keyword-strategy/desktop/tools/gsc.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# Google Search Console (GSC)
|
||||
|
||||
GSC is the only **first-party** data source on this list — what the user's verified site actually rendered impressions / clicks for in Google. Estimates from Semrush, Ahrefs, and DataForSEO are modelled; GSC is observed.
|
||||
|
||||
Two entry points to GSC for this skill:
|
||||
|
||||
1. **`our research search-console` CLI** — OurSEO Agent's GSC integration (recommended; cached).
|
||||
2. **Ahrefs `gsc-keywords`** — only if the site is connected as an Ahrefs project AND the user is already in Ahrefs context.
|
||||
|
||||
## CLI commands (`our research search-console`)
|
||||
|
||||
See `our research search-console --help` for the current command surface. Typical patterns:
|
||||
|
||||
```bash
|
||||
# Queries the site actually ranks for, last 28 days
|
||||
our research search-console queries --site sc-domain:example.com --days 28
|
||||
|
||||
# Top pages by impressions
|
||||
our research search-console pages --site sc-domain:example.com --days 28
|
||||
|
||||
# Query/page combinations
|
||||
our research search-console combined --site sc-domain:example.com --days 28
|
||||
```
|
||||
|
||||
The `sc-domain:` prefix is required for Domain-verified properties. URL-prefix properties use the plain URL (`https://example.com/`). See gotcha note: `our-claude-skills/custom-skills/15-seo-search-console/code/gotcha/gsc-cli-integration.md`.
|
||||
|
||||
## Ahrefs GSC tools
|
||||
|
||||
When the user is already working in Ahrefs:
|
||||
|
||||
```
|
||||
mcp__ahrefs__gsc-keywords(project_id="<ahrefs project id>", limit=100)
|
||||
mcp__ahrefs__gsc-keyword-history(project_id="...", keyword="...")
|
||||
mcp__ahrefs__gsc-pages(project_id="...")
|
||||
mcp__ahrefs__gsc-performance-history(project_id="...")
|
||||
mcp__ahrefs__gsc-ctr-by-position(project_id="...")
|
||||
```
|
||||
|
||||
Requires the Ahrefs project to be connected to the GSC property. Confirm with the user before assuming the link exists.
|
||||
|
||||
## When to bring GSC into keyword work
|
||||
|
||||
- **Validation step**: after generating a keyword list from Semrush / Ahrefs / DataForSEO, intersect with GSC queries to see which are already driving impressions.
|
||||
- **Pruning**: drop keywords from the list that have zero GSC impressions over the last 90 days for a mature site (signals the site doesn't compete on them despite the model's volume estimate).
|
||||
- **Cannibalization detection**: GSC `query × page` lets you find queries where multiple URLs share impressions.
|
||||
- **Anonymous-query analysis**: `mcp__ahrefs__gsc-anonymous-queries` surfaces queries Google hides from the standard report — sometimes reveals brand variants.
|
||||
|
||||
## Configuration
|
||||
|
||||
| Variable | Purpose |
|
||||
|---|---|
|
||||
| `SEO_AGENT_GSC_SERVICE_ACCOUNT` | Path to the GSC service-account JSON for the OurSEO CLI |
|
||||
| `GSC_CACHE_TTL` | GSC cache TTL in seconds (default 3600) |
|
||||
|
||||
## When NOT to use GSC for this skill
|
||||
|
||||
- Discovery of keywords the site does **not** yet rank for — GSC by definition only shows queries that already triggered impressions. Use Semrush / Ahrefs / DataForSEO for net-new discovery.
|
||||
- Competitive keyword pulls — GSC is single-site.
|
||||
Reference in New Issue
Block a user