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:
@@ -21,25 +21,75 @@ Audit e-commerce sites for product page optimization, structured data validation
|
||||
4. **Duplicate Content Detection** - Parameter variants, product variants, pagination issues
|
||||
5. **Korean Marketplace Presence** - Naver Smart Store, Coupang, Gmarket, 11번가
|
||||
|
||||
## MCP Tool Usage
|
||||
## Data Source Selection
|
||||
|
||||
### SEO Data
|
||||
```
|
||||
our-seo-agent CLI: Primary product page data source (future); use --input for pre-fetched JSON
|
||||
WebSearch / WebFetch: Supplementary product page data
|
||||
This skill spans multiple data classes (crawl + schema + keyword + marketplace presence). **Pick one backend per data class** — typically you'll combine: one for crawl/schema, one for keyword/competitor.
|
||||
|
||||
| Backend | Best for | Notes |
|
||||
|---|---|---|
|
||||
| **OurSEO** (CLI + MCP) | **Default** for product-page crawl, product schema validation, category taxonomy, canonical/duplicate detection | CLI: `our collect crawl`, `our audit tech`, `our build kg-schema`. MCP: `mcp__ourseo__crawl_website`, `mcp__ourseo__audit_page`. Owns the crawl/audit/schema-fix surface end-to-end. |
|
||||
| **Semrush MCP** (`mcp__semrush__*`) | E-commerce keyword discovery, organic competitor research, third-party site audit | `keyword_research`, `organic_research`, `siteaudit_research` → `get_report_schema` → `execute_report`. |
|
||||
| **Ahrefs MCP** (`mcp__ahrefs__*`) | Product/category backlinks; third-party site audit | `site-explorer-top-pages` (which product/category pages earn links), `site-audit-issues`, `site-audit-page-explorer`. |
|
||||
| **OurSEO CLI — DataForSEO** (`our keywords *`, `our serp *`) | Korean-market keyword + SERP batch for product/category terms | Claude Code only. `--location 2410` for Korean. |
|
||||
| **WebSearch / WebFetch** | Korean marketplace presence check (Naver Smart Store, Coupang, Gmarket, 11번가) | Korean marketplaces aren't covered by Semrush/Ahrefs at the listing level — verify presence with direct queries. |
|
||||
| **DataForSEO MCP** (`mcp__dfs-mcp__*`) | Fallback when `our` CLI isn't running | Same data as `our keywords *` / `our serp *`. |
|
||||
|
||||
### How to pick
|
||||
|
||||
1. **User named a backend explicitly** → use it.
|
||||
2. **User preference memory** — read `feedback_seo_tool_preferences.md`; honor the task-type default.
|
||||
3. **Task is product schema / on-page audit / duplicate detection** → use **OurSEO** (it owns the schema + canonical + fix engine).
|
||||
4. **Task is e-commerce keyword discovery** → Semrush MCP (English) or OurSEO CLI (`--location 2410` Korean).
|
||||
5. **Task is Korean marketplace presence** → WebSearch/WebFetch (no MCP backend covers this).
|
||||
6. **Default for general e-commerce audits**: **OurSEO** (crawl + schema + fix) **paired with** Semrush MCP (keyword + competitor signal).
|
||||
7. **Still ambiguous + non-trivial** → ask once via `AskUserQuestion`.
|
||||
|
||||
### Backend call patterns
|
||||
|
||||
**OurSEO CLI (product-page crawl + schema audit, default):**
|
||||
```bash
|
||||
our collect crawl https://<site>.com --max-pages 100
|
||||
our audit tech https://<site>.com
|
||||
our analyze mysql-batch --session <id> --export missing-schema --format excel
|
||||
our build kg-schema --type Product --name "<product>" --url <product-url>
|
||||
```
|
||||
|
||||
### WebSearch for Marketplace Checks
|
||||
**OurSEO MCP (Claude Desktop equivalent):**
|
||||
```
|
||||
WebSearch: Search for brand presence on Korean marketplaces
|
||||
WebFetch: Fetch and analyze marketplace listing pages
|
||||
mcp__ourseo__crawl_website(url="<site>", max_pages=100)
|
||||
mcp__ourseo__audit_page(url="<product-url>", audit_type="schema")
|
||||
```
|
||||
|
||||
### Notion for Report Storage
|
||||
**Semrush MCP (e-commerce keyword + competitor):**
|
||||
```
|
||||
mcp__notion__notion-create-pages: Save audit report to SEO Audit Log database
|
||||
mcp__semrush__keyword_research(query="<product term>", database="us")
|
||||
mcp__semrush__organic_research(query="<competitor.com>", database="us")
|
||||
mcp__semrush__siteaudit_research(query="<site.com>", database="us")
|
||||
```
|
||||
|
||||
**Ahrefs MCP (top pages + site audit):**
|
||||
```
|
||||
mcp__ahrefs__site-explorer-top-pages(target="<site>", country="us", limit=100)
|
||||
mcp__ahrefs__site-audit-issues(project_id="<id>")
|
||||
mcp__ahrefs__site-audit-page-explorer(project_id="<id>")
|
||||
```
|
||||
|
||||
**OurSEO CLI — Korean batch:**
|
||||
```bash
|
||||
our keywords ideas "<product>" --location 2410 --limit 50
|
||||
our serp ranked-keywords <site.com> --location 2410 --limit 100
|
||||
```
|
||||
|
||||
**Korean marketplace presence (WebSearch):**
|
||||
```
|
||||
WebSearch: smartstore.naver.com "<brand>"
|
||||
WebSearch: coupang.com "<brand>"
|
||||
WebSearch: gmarket.co.kr "<brand>"
|
||||
WebSearch: 11st.co.kr "<brand>"
|
||||
```
|
||||
|
||||
Always record the chosen data source(s) in the report **Overview** so future audits can compare like-for-like.
|
||||
|
||||
## Workflow
|
||||
|
||||
### 1. Product Page Audit
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
name: seo-ecommerce
|
||||
description: |
|
||||
E-commerce SEO audit and optimization. Triggers: product SEO, e-commerce audit, product schema, category SEO, Smart Store, marketplace SEO.
|
||||
|
||||
# Allowed tools list every backend the skill can pull e-commerce data from.
|
||||
# Per-task selection happens in SKILL.md > Data Source Selection — NOT here.
|
||||
allowed-tools:
|
||||
- mcp__ahrefs__*
|
||||
- mcp__ourseo__* # default for crawl + schema audit (audit_page, crawl_website)
|
||||
- mcp__semrush__* # e-commerce keyword + organic_research + siteaudit_research
|
||||
- mcp__ahrefs__* # site-explorer-* for product/category backlinks; site-audit-*
|
||||
- mcp__claude_ai_Ahrefs__* # Ahrefs (Claude.ai namespace)
|
||||
- mcp__dfs-mcp__* # DataForSEO MCP fallback
|
||||
- Bash # `our` CLI: crawl, audit, schema commands
|
||||
- mcp__notion__*
|
||||
- WebSearch
|
||||
- WebFetch
|
||||
|
||||
@@ -1,15 +1,30 @@
|
||||
# Ahrefs
|
||||
# Ahrefs MCP
|
||||
|
||||
> TODO: Document tool usage for this skill
|
||||
Use for **product/category backlinks** and third-party **site audit** views on e-commerce sites. Namespace: `mcp__ahrefs__*` / `mcp__claude_ai_Ahrefs__*`.
|
||||
|
||||
## Available Commands
|
||||
## Key endpoints
|
||||
|
||||
- [ ] List commands
|
||||
- `site-explorer-top-pages` — which product/category pages earn the most links/traffic
|
||||
- `site-explorer-pages-by-backlinks` — link equity distribution across the catalog
|
||||
- `site-audit-issues` — schema, canonical, parameter-URL issues from Ahrefs' crawler
|
||||
- `site-audit-page-explorer` — per-page issue surfacing
|
||||
- `keywords-explorer-overview` — product-term volume / KD
|
||||
|
||||
## Configuration
|
||||
## Example
|
||||
|
||||
- [ ] Add configuration details
|
||||
```
|
||||
mcp__ahrefs__site-explorer-top-pages(target="<store>", country="us", limit=100)
|
||||
mcp__ahrefs__site-audit-issues(project_id="<id>")
|
||||
mcp__ahrefs__keywords-explorer-overview(keyword="<product>", country="us")
|
||||
```
|
||||
|
||||
## Examples
|
||||
## Strengths for this skill
|
||||
|
||||
- [ ] Add usage examples
|
||||
- Surfaces which **product pages** earn external links — informs which products deserve hero-page promotion.
|
||||
- Site Audit catches canonical / parameter-URL issues across the catalog without running your own crawler.
|
||||
|
||||
## Not for this skill when
|
||||
|
||||
- **Product schema validation** — OurSEO `audit_page` + `build kg-schema` owns this end-to-end.
|
||||
- **Korean marketplace presence** (Naver Smart Store, Coupang, Gmarket, 11번가) — Ahrefs doesn't cover these. Use WebSearch.
|
||||
- **Live catalog crawl of the target** — OurSEO `crawl_website` is more configurable.
|
||||
|
||||
44
custom-skills/24-seo-ecommerce/desktop/tools/ourseo.md
Normal file
44
custom-skills/24-seo-ecommerce/desktop/tools/ourseo.md
Normal file
@@ -0,0 +1,44 @@
|
||||
# OurSEO Agent (CLI + MCP)
|
||||
|
||||
**Default** for e-commerce crawl, product schema validation, category taxonomy audit, duplicate/canonical detection, and the schema-fix path. Only backend that owns the catalog audit → fix workflow end-to-end.
|
||||
|
||||
## CLI commands (Claude Code)
|
||||
|
||||
```bash
|
||||
# Crawl the catalog
|
||||
our collect crawl https://<store> --max-pages 500
|
||||
our collect distributed https://<store> --workers 8 --max-pages 50000
|
||||
|
||||
# Technical + schema audit
|
||||
our audit tech https://<store>
|
||||
our analyze mysql-batch --session <id> --export missing-schema --format excel
|
||||
|
||||
# Build / fix Product schema
|
||||
our build kg-schema --type Product --name "<product>" --url <product-url> --auto-sameas
|
||||
our fix entity-schema --site https://<store> --type Product --entity-name "<product>" --cms <ghost|wordpress|strapi> --deploy
|
||||
|
||||
# Korean batch keyword work
|
||||
our keywords ideas "<product>" --location 2410 --limit 50
|
||||
our serp ranked-keywords <store> --location 2410 --limit 100
|
||||
```
|
||||
|
||||
## MCP tools (Claude Desktop)
|
||||
|
||||
```
|
||||
mcp__ourseo__crawl_website(url="<store>", max_pages=500)
|
||||
mcp__ourseo__audit_page(url="<product-url>", audit_type="schema")
|
||||
mcp__ourseo__audit_page(url="<product-url>", audit_type="tech")
|
||||
```
|
||||
|
||||
## Strengths for this skill
|
||||
|
||||
- **Schema validation + deploy** — Product, Offer, AggregateRating, Review, BreadcrumbList. Validates AND can fix via CMS adapters.
|
||||
- **Canonical + duplicate detection** — built into the crawl + audit stage.
|
||||
- **Korean market batch** — `--location 2410` covers Korean e-commerce keyword work cheaply.
|
||||
- **Distributed crawler** scales to multi-tenant catalog audits.
|
||||
|
||||
## Not for this skill when
|
||||
|
||||
- **Competitor organic research** — Semrush `organic_research` is cleaner.
|
||||
- **Product/category backlink analysis** — Ahrefs `site-explorer-top-pages` + backlinks.
|
||||
- **Korean marketplace presence detection** — WebSearch (Naver Smart Store, Coupang, Gmarket, 11번가).
|
||||
34
custom-skills/24-seo-ecommerce/desktop/tools/semrush.md
Normal file
34
custom-skills/24-seo-ecommerce/desktop/tools/semrush.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Semrush MCP
|
||||
|
||||
Use for **e-commerce keyword discovery**, **organic competitor research**, and **third-party site audit** of stores.
|
||||
|
||||
Call pattern: discovery → `get_report_schema` → `execute_report`.
|
||||
|
||||
## Key reports
|
||||
|
||||
- `keyword_research` — product / category term volume + KD + intent
|
||||
- `organic_research` — competitor store organic keywords + top pages
|
||||
- `overview_research` — store-level traffic / visibility
|
||||
- `siteaudit_research` — store-wide technical SEO audit
|
||||
|
||||
## Example
|
||||
|
||||
```
|
||||
mcp__semrush__keyword_research(query="<product term>", database="us")
|
||||
mcp__semrush__organic_research(query="<competitor store>", database="us")
|
||||
mcp__semrush__siteaudit_research(query="<your store>", database="us")
|
||||
```
|
||||
|
||||
Korean market: `database="kr"`.
|
||||
|
||||
## Strengths for this skill
|
||||
|
||||
- Cleanest competitor-store organic view (which product terms drive their traffic).
|
||||
- Site audit catches site-wide technical issues quickly.
|
||||
- `keyword_research` is the default for product/category term expansion.
|
||||
|
||||
## Not for this skill when
|
||||
|
||||
- **Product schema validation** — OurSEO owns this.
|
||||
- **Korean marketplace presence** — WebSearch only.
|
||||
- **Catalog crawl with custom configuration** — OurSEO `crawl_website`.
|
||||
Reference in New Issue
Block a user