Agent skill

SEO Drift

by seranking in seranking/seo-skills

Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions.

MITAuto-check passedMarketing & SEO

Install SEO Drift

skills CLI
$ npx skills add seranking/seo-skills --skill seo-drift -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install seranking/seo-skills seo-drift --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/seranking/seo-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/seo-drift .claude/skills/seo-drift && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
seo-drift
GitHub stars
160
Token cost
~3.4k tokens
SKILL.md length
1,366 words
Files
2 (incl. references)
Skills in repo
32
Repo updated
First seen
Licence
MIT

At a glance

Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions.

  • Works in 4 steps: Validate target. Determine if domain or… → Preflight. See… → Domain snapshot (always) → …
  • The user asks for SEO drift
  • SKILL.md covers Prerequisites, Optional flags, Subcommands and Process, plus 2 more sections
  • Calls python3

What it does

SEO Drift is an agent skill from seranking/seo-skills. Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions. Tracks authority, traffic, keywords, backlinks, and on-page content. Three subcommands — baseline, compare, history. Use when the user asks for "SEO drift", "baseline this site", "did anything break", "SEO regression check", "compare before and after", "deployment check", or "monthly SEO snapshot".

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/drift-thresholds.md`).

It sits in Marketing & SEO, covering Link building. It works with Firecrawl. The repository describes itself as: Claude SEO Skills — production Claude Agent Skills for the SE Ranking MCP server. Content briefs, AI Search share of voice, audits, backlink gaps, keyword clusters, schema… The licence is MIT.

When your agent uses it

  • The user asks for SEO drift
  • Baseline this site
  • Did anything break
  • SEO regression check

Example prompts

  • “SEO drift”
  • “baseline this site”
  • “did anything break”
  • “/seo-drift”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Validate target. Determine if domain or URL. Domain = example.com; URL = anything starting with http(s)://.
  2. Preflight. See skills/seo-firecrawl/references/preflight.md for the canonical 3-stage preflight (credit balance, Firecrawl availability…
  3. Domain snapshot (always)
  4. Page snapshot (if target is a URL): WebFetch (always) + mcpfirecrawl-mcpfirecrawl_scrape (when available)

What it can do on your machine

Read from SKILL.md and the folder at commit fd6d140. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

SEO Drift loads about 3.4k tokens when it runs, and up to ~4.5k if it reads all its reference files. Until then it costs about 110 tokens; SKILL.md has 1,366 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~110
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from seranking/seo-skills at commit fd6d140, republished under its MIT licence (© seranking). 1,366 words, ~3,365 tokens.

Download SKILL.mdSave it as .claude/skills/seo-drift/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
seo-drift
description
Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions. Tracks authority, traffic, keywords, backlinks, and on-page content. Three subcommands — `baseline`, `compare`, `history`. Use when the user asks for "SEO drift", "baseline this site", "did anything break", "SEO regression check", "compare before and after", "deployment check", or "monthly SEO snapshot".

Example output: examples/seo-drift-wix-com-20260514/compare/DRIFT-REPORT.md

SEO Drift

Git for SEO. Capture a snapshot of a domain or URL's SEO state ("baseline"), then on later runs diff the current state against the baseline and surface regressions. Catches the things that get worse silently after a deploy, redesign, or content cull.

Acknowledgements: drift-as-an-SEO-skill framework originated in claude-seo by AgriciDaniel (with the original concept credited to Dan Colta, Pro Hub Challenge). MIT-licensed both directions; this implementation is independent but the framing is theirs.

Prerequisites

  • SE Ranking MCP server connected.
  • Claude's WebFetch tool available (for URL-mode page fingerprinting).
  • User provides: target domain or URL, plus a subcommand (baseline, compare, history).

Optional flags

FlagModeEffect
--no-firecrawlbaseline, compareSkip Firecrawl-based <head> + JSON-LD capture even when Firecrawl is installed (saves credits at the cost of canonical / robots / og:* / JSON-LD diff coverage).
--skip-cwvbaseline, compareSkip the Google CrUX capture (step 4b) even when google-api.json is configured. Useful when you only care about content/structural drift, or when CrUX rate-limit concerns outweigh CWV coverage. Mirrors theirs at seo-drift/SKILL.md:107, 131.
--baseline-id <n>compareCompare against a specific baseline by ID rather than the most recent.
--limit <n>historyCap the number of historical entries shown.

Subcommands

baseline <target>

Capture the current SEO state and write it to a snapshot file. No diff produced.

compare <target>

Load the most recent baseline for the target. Capture the current state. Diff. Produce DRIFT-REPORT.md.

history <target>

List all stored baselines for the target with their dates and key metrics (DA, traffic, keyword count). No diff produced.

Process

baseline mode
  1. Validate target. Determine if domain or URL. Domain = example.com; URL = anything starting with http(s)://.
    • SSRF protection (URL mode). If target is a URL, validate via python3 -c "from scripts.google_auth import validate_url; import sys; sys.exit(0 if validate_url('{target}') else 1)" (or import validate_url directly in any helper script). Reject loopback (127.0.0.1, ::1, localhost), private IP ranges (10/8, 172.16/12, 192.168/16), link-local (169.254/16), and Google metadata endpoints. If validation fails, abort with a clear error and don't proceed to fetch — feeding an unvalidated URL into Firecrawl / WebFetch / Google APIs would risk SSRF against internal services. Mirrors theirs at seo-drift/SKILL.md:97.
  2. Preflight. See skills/seo-firecrawl/references/preflight.md for the canonical 3-stage preflight (credit balance, Firecrawl availability, Google APIs). Skill-specific notes:
    • Estimated SE Ranking cost for this skill: typical baseline costs ~10–20 SE Ranking credits depending on whether step 4 (URL-mode page snapshot) is included.
    • Firecrawl: optional with WebFetch fallback, +1 Firecrawl credit per URL if available (URL mode). When available, the snapshot also captures <head> + JSON-LD content so canonical / robots / og:* / JSON-LD changes are detectable on diff. Without it the snapshot is partial. Pass --no-firecrawl to skip Firecrawl even when available (saves credits at the cost of diff coverage).
    • Google APIs: tier 0 unlocks CrUX p75 LCP/INP/CLS capture (origin in domain mode, URL in URL mode); tier 1 (URL mode only) additionally captures URL Inspection state (indexStatusVerdict, googleCanonical, lastCrawlTime) so subsequent compares can flag field-data and indexation drift. See skills/seo-google/references/cross-skill-integration.md § "seo-drift" for the full recipe.
  3. Domain snapshot (always):
    • DATA_getDomainOverviewWorldwide — DA, traffic, organic + paid keyword counts.
    • DATA_getDomainKeywords — top 100 organic keywords with positions.
    • DATA_getBacklinksSummary — backlinks total, referring domains total.
    • DATA_getBacklinksRefDomains — top 20 referring domains with authority.
  4. Page snapshot (if target is a URL): WebFetch (always) + mcp__firecrawl-mcp__firecrawl_scrape (when available)
    • WebFetch (free): extract <title>, all <h1..h6>, lang, word count, internal-link count, image count, body markdown for prose-level diff.
    • Firecrawl (1 Firecrawl credit per URL) — recovers <head> and <script> content WebFetch strips:
      • From metadata: canonical URL, robots meta, og:title, og:description, og:image, twitter:card.
      • From returned html: every <script type="application/ld+json"> block. Capture both detected @types and a hash of the full block content (so any schema-content change is detected on diff, not just type-list changes).
    • If Firecrawl unavailable (or --no-firecrawl passed): only WebFetch fields enter the fingerprint. BASELINE.md notes: Snapshot fields recovered via WebFetch only — canonical, robots, og:*, twitter:*, and JSON-LD changes will not be detected on subsequent compares. Install Firecrawl for full coverage.
    • Compute a fingerprint hash of the captured fields.
    • Also capture page authority: DATA_getPageAuthority. 4b. Google field-data snapshot (only if google-api.json is present AND --skip-cwv not set)
    • Tier 0 (always when configured): python3 scripts/pagespeed_check.py "{target}" --crux-only --json (URL mode) or python3 scripts/pagespeed_check.py "https://{domain}" --crux-only --json (domain mode, origin-level CrUX). Store the resulting p75 LCP / INP / CLS / FCP / TTFB and the source label ("URL" or "origin").
    • Tier 0 (always when configured): python3 scripts/crux_history.py "{target_or_origin}" --json for the 25-week trend window snapshot — store as crux_history_baseline. Subsequent compares can detect drift against the most recent week.
    • Tier 1 (URL mode only): python3 scripts/gsc_inspect.py "{target_url}" --site-url "{config.default_property}" --json. Store indexStatusVerdict, coverageState, googleCanonical, userCanonical, lastCrawlTime.
    • If --skip-cwv was passed, skip this step entirely and store null for cwv / crux_history fields. The compare-mode rules then surface "Field-data drift: skipped — --skip-cwv flag passed at baseline."
    • If CrUX returns insufficient data, store null for the affected metrics and continue.
  5. Write snapshot file seo-drift-{target-slug}-{YYYYMMDD}/snapshot.json.
  6. Update index seo-drift-{target-slug}/baselines.json — append {date, snapshot_path} entry.
Show full SKILL.md (555 more words)Show less
compare mode
  1. Validate target + locate latest baseline in seo-drift-{target-slug}/baselines.json.
    • SSRF protection (URL mode). Same validate_url() check as baseline mode. Refuses to fetch private/loopback/metadata addresses.
    • If no baseline exists, fall through to baseline mode and tell the user to come back later.
  2. Capture current state (same data as baseline mode).
  3. Diff each metric using references/drift-thresholds.md:
    • Domain authority: ±5 = yellow, ±10 = red.
    • Estimated organic traffic: ±20% = yellow, ±50% = red.
    • Organic keyword count: ±10% = yellow, ±30% = red.
    • Top-3 keyword count: ±15% = yellow, ±40% = red.
    • Top-100 keyword churn: any high-volume drop = red.
    • Net referring domains: -5 to -20 = yellow, <-20 = red.
    • Page-level (URL mode): any change to canonical / robots / lang / H1 = red; title or meta description change = yellow; schema types added/removed = yellow; og:* / twitter:* changes = yellow.
    • Firecrawl-dependent diff caveat: canonical / robots / og:* / twitter:* / JSON-LD diffs require both baseline and current snapshots to have been captured with Firecrawl. If either snapshot was WebFetch-only, those fields surface as not comparable — Firecrawl-only fields missing from {baseline | current} snapshot rather than as a green pass.
    • Google-data drift (only if both snapshots have Google fields):
      • LCP p75 increased ≥20% → red.
      • INP p75 increased ≥20% → red.
      • CLS p75 increased ≥0.05 absolute → yellow.
      • FCP / TTFB p75 increased ≥30% → yellow.
      • Inspection status changed from INDEXED to anything else → red.
      • googleCanonical changed → yellow.
      • lastCrawlTime >60 days old → yellow.
      • Caveat: if either snapshot lacks Google fields (creds were missing at one capture), surface Field-data / indexation drift: not comparable — Google fields missing from {baseline | current} snapshot.
  4. Synthesise DRIFT-REPORT.md — red findings first, then yellow, then green/positive deltas. End with a "what to investigate first" recommendation.
history mode
  1. Load baselines.json.
  2. For each entry, render a one-row summary: date, DA, traffic, keyword count, top-3 count.
  3. Write HISTORY.md with the table.

Output format

baseline mode

seo-drift-{target-slug}-{YYYYMMDD}/:

seo-drift-{target-slug}-{YYYYMMDD}/
├── snapshot.json            (the captured state)
└── BASELINE.md              (one-page human summary of what was captured)
compare mode

seo-drift-{target-slug}-{YYYYMMDD}/:

seo-drift-{target-slug}-{YYYYMMDD}/
├── DRIFT-REPORT.md              (synthesised: red/yellow/green changes — primary deliverable; inlines 01-domain-deltas, 02-keyword-churn, 03-backlink-deltas, 04-page-deltas as sections)
└── evidence/
    ├── baseline-snapshot.json   (the prior reference — kept for replay)
    ├── current-snapshot.json    (today's state — kept for replay)
    ├── 01-domain-deltas.md      (DA, traffic, keyword count changes — raw step output)
    ├── 02-keyword-churn.md      (top-100 entries/exits)
    ├── 03-backlink-deltas.md    (new + lost backlinks/domains)
    └── 04-page-deltas.md        (URL mode only: HTML fingerprint diff)

Top-level: DRIFT-REPORT.md only. The four delta step files are inlined into named sections in DRIFT-REPORT.md; evidence/ keeps the raw delta dumps and both snapshot JSONs so a future re-diff or audit can replay against them.

DRIFT-REPORT.md shape:

markdown
# Drift Report: {target}
> Baseline: {baseline date} · Current: {today's date}

## RED — investigate today
- {finding} ({severity rationale})
- ...

## YELLOW — investigate this week
- {finding}
- ...

## GREEN — positive deltas
- {finding}
- ...

## Field-data drift (CrUX + URL Inspection)
- LCP p75: {baseline} → {current} ms ({Δ%}) {↑ red / ↑ yellow / stable / ↓ green}
- INP p75: {baseline} → {current} ms ({Δ%}) {…}
- CLS p75: {baseline} → {current} ({Δ absolute}) {…}
- Indexation status: {baseline INDEXED → current EXCLUDED} (URL mode)
- googleCanonical: {baseline → current} (if changed)
- (Or: `Field-data / indexation drift: not configured` / `not comparable — missing from {snapshot}`)

## What to investigate first
1. {prioritised action with reasoning}
2. ...
history mode

seo-drift-{target-slug}-{YYYYMMDD}/HISTORY.md:

markdown
# History: {target}

| Date | DA | Traffic | Keywords | Top-3 |
|---|---|---|---|---|
| 2026-04-27 | 42 | 18,500/mo | 1,247 | 89 |
| 2026-03-15 | 41 | 17,200/mo | 1,213 | 85 |
| ...

Tips

  • Respect rate limit: 10 req/sec. Baseline runs 4–6 sequential calls; pace easily.
  • Call DATA_getCreditBalance before running. Domain baseline ~10–15 SE Ranking credits; URL baseline ~15–20 SE Ranking credits + 1 Firecrawl credit; compare ~20–30 SE Ranking credits + 1 Firecrawl credit (current-state capture).
  • Snapshot storage is local-only in v0.4.0. If your team needs shared baselines, point everyone at the same seo-drift-{target-slug}/ directory in a shared filesystem or commit it to a private repo. Baselines are JSON — git-friendly.
  • Baseline cadence: monthly is the natural rhythm because SE Ranking's history endpoints have monthly granularity. Weekly is too noisy for backlink data. Document recommended cadence in handoff to your team.
  • For deploy-time "did anything break in the last hour" use cases, the URL-mode page-fingerprint half is the workhorse — that doesn't depend on monthly data.
  • Don't auto-disavow or auto-fix anything based on drift findings. The skill diagnoses; humans decide.
  • Authority-history all-zeros caveat: if DATA_getPageAuthorityHistory (URL mode) or DATA_getDomainAuthorityHistory returns flat-zero values across the window, treat as "insufficient history" — don't compute a delta or surface a regression based on missing data. Cross-check the current-value endpoint (DATA_getPageAuthority / DATA_getDomainOverviewWorldwide) — if the current value is meaningful but history is flat, surface that as a data-quality flag in DRIFT-REPORT.md rather than fabricating a trend.
  • Cost of doing nothing: silent regressions. Cost of running monthly: ~15 credits. Run monthly.

© seranking, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/seo-drift of seranking/seo-skills.

  • SKILL.md
  • references/drift-thresholds.md

Open the folder on GitHubat commit fd6d140

Compare with similar skills

SEO Drift next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

SEO Drift compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
SEO Drift this skillseranking/seo-skills160—~3.4kAutomated safety check: PassMIT
Competitor Analysisaaron-he-zhu/aaron-marketing-skills2.9k1 repos~2kAutomated safety check: PassApache-2.0
FLOW SEO FrameworkAgriciDaniel/claude-seo18k2 repos~1.4kAutomated safety check: PassMIT
SEO DataforseoAgriciDaniel/codex-seo7912 repos~4.6kAutomated safety check: PassMIT
Backlink CheckRyze-AI-Adgent/open-seo-mcp-skills4.5k—~515Automated safety check: PassMIT
Beyondseobeyondtahir/beyondseo157—~4.3kAutomated safety check: PassMIT

Similar skills

  • Competitor Analysis

    aaron-he-zhu/aaron-marketing-skills

    A skill your agent uses when the user asks to "analyze competitors" or "竞品分析"; benchmarks competitor keywords, content, backlinks, AI citations, and traffic share into strengths, weaknesses, and an…

    2.9k GitHub starsUsed in 1 repo~2k tokens
    Marketing & SEOAuto-check passed
  • FLOW SEO Framework

    AgriciDaniel/claude-seo

    Brings the FLOW framework's stage-specific SEO prompts into the agent, from keyword discovery through backlinks, on-page work and conversion to local SEO, loaded on demand.

    18k GitHub starsUsed in 2 repos~1.4k tokens
    Marketing & SEOAuto-check passed
  • SEO Dataforseo

    AgriciDaniel/codex-seo

    Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.

    791 GitHub starsUsed in 2 repos~4.6k tokens
    Marketing & SEOAuto-check passed
  • Backlink Check

    Ryze-AI-Adgent/open-seo-mcp-skills

    Backlink profile for any domain — referring domains, authority, anchors, new/lost links, and a side-by-side vs a competitor.

    4.5k GitHub stars~515 tokensUpdated 14 days ago
    Marketing & SEOAuto-check passed
  • Beyondseo

    beyondtahir/beyondseo

    Audit websites, apply authorised SEO improvements and plan content, competitors and backlinks with evidence, design checks and optional project monitoring.

    157 GitHub stars~4.3k tokensUpdated 14 days ago
    Marketing & SEOAuto-check passed
  • Webobsidian

    xnohat/webobsidian

    Read, write, search, and manage notes in a WebObsidian vault through its Agent REST API (/api/v1).

    268 GitHub stars~2.1k tokensUpdated 3 mo ago
    Marketing & SEOAuto-check passed

More from seranking/seo-skills

All 32 skills in this repo
  • SEO Google

    seranking/seo-skills

    Direct access to Google's own SEO data via Search Console (Search Analytics, URL Inspection, Sitemaps), PageSpeed Insights v5, CrUX field data with 25-week history, Indexing API v3, GA4 organic…

    160 GitHub stars~4.8k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO API

    seranking/seo-skills

    SE Ranking API integration architect. An agent skill from seranking/seo-skills.

    160 GitHub stars~4.1k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Content Audit

    seranking/seo-skills

    E-E-A-T + CITE quality audit for an EXISTING piece of content.

    160 GitHub stars~3k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Content Brief

    seranking/seo-skills

    Generate a writer-ready SEO content brief from a target domain and topic.

    160 GitHub stars~2.5k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Firecrawl

    seranking/seo-skills

    Ad-hoc web scraping, site mapping, and full-site crawling via Firecrawl MCP.

    160 GitHub stars~2.3k tokensUpdated 3 mo ago
    Auto-check passed
  • SEO Hreflang

    seranking/seo-skills

    Hreflang and international SEO audit for multi-language and multi-region sites.

    160 GitHub stars~3.6k tokensUpdated 3 mo ago
    Auto-check passed

Works with

Categories

Questions about SEO Drift

What does SEO Drift do?

Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions. SEO Drift is an agent skill from seranking/seo-skills. Capture an SEO baseline snapshot for a domain or URL, then on later runs compare the current state and surface regressions.

When should I use SEO Drift?

SEO Drift fits situations like: the user asks for SEO drift; baseline this site; did anything break; SEO regression check.

How do I install SEO Drift in Claude Code?

Run `npx skills add seranking/seo-skills --skill seo-drift -a claude-code`. Or copy the skill folder (skills/seo-drift in seranking/seo-skills) into .claude/skills/seo-drift in your project. Claude Code loads it when a task matches its description.

How do I install SEO Drift in Codex?

Run `npx skills add seranking/seo-skills --skill seo-drift -a codex`. Or copy the skill folder (skills/seo-drift in seranking/seo-skills) into .agents/skills/seo-drift in your project. Codex loads it when a task matches its description.

Can I use SEO Drift in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add seranking/seo-skills --skill seo-drift -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seo-drift, .gemini/skills/seo-drift, .github/skills/seo-drift and .opencode/skills/seo-drift in your project.

What does SEO Drift need to run?

Going by SKILL.md and its folder, SEO Drift needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does SEO Drift access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is SEO Drift safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does SEO Drift use?

SEO Drift is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does SEO Drift use?

About 3.4k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.1k tokens, read only when the agent opens those files.

What are the alternatives to SEO Drift?

Skills that share tags, products or a category with SEO Drift: Competitor Analysis (aaron-he-zhu/aaron-marketing-skills, 2.9k stars), FLOW SEO Framework (AgriciDaniel/claude-seo, 18k stars), SEO Dataforseo (AgriciDaniel/codex-seo, 791 stars) and Backlink Check (Ryze-AI-Adgent/open-seo-mcp-skills, 4.5k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains SEO Drift?

seranking (a GitHub organization) maintains it in seranking/seo-skills, which has 160 GitHub stars. The repository holds 32 skills in this directory. The repository was last updated on June 25, 2026.

Source: seranking/seo-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.