Files
our-claude-skills/custom-skills/21-seo-position-tracking/desktop/SKILL.md

3.3 KiB

name, description
name description
seo-position-tracking Keyword position tracking for keyword ranking monitoring. 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 our-seo-agent CLI or pre-fetched ranking data. Provides actionable alerts for ranking drops and segment-level performance breakdown.

Core Capabilities

  1. Position Monitoring - Retrieve current keyword ranking positions from our-seo-agent CLI or pre-fetched data
  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

SEO Data

our-seo-agent CLI: Primary ranking data source (future); use --input for pre-fetched JSON
WebSearch: Supplementary ranking data

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 tracking project or use --input for pre-fetched data
  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

{
  "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