settings — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited settings (Hook) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
An LLM-first SEO analysis skill for agent IDEs, with 19 specialized sub-skills, 7 specialist agents, and 29 scripts used as evidence collectors and workflow automation.
.agent/skills/seo)~/.claude/skills/seo)~/.codex/skills/seo)Important: These are natural language commands typed in the Claude Code chat window — not terminal commands. Do not type them in a shell.
git clone https://github.com/buithang/seo-agentic.git
cd seo-agentic
pip install requests beautifulsoup4Open Claude Code, then open the seo-agentic folder as your working directory.
Type this in the Claude Code chat:
project new MyBlog myblog.comThis creates a project profile at ~/.seo-projects/myblog/context.md and sets it as active. Fill in the brand, audience, and tone fields — skills use them automatically.
Other project commands:
project list ← show all projects, mark active
project switch diverFi ← switch active project
project status ← show current project contextseo audit myblog.comOr use your project name directly (no need to type the URL):
seo audit MyBlogcontent write What is DeFi and why it mattersThe skill will research the topic, propose an outline, wait for your approval, then write the full article in your writing voice.
Note:content writerequires a Writing DNA file at~/.seo-voices/<your-name>.md. Copy the template first:cp resources/context/writing-dna.template.md ~/.seo-voices/your-name.md
See SKILL.md for the full command list.
197scripts/: 29 (25 Python + 1 shell + 1 JS + 2 voice shell scripts)| Sub-Skill | Description |
|---|---|
seo audit | Full website audit with evidence-backed scoring |
seo article | Article data extraction & LLM-driven content optimization |
seo page | Deep single-page analysis |
seo technical | Crawlability, indexability, security, Core Web Vitals, AI crawlers |
content audit | Content quality & E-E-A-T assessment (Sept 2025 QRG) |
content write | SEO content writing in your personal voice with DNA learning loop |
seo schema | Schema.org detection, validation & JSON-LD generation |
seo sitemap | XML sitemap analysis & generation |
seo images | Image optimization audit (alt text, formats, lazy loading, CLS) |
seo geo | Generative Engine Optimization — AI Overviews, ChatGPT, Perplexity |
seo aeo | Answer Engine Optimization — Featured Snippets, PAA, Knowledge Panel |
seo links | Link profile analysis — internal links, backlinks, anchor text, orphan pages |
seo programmatic | Programmatic SEO safeguards & quality gates |
seo competitors | Comparison & alternatives page generation |
seo hreflang | International SEO / hreflang validation |
seo plan | Strategic SEO planning with topical clusters & industry templates |
marketing interview | 30-question interview to extract positioning and content pillars into marketing-context.md |
content calendar | Generate 7-day or 30-day content plan from marketing context and writing DNA |
voice correct / voice calibrate add | Record AI-vs-preferred correction pairs; build a voice calibration file that tightens output style |
This skill is designed for reasoning-first SEO analysis:
read_url_content first, scripts optional).Confirmed, Likely, Hypothesis).All audits should apply:
resources/references/llm-audit-rubric.mdThe rubric standardizes:
Finding, Evidence, Impact, Fix)Critical, Warning, Pass, Info)Pre-built strategy templates for: SaaS, E-commerce, Local Business, Publisher/Media, Agency, and Generic businesses.
The content write sub-skill writes SEO articles in your personal writing style. It learns from every article you write and gets better over time.
Three phases, one command:
Approved learnings accumulate in ~/drafts/writing-dna-learnings.md. When you have enough, run merge dna to fold them back into your DNA file with a full diff preview.
Your Writing DNA is a personal voice profile — it tells the skill how you sound, what you never do, and how you think.
# Copy the template
cp resources/context/writing-dna.template.md ~/.seo-voices/your-name.md
# Edit it with your own examples, rules, and patternsThe template has sections for:
The DNA file lives at ~/.seo-voices/ and is never committed to git. It's yours.
content write What is DeFi and why I almost lost everything
# With a brief:
content write What is DeFi
Brief: perspective from someone who actually used DeFi, target: new investorsThe skill will:
ok / yes)~/drafts/<slug>-draft.mdAfter the draft is saved, the skill presents proposals one by one:
DNA Proposal #1 — Examples
"[excerpt from the article that shows a strong voice pattern]"
Reason: Short-line break after a claim — not yet in DNA, very characteristic
Diff:
Section: How I sound — Body section
+ "[excerpt]" ← short-line break after claim
Save to learnings? (y/n/edit)y — save this learningn — skipedit [your version] — save your edited version insteadWhen you've written enough articles (3–5 is a good point), merge:
merge dnaThe skill will:
~/drafts/writing-dna-learnings.md~/.seo-voices/<name>.md with a version bump| Brief | Output |
|---|---|
| No brief | 1200–2000 words |
| "short" / "quick" | 800–1000 words |
| "pillar" / "deep" / "comprehensive" | 2500–4000 words |
Every article saves to ~/drafts/<slug>-draft.md with frontmatter:
---
title: What is DeFi and why I almost lost everything
keyword: what is defi
date: 2026-04-17
status: draft
word_count: 1450
---# 1) Clone
git clone https://github.com/buithang/seo-agentic.git
cd seo-agentic
# 2) Install for your target
# Antigravity (project-local):
bash install.sh --target antigravity --project-dir /path/to/your/project
# Claude:
bash install.sh --target claude
# Codex:
bash install.sh --target codex
# Global user install (Claude + Codex):
bash install.sh --target global
# All targets (Antigravity + Claude + Codex):
bash install.sh --target all --project-dir /path/to/your/project
# Install from another local checkout:
bash install.sh --target codex --repo-path /path/to/seo-agenticcurl -fsSL https://raw.githubusercontent.com/buithang/seo-agentic/main/install.sh | \
bash -s -- --target codexgit clone https://github.com/buithang/seo-agentic.gitpip install requests beautifulsoup4Optional — for visual analysis (screenshots & layout checks):
pip install playwright && playwright install chromiumIf you prefer not to use install.sh, copy or symlink manually:
#### Antigravity IDE (project-local)
mkdir -p .agent/skills
cp -r /path/to/seo-agentic .agent/skills/seo
# or: ln -s /path/to/seo-agentic .agent/skills/seo#### Claude Code (user-global)
mkdir -p ~/.claude/skills
cp -r /path/to/seo-agentic ~/.claude/skills/seo
# or: ln -s /path/to/seo-agentic ~/.claude/skills/seo#### Codex (user-global)
mkdir -p ~/.codex/skills
cp -r /path/to/seo-agentic ~/.codex/skills/seo
# or: ln -s /path/to/seo-agentic ~/.codex/skills/seoThe skill will auto-trigger when you mention SEO-related keywords in your IDE. Try:
The IDE uses an LLM orchestration layer to match your natural language intent to the correct underlying sub-skill (e.g., seo-hreflang.md, seo-schema.md). You do not need to use explicit flags or commands.
seo-audit.md, which acts as the master orchestrator calling all available scripts and analyzing the combined output.Here's how specific phrases map to the skill's capabilities:
| You type... | Scope | Agent(s) activated | Scripts used |
|---|---|---|---|
| "Run SEO audit" | 🌐 Full domain | All 6 core website agents (technical, content, schema, performance, sitemap, visual) | parse_html.py, pagespeed.py, robots_checker.py, security_headers.py, broken_links.py, readability.py |
| "Analyze this article" / blog post URL | 📄 Single page | Content + Schema + Technical | article_seo.py, parse_html.py, readability.py |
| "Check technical SEO" | 🔧 Technical only | Technical | robots_checker.py, security_headers.py, redirect_checker.py, parse_html.py |
| "Review content quality" / "E-E-A-T" | 📝 Content only | Content | article_seo.py, readability.py, entity_checker.py |
| "Check schema markup" | 🏷️ Schema only | Schema | parse_html.py, validate_schema.py |
| "Audit sitemap" | 🗺️ Sitemap only | Sitemap | broken_links.py |
| "Check page speed" / "Core Web Vitals" | ⚡ Performance only | Performance | pagespeed.py |
| "Take screenshots" / "mobile check" | 📱 Visual only | Visual | capture_screenshot.py, analyze_visual.py |
| "Check GEO readiness" / "AI search" | 🤖 GEO/AI only | Technical + Content | llms_txt_checker.py, robots_checker.py, parse_html.py |
| "Analyze links" / "backlink profile" | 🔗 Links only | Technical | link_profile.py, internal_links.py, broken_links.py |
| "Check hreflang" | 🌍 i18n only | Technical | hreflang_checker.py |
| "Create SEO plan" / "SEO strategy" | 📋 Strategy | None (LLM reasoning) | competitor_gap.py (optional) |
| "AEO analysis" / "Featured Snippets" | 🎯 AEO only | Content | article_seo.py, parse_html.py |
| "Entity SEO" / "Knowledge Graph" | 🏛️ Entity only | Content + Schema | entity_checker.py, parse_html.py |
| "Check IndexNow" | 📡 IndexNow only | Technical | indexnow_checker.py |
| "Find content gaps" / "competitor analysis" | 📊 Gap analysis | None (LLM reasoning) | competitor_gap.py |
| "Check for duplicates" / "thin content" | 📋 Dupe check | Content | duplicate_content.py |
| "GSC data" / "Search Console" | 📈 GSC only | None | gsc_checker.py |
| Input type | What happens | Example |
|---|---|---|
Domain (diverfi.com) | Crawls multiple pages, checks robots.txt, sitemap, site-wide patterns | Full audit, link profile, sitemap check |
URL (diverfi.com/page) | Single page deep-dive: HTML, meta, schema, content, CWV | Page audit, schema check, technical check |
| Blog post URL | Article-specific: readability, keyword density, heading structure, JSON-LD Article/BlogPosting schema, publish date | Article analysis, AEO check |
Run a full SEO audit for https://diverfi.com and prioritize fixes by impact.Analyze this article: https://www.diverfi.com/learn/defi-basics/01-what-is-defiDo a single-page SEO analysis of https://diverfi.com and show critical issues first.Analyze technical SEO for https://diverFi.com (robots, crawlability, canonicals, redirects, headers).Review content quality and E-E-A-T signals on https://diverFi.com and suggest concrete rewrites.Check schema markup on https://diverFi.com, validate errors, and generate corrected JSON-LD.Run Core Web Vitals analysis on https://diverFi.com and break down LCP subparts.Evaluate GEO readiness for https://diverFi.com (AI crawler access, llms.txt, citation structure).Analyze AEO signals for https://diverFi.com — Featured Snippet targeting, PAA optimization, Knowledge Panel readiness.Analyze internal link structure and backlink profile for https://diverFi.com.Check entity SEO for https://diverFi.com — Wikidata presence, sameAs links, Knowledge Graph signals.Find content gaps between https://diverFi.com and competitors https://www.binance.com/en/academy https://www.fidelity.com/learning-center/trading-investing/crypto/.Validate hreflang implementation on https://diverFi.com — BCP-47 tags, bidirectional links, x-default.Check IndexNow implementation for https://diverFi.com with key abc123def456.Create a topical authority cluster plan for https://diverFi.com covering cybersecurity topics.Pull GSC performance data for https://diverFi.com and identify striking-distance keywords.Audit sitemap quality for https://diverFi.com and flag missing, redirected, or noindex URLs.Run image SEO checks for https://diverFi.com (alt text, lazy loading, dimensions, format suggestions).Create a 6-month SEO strategy for https://diverFi.com with milestones and KPIs.Take desktop and mobile screenshots of https://diverFi.com and analyze above-the-fold content.To run all analysis types on a single URL:
Run a complete SEO audit on https://diverFi.com — include technical, content, schema, performance,
links, GEO, AEO, entity SEO, and sitemap analysis. Provide a prioritized action plan.Example generated outputs:
FULL-AUDIT-REPORT.md — comprehensive findingsACTION-PLAN.md — prioritized fixesExample prompt and generated outputs
You can generate reports in two ways:
Run a full SEO audit for https://diverFi.com and produce a prioritized action plan with evidence for each finding.python3 scripts/generate_report.py "https://diverFi.com" --output seo-report-diverFi.htmlThe HTML report includes:
Example generated dashboard:
SEO report dashboard example
Use scripts when you need additional verification or structured JSON outputs.
# Example target
URL="https://example.com"
# Fetch + parse HTML
python3 scripts/fetch_page.py "$URL" --output /tmp/page.html
python3 scripts/parse_html.py /tmp/page.html --url "$URL" --json
# Core checks
python3 scripts/robots_checker.py "$URL" --json
python3 scripts/llms_txt_checker.py "$URL" --json
python3 scripts/pagespeed.py "$URL" --strategy mobile --json
python3 scripts/security_headers.py "$URL" --json
python3 scripts/redirect_checker.py "$URL" --json
python3 scripts/social_meta.py "$URL" --json
# Content + structure checks
python3 scripts/readability.py /tmp/page.html --json
python3 scripts/internal_links.py "$URL" --depth 1 --max-pages 20 --json
python3 scripts/broken_links.py "$URL" --workers 5 --json
python3 scripts/article_seo.py "$URL" --json
# New analysis scripts
python3 scripts/hreflang_checker.py "$URL" --json
python3 scripts/entity_checker.py "$URL" --json
python3 scripts/duplicate_content.py "$URL" --json
python3 scripts/link_profile.py "$URL" --json
python3 scripts/competitor_gap.py "$URL" --competitor https://competitor.com --json
# python3 scripts/gsc_checker.py "$URL" --credentials creds.json --json # requires GSC credentials
# python3 scripts/indexnow_checker.py "$URL" --key YOUR_KEY --json # requires IndexNow key
# Generic verifier stage (can be used by any workflow before final reporting)
python3 scripts/finding_verifier.py --findings-json raw-findings.json --jsonGenerate a single HTML dashboard if needed:
python3 scripts/generate_report.py "$URL"| Rule | Detail |
|---|---|
| INP not FID | FID removed Sept 2024. INP is the sole interactivity metric. |
| FAQ schema restricted | FAQPage only for government/healthcare authority sites (Aug 2023) |
| HowTo deprecated | Rich results removed Sept 2023 |
| JSON-LD only | Never recommend Microdata or RDFa |
| E-E-A-T everywhere | Applies to ALL competitive queries since Dec 2025 |
| Mobile-first complete | 100% mobile-first indexing since July 2024 |
| Location page limits | ⚠️ Warning at 30+ pages, 🛑 Hard stop at 50+ |
| Requirement | Version |
|---|---|
| Python | 3.8+ |
requests | Any |
beautifulsoup4 | Any |
| Playwright | Optional (for visual analysis) |
This project is heavily built from [claude-seo](https://github.com/AgriciDaniel/claude-seo) by [AgriciDaniel](https://github.com/AgriciDaniel). All core SEO logic, reference data, agent definitions, utility scripts, and sub-skill instructions originate from that project.
This repository restructures and adapts the content to function as a compatible skill package for Antigravity IDE, Claude Code, and Codex, while preserving the same core skill layout (SKILL.md + scripts/ + resources/).
Licensed under the MIT License. See LICENSE.
Portions are derived from claude-seo, which is also MIT-licensed.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.