Add SEO skills 19-28, 31-32 with full Python implementations

12 new skills: Keyword Strategy, SERP Analysis, Position Tracking,
Link Building, Content Strategy, E-Commerce SEO, KPI Framework,
International SEO, AI Visibility, Knowledge Graph, Competitor Intel,
and Crawl Budget. ~20K lines of Python across 25 domain scripts.
Updated skill 11 pipeline table and repo CLAUDE.md.
Enhanced skill 18 local SEO workflow from jamie.clinic audit.

Note: Skill 26 hreflang_validator.py pending (content filter block).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-13 12:05:59 +09:00
parent 159f7ec3f7
commit a3ff965b87
125 changed files with 25948 additions and 173 deletions

View File

@@ -0,0 +1,107 @@
---
name: seo-position-tracking
description: |
Keyword position tracking and ranking monitoring via Ahrefs Rank Tracker.
Triggers: rank tracking, position monitoring, keyword rankings, visibility score, ranking report, 키워드 순위, 순위 추적.
---
# SEO Position Tracking
## Purpose
Monitor keyword ranking positions, detect significant changes, calculate visibility scores, and compare against competitors using Ahrefs Rank Tracker data. Provides actionable alerts for ranking drops and segment-level performance breakdown.
## Core Capabilities
1. **Position Monitoring** - Retrieve current keyword ranking positions from Ahrefs Rank Tracker projects
2. **Change Detection** - Detect significant position changes with configurable threshold alerts (severity: critical/high/medium/low)
3. **Visibility Scoring** - Calculate weighted visibility scores using CTR-curve model (position 1 = 30%, position 2 = 15%, etc.)
4. **Brand/Non-brand Segmentation** - Automatically classify keywords by brand relevance and search intent type
5. **Competitor Comparison** - Compare keyword overlap, position gaps, and visibility scores against competitors
## MCP Tool Usage
### Ahrefs Rank Tracker Tools
```
mcp__ahrefs__rank-tracker-overview: Get rank tracking overview with current positions
mcp__ahrefs__rank-tracker-competitors-overview: Compare rankings against competitors
mcp__ahrefs__rank-tracker-competitors-pages: Competitor page-level ranking data
mcp__ahrefs__rank-tracker-competitors-stats: Detailed competitor ranking statistics
mcp__ahrefs__rank-tracker-serp-overview: SERP details for tracked keywords
mcp__ahrefs__management-projects: List available Ahrefs projects
mcp__ahrefs__management-project-keywords: Get tracked keywords for a project
```
### Notion for Report Storage
```
mcp__notion__notion-create-pages: Save tracking reports to SEO Audit Log
mcp__notion__notion-update-page: Update existing tracking entries
```
## Workflow
### Phase 1: Data Collection
1. Identify Ahrefs project via `management-projects`
2. Retrieve tracked keywords via `management-project-keywords`
3. Fetch current positions via `rank-tracker-overview`
4. Fetch competitor data via `rank-tracker-competitors-overview` (if requested)
### Phase 2: Analysis
1. Detect position changes against previous period
2. Generate alerts for changes exceeding threshold
3. Calculate visibility score weighted by search volume and CTR curve
4. Segment keywords into brand/non-brand and by intent type
5. Compare positions against each competitor
### Phase 3: Reporting
1. Compile position distribution (top3/top10/top20/top50/top100)
2. Summarize changes (improved/declined/stable/new/lost)
3. List alerts sorted by severity and search volume
4. Generate segment-level breakdown
5. Save report to Notion SEO Audit Log database
## Output Format
```json
{
"target": "https://example.com",
"total_keywords": 250,
"visibility_score": 68.5,
"positions": {
"top3": 15,
"top10": 48,
"top20": 92,
"top50": 180,
"top100": 230
},
"changes": {
"improved": 45,
"declined": 30,
"stable": 155,
"new": 12,
"lost": 8
},
"alerts": [
{
"keyword": "example keyword",
"old_position": 5,
"new_position": 15,
"change": -10,
"volume": 5400,
"severity": "high"
}
],
"segments": {
"brand": {"keywords": 30, "avg_position": 2.1},
"non_brand": {"keywords": 220, "avg_position": 24.5}
}
}
```
## Notion Output (Required)
All tracking reports MUST be saved to OurDigital SEO Audit Log:
- **Database ID**: `2c8581e5-8a1e-8035-880b-e38cefc2f3ef`
- **Properties**: Issue (title), Site (url), Category (Position Tracking), Priority, Found Date, Audit ID
- **Language**: Korean with English technical terms
- **Audit ID Format**: RANK-YYYYMMDD-NNN