Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Comprehensive SEO/GEO/AEO analysis toolkit for optimizing content visibility across traditional search engines (Google, Bing), AI platforms (ChatGPT, Perplexity, Claude, Gemini, Grokipedia), answer engines (Google AI Overviews, Bing Copilot, featured snippets), voice assistants (Google Assistant, Siri, Alexa), and social media (Facebook, Twitter, LinkedIn, WhatsApp, Instagram). Analyzes HTML/Markdown/JSX files for metadata completeness, schema markup, keyword optimization, entity extraction, and
.claude/skills/viryazheng-seo-geo-optimizer/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 616% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 93% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 114% | 0% |
This skill analyzes content for SEO/GEO/AEO optimization across traditional search engines, AI platforms, and answer engines. Use it to audit content files, generate schema markup, validate metadata, extract keywords, and produce comprehensive reports with actionable recommendations.
2025 Context: AI-referred traffic grew 527% (Jan-May 2025). Content optimized for AI citation shows 33-40% higher visibility.
bash# Generate full audit report (JSON, Markdown, HTML) python scripts/audit_report.py ~/project/about.html --format all # Output: ~/Documents/SEO_Audit_YYYY-MM-DD_HH-MM-SS/ # - audit_report.json (raw data) # - audit_report.md (readable text) # - audit_report.html (visual dashboard)
bash# Analyze file structure and metadata python scripts/analyze_content.py ~/project/page.html # Output: JSON with meta tags, schema, content structure, issues, score
bash# Generate FAQ schema (highest AI citation probability) python scripts/schema_generator.py faq \ --question "What is longevity medicine?" \ --answer "Longevity medicine optimizes biomarkers like LDL <70 mg/dL to reduce cardiovascular risk by 30-40%." # Generate Article schema with E-E-A-T signals python scripts/schema_generator.py article \ --title "Understanding Biomarkers" \ --author "Dr. Sarah Johnson" \ --credentials "MD, PhD" \ --date "2025-01-15"
bash# Full optimization pipeline for specific platform python scripts/auto_implementer.py page.html perplexity # Optimize content structure (meta description, FAQ, data tables) python scripts/content_optimizer.py page.html # Platform-specific optimization python scripts/platform_optimizer.py page.html chatgpt # Check freshness (3.2x citations for content <30 days old) python scripts/freshness_monitor.py page.html
Validate meta tags, Open Graph, Twitter Cards, and schema completeness.
bashpython scripts/metadata_validator.py ~/project/page.html
Fix Critical Issues:
Extract primary, semantic, long-tail, and question-based keywords with semantic clustering.
bash# Full analysis with clustering python scripts/keyword_analyzer.py ~/project/page.html # Fast mode without clustering python scripts/keyword_analyzer.py ~/project/page.html --no-clusters
Optimization Tips:
Extract persons, organizations, places for Knowledge Graph optimization.
bashpython scripts/entity_extractor.py ~/project/page.html
E-E-A-T Signals (+40% AI citation boost):
Generate JSON-LD schemas for AI platforms.
bashpython scripts/schema_generator.py faq \ --question "What is optimal LDL cholesterol?" \ --answer "Optimal LDL for longevity is <70 mg/dL, reducing cardiovascular risk by 30-40%."
Voice Search Optimization:
Submit URLs directly to search engines for immediate indexing (Bing, Yandex, Seznam, Naver).
bash# Generate key (one-time setup) python scripts/indexnow_submit.py --generate-key --output ./public # Submit URL after publishing python scripts/indexnow_submit.py https://yoursite.com/new-page --key YOUR_KEY # Batch submit python scripts/indexnow_submit.py --batch urls.txt --key YOUR_KEY
GEO Impact:
dateModified (update weekly)Place direct answer in first 60 words.
Author Credentials:
markdown**Author**: Dr. Sarah Johnson, MD, PhD, FAAD **Affiliation**: Stanford School of Medicine **Published**: 2025-01-15 | **Updated**: 2025-11-11
29-Word Answers for voice assistants.
For detailed guides and templates, see the reference/ directory:
Optimization Guides:
citation-optimization-guide.md - AI citation strategiesentity-seo-guide.md - Knowledge Graph optimizationplatform-strategies.md - Platform-specific optimizationvoice-search-guide.md - Voice search optimizationsocial-preview-guide.md - Open Graph, Twitter Cardsschema-library.md - Complete JSON-LD referenceTemplates (templates/ directory):
meta-tags-template.html - Complete meta tagsIndustry Examples (examples/ directory):
medical-clinic/ - Healthcare optimization (15/100 → 92/100)consulting-firm/ - B2B entity SEO (22/100 → 89/100)saas-landing-page/ - LLMO optimization (18/100 → 94/100)Solutions:
dateModified weeklySolutions:
Solutions:
Script Execution Times:
analyze_content.py: <1 secondmetadata_validator.py: <1 secondkeyword_analyzer.py: <2 secondsentity_extractor.py: <1 secondschema_generator.py: <1 secondaudit_report.py: 3-5 secondsRequirements:
Phase 1: Analysis:
analyze_content.py <file> - Extract metadata, schema, structuremetadata_validator.py <file> - Validate meta tags, OG, Twitter Cardskeyword_analyzer.py <file> - Extract keywordsentity_extractor.py <file> - Extract entitiesaudit_report.py <file> [options] - Generate audit reportsPhase 2: Implementation:
content_optimizer.py <file> - Rewrite content (meta description, FAQ, data tables)platform_optimizer.py <file> <platform> - Platform-specific (chatgpt, perplexity, claude, gemini, grokipedia)voice_optimizer.py <file> - Add voice search optimization (Speakable schema)freshness_monitor.py <file> - Check content age, recommend updatescitation_enhancer.py <file> - Identify citation opportunities (+41% impact)auto_implementer.py <file> [platform] - Full optimization pipelineGeneration:
schema_generator.py <type> [options] - Generate JSON-LD schemasIndexing:
indexnow_submit.py <url> --key KEY - Submit URL to search engines instantlyindexnow_submit.py --batch <file> --key KEY - Batch submit URLsindexnow_submit.py --generate-key - Generate IndexNow keySupported Files: HTML, Markdown, React/JSX Output Formats: JSON, Markdown, HTML
AI Citation Impact:
Voice Search:
Social Media:
MIT License. See LICENSE file for complete terms.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→pass | 35,876 | 13,685 | -62% | 1 | 1 | 0% | 6,208 | 5,156 | -17% | 0 | 0 | — |
case-02 | fail→pass | 3,775 | 14,731 | +290% | 1 | 1 | 0% | 618 | 4,423 | +616% | 0 | 0 | — |
case-03 | fail→pass | 9,054 | 2,997 | -67% | 1 | 1 | 0% | 1,687 | 3,255 | +93% | 0 | 0 | — |
case-04 | fail→pass | 8,849 | 2,984 | -66% | 1 | 1 | 0% | 1,697 | 3,106 | +83% | 0 | 0 | — |
case-05 | fail→pass | 9,295 | 5,790 | -38% | 1 | 1 | 0% | 1,686 | 3,606 | +114% | 0 | 0 | — |
case-06 | fail→pass | 11,896 | 3,220 | -73% | 1 | 1 | 0% | 2,299 | 3,150 | +37% | 0 | 0 | — |
case-07 | fail→pass | 8,768 | 3,441 | -61% | 1 | 1 | 0% | 1,706 | 3,201 | +88% | 0 | 0 | — |
case-08 | fail→pass | 8,041 | 2,717 | -66% | 1 | 1 | 0% | 1,407 | 3,017 | +114% | 0 | 0 | — |
case-09 | fail→pass | 7,105 | 2,439 | -66% | 1 | 1 | 0% | 1,290 | 3,035 | +135% | 0 | 0 | — |
case-10 | fail→pass | 13,163 | 3,325 | -75% | 1 | 1 | 0% | 2,565 | 3,148 | +23% | 0 | 0 | — |
case-11 | fail→pass | 16,996 | 3,933 | -77% | 1 | 1 | 0% | 3,032 | 3,284 | +8% | 0 | 0 | — |
case-12 | fail→pass | 10,766 | 4,048 | -62% | 1 | 1 | 0% | 1,909 | 3,305 | +73% | 0 | 0 | — |
case-13 | fail→pass | 21,078 | 3,473 | -84% | 1 | 1 | 0% | 2,462 | 3,188 | +29% | 0 | 0 | — |
case-14 | fail→pass | 14,422 | 6,777 | -53% | 1 | 1 | 0% | 2,355 | 3,827 | +63% | 0 | 0 | — |
case-15 | fail→pass | 8,074 | 3,042 | -62% | 1 | 1 | 0% | 1,244 | 3,056 | +146% | 0 | 0 | — |
case-16 | fail→pass | 12,833 | 5,056 | -61% | 1 | 1 | 0% | 1,956 | 3,390 | +73% | 0 | 0 | — |
case-17 | pass→pass | 16,661 | 16,064 | -4% | 1 | 1 | 0% | 2,738 | 5,149 | +88% | 0 | 0 | — |
case-18 | pass→pass | 11,556 | 6,994 | -39% | 1 | 1 | 0% | 2,063 | 3,837 | +86% | 0 | 0 | — |
case-19 | fail→pass | 11,883 | 2,903 | -76% | 1 | 1 | 0% | 1,722 | 3,121 | +81% | 0 | 0 | — |
case-20 | pass→pass | 6,779 | 6,728 | -1% | 1 | 1 | 0% | 1,209 | 3,863 | +220% | 0 | 0 | — |
case-21 | pass→pass | 10,692 | 9,726 | -9% | 1 | 1 | 0% | 2,191 | 4,614 | +111% | 0 | 0 | — |
case-22 | pass→pass | 9,667 | 9,224 | -5% | 1 | 1 | 0% | 1,844 | 4,286 | +132% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +77 percentage points is the difference between those two pass rates over the 22 comparable cases.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.