seo-drift
SEO drift monitoring: capture baselines of SEO-critical elements, detect changes, and track regressions over time.
Skill by Infrasity-Labs
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/infrasity-labs-seo-drift
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: marketing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions: not checked yet.
What's inside
- Skill name
seo-drift- Description
- SEO drift monitoring: capture baselines of SEO-critical elements, detect changes, and track regressions over time. Git for SEO — baseline, diff, and track changes to your on-page SEO. Use when user says "SEO drift", "baseline", "track changes", "did anything break", "SEO regression", "compare SEO", "before and after", "monitor SEO changes", or "deployment check".
- License
- MIT
- Metadata
- category: seo
- Instructions
- 203 lines in SKILL.md · view on GitHub
Agent Skills spec issues
- files: referenced but missing: scripts/fetch_page.py, scripts/parse_html.py, scripts/pagespeed_check.py
Files (2)
- SKILL.md
- comparison-rules.md · references/
SKILL.md (first lines)
# SEO Drift Monitor (April 2026) Git for your SEO. Capture baselines, detect regressions, track changes over time. --- ## Commands | Command | Purpose | |---------|---------| | `/seo drift baseline <url>` | Capture current SEO state as a "known good" snapshot | | `/seo drift compare <url>` | Compare current page state to stored baseline | | `/seo drift history <url>` | Show change history and past comparisons | --- ## What It Captures Every baseline records these SEO-critical elements: | Element | Field | Source | |---------|-------|--------| | Title tag | `title` | `parse_html.py` | | Meta description | `meta_description` | `parse_html.py` | | Canonical URL | `canonical` | `parse_html.py` | | Robots directives | `meta_robots` | `parse_html.py` | | H1 headings | `h1` (array) | `parse_html.py` | | H2 headings | `h2` (array) | `parse_html.py` | | H3 headings | `h3` (array) | `parse_html.py` | | JSON-LD schema | `schema` (array) | `parse_html.py` | | Open Graph tags | `open_graph` (dict) | `parse_html.py` | | Core Web Vitals | `cwv` (dict) | `pagespeed_check.py` | | HTTP status code | `status_code` | `fetch_page.py` | | HTML content hash | `html_hash` (SHA-256) | Computed | | Schema content hash | `schema_hash` (SHA-256) | Computed | --- ## How Comparison Works The comparison engine applies **17 rules across 3 severity levels**. Load `references/comparison-rules.md` for the full rule set with thresholds, recommended actions, and cross-skill references. ### Severity Levels | Level | Meaning | Response Time | |-------|---------|---------------| | **CRITICAL** | SEO-breaking change, likely traffic loss | Immediate | | **WARNING** | Potential impact, needs investigation | Within 1 week | | **INFO** | Awareness only, may be intentional | Review at convenience | --- ## Storage All data is stored locally in SQLite: ``` ~/.cache/seo-skills/drift/baselines.db ``` ### Tables - **baselines**: Captured snapshots with all SEO elements - **comparisons**: Diff results with triggered rules and severities URL normalization ensures consistent matching: lowercase scheme/host, strip default ports (80/443), sort query parameters, remove UTM parameters, strip trailing slashes. --- ## Command: `baseline` Captures the current state of a page and stores it. **Steps:** 1. Validate URL (SSRF protection via `google_auth.validate_url()`) 2. Fetch page via `scripts/fetch_page.py` 3. Parse HTML via `scripts/parse_html.py` 4. Optionally fetch CWV via `scripts/pagespeed_check.py` (use `--skip-cwv` to skip) 5. Hash HTML body and schema content (SHA-256) 6. Store snapshot in SQLite **Execution:** ```bash python scripts/drift_baseline.py <url> python scripts/drift_baseline.py <url> --skip-cwv ``` **Output:** JSON with baseline ID, timestamp, URL, and summary of captured elements. --- ## Command: `compare` Fetches the current page state and diffs it against the most recent baseline. **Steps:** 1. Validate URL 2. Load most recent baseline from SQLite (or specific `--baseline-id`) 3. Fetch and parse current page state 4. Run all 17 comparison rules 5. Classify findings by severity 6. Store comparison result 7. Output JSON diff report **Execution:** ```bash python scripts/drift_compare.py <url> python scripts/drift_compare.py <url> --baseline-id 5 python scripts/drift_compare.py <url> --skip-cwv ``` **Output:** JSON with all triggered rules, old/new values, severity, and actions. After comparison, offer to generate an HTML report: ```bash
From Infrasity-Labs/dev-gtm-claude-skills, MIT.
More from Infrasity-Labs/dev-gtm-claude-skills
- 0.675score
landing-page-auditor
Infrasity
Audits any landing or service page across 48 checks in 10 categories for LLM/AI discoverability, GEO readiness, content clarity, schema markup, internal…
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-image
Infrasity-Labs
AI image generation and editing for blog content powered by Gemini via MCP.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-cluster
Infrasity-Labs
Semantic topic cluster planning and automated execution engine for claude-blog.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
churn-prevention
Infrasity-Labs
When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-google
Infrasity-Labs
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection…
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
anydesign
Infrasity-Labs
Analyze images, websites, and Figma files to extract their design and generate a `design.md` with token system, component inventory, and reconstruction notes.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-translate
Infrasity-Labs
Translate existing blog posts into one or more target languages with SEO-optimized localization.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
ads
Infrasity-Labs
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-audio
Infrasity-Labs
Generate audio narration of blog posts using Google Gemini TTS.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
claude-md-starter
Infrasity-Labs
Generates a fully structured, project-specific CLAUDE.md by scanning the repo for signal files (package.json, Makefile, .github/workflows/, .env.example…
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
agile-product-owner
Infrasity-Labs
Agile product ownership for backlog management and sprint execution.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
code-reviewer
Infrasity-Labs
Code review automation for TypeScript, JavaScript, Python, Go, Swift, Kotlin, C#, .NET, Java, C, C++, Rust, Ruby, PHP, and Dart/Flutter.
SkillCFreshness: C★ 144Claude Code +9
Signals
- Stars
- 144
- Forks
- 16
- Open issues
- 1
- Last commit (this folder)
- Jun 15, 2026 (4 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from Infrasity-Labs
- 0.508score
blog-audio
Infrasity-Labs
Generate audio narration of blog posts using Google Gemini TTS.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-cluster
Infrasity-Labs
Semantic topic cluster planning and automated execution engine for claude-blog.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
anydesign
Infrasity-Labs
Analyze images, websites, and Figma files to extract their design and generate a `design.md` with token system, component inventory, and reconstruction notes.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
ads
Infrasity-Labs
When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
agile-product-owner
Infrasity-Labs
Agile product ownership for backlog management and sprint execution.
SkillCFreshness: C★ 144Claude Code +9 - 0.508score
blog-google
Infrasity-Labs
Google API integration for blog performance: PageSpeed Insights, CrUX Core Web Vitals with 25-week history, Search Console performance, URL Inspection…
SkillCFreshness: C★ 144Claude Code +9
Cite this page
seo-drift skill. Agent Mart. https://agentmart.dev/skills/infrasity-labs-seo-drift (last updated 2026-10-24)