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:
107
custom-skills/21-seo-position-tracking/desktop/SKILL.md
Normal file
107
custom-skills/21-seo-position-tracking/desktop/SKILL.md
Normal 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
|
||||
Reference in New Issue
Block a user