antigravity-seo-kit 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agent/agent.md +96 -0
- package/.agent/skills/seo/SKILL.md +153 -0
- package/.agent/skills/seo/references/cwv-thresholds.md +108 -0
- package/.agent/skills/seo/references/eeat-framework.md +214 -0
- package/.agent/skills/seo/references/local-schema-types.md +230 -0
- package/.agent/skills/seo/references/local-seo-signals.md +218 -0
- package/.agent/skills/seo/references/maps-api-endpoints.md +160 -0
- package/.agent/skills/seo/references/maps-free-apis.md +176 -0
- package/.agent/skills/seo/references/maps-gbp-checklist.md +150 -0
- package/.agent/skills/seo/references/maps-geo-grid.md +154 -0
- package/.agent/skills/seo/references/quality-gates.md +155 -0
- package/.agent/skills/seo/references/schema-types.md +118 -0
- package/.agent/skills/seo/schema/templates.json +213 -0
- package/.agent/skills/seo/scripts/analyze_visual.py +217 -0
- package/.agent/skills/seo/scripts/capture_screenshot.py +181 -0
- package/.agent/skills/seo/scripts/fetch_page.py +196 -0
- package/.agent/skills/seo/scripts/parse_html.py +201 -0
- package/.agent/skills/seo-audit/SKILL.md +278 -0
- package/.agent/skills/seo-competitor-pages/SKILL.md +212 -0
- package/.agent/skills/seo-content/SKILL.md +230 -0
- package/.agent/skills/seo-dataforseo/SKILL.md +418 -0
- package/.agent/skills/seo-geo/SKILL.md +305 -0
- package/.agent/skills/seo-google/SKILL.md +405 -0
- package/.agent/skills/seo-google/assets/templates/cwv-audit-report.md +48 -0
- package/.agent/skills/seo-google/assets/templates/gsc-performance-report.md +44 -0
- package/.agent/skills/seo-google/assets/templates/indexation-status-report.md +43 -0
- package/.agent/skills/seo-google/references/auth-setup.md +154 -0
- package/.agent/skills/seo-google/references/ga4-data-api.md +184 -0
- package/.agent/skills/seo-google/references/indexing-api.md +107 -0
- package/.agent/skills/seo-google/references/keyword-planner-api.md +66 -0
- package/.agent/skills/seo-google/references/nlp-api.md +55 -0
- package/.agent/skills/seo-google/references/pagespeed-crux-api.md +204 -0
- package/.agent/skills/seo-google/references/rate-limits-quotas.md +75 -0
- package/.agent/skills/seo-google/references/search-console-api.md +156 -0
- package/.agent/skills/seo-google/references/supplementary-apis.md +99 -0
- package/.agent/skills/seo-google/references/youtube-api.md +49 -0
- package/.agent/skills/seo-google/scripts/crux_history.py +321 -0
- package/.agent/skills/seo-google/scripts/ga4_report.py +478 -0
- package/.agent/skills/seo-google/scripts/google_auth.py +795 -0
- package/.agent/skills/seo-google/scripts/google_report.py +2273 -0
- package/.agent/skills/seo-google/scripts/gsc_inspect.py +340 -0
- package/.agent/skills/seo-google/scripts/gsc_query.py +378 -0
- package/.agent/skills/seo-google/scripts/indexing_notify.py +313 -0
- package/.agent/skills/seo-google/scripts/keyword_planner.py +297 -0
- package/.agent/skills/seo-google/scripts/nlp_analyze.py +309 -0
- package/.agent/skills/seo-google/scripts/pagespeed_check.py +649 -0
- package/.agent/skills/seo-google/scripts/youtube_search.py +355 -0
- package/.agent/skills/seo-hreflang/SKILL.md +192 -0
- package/.agent/skills/seo-image-gen/SKILL.md +211 -0
- package/.agent/skills/seo-image-gen/references/cost-tracking.md +47 -0
- package/.agent/skills/seo-image-gen/references/gemini-models.md +200 -0
- package/.agent/skills/seo-image-gen/references/mcp-tools.md +115 -0
- package/.agent/skills/seo-image-gen/references/post-processing.md +192 -0
- package/.agent/skills/seo-image-gen/references/presets.md +69 -0
- package/.agent/skills/seo-image-gen/references/prompt-engineering.md +411 -0
- package/.agent/skills/seo-image-gen/references/seo-image-presets.md +137 -0
- package/.agent/skills/seo-image-gen/scripts/batch.py +97 -0
- package/.agent/skills/seo-image-gen/scripts/cost_tracker.py +191 -0
- package/.agent/skills/seo-image-gen/scripts/edit.py +141 -0
- package/.agent/skills/seo-image-gen/scripts/generate.py +149 -0
- package/.agent/skills/seo-image-gen/scripts/presets.py +153 -0
- package/.agent/skills/seo-image-gen/scripts/setup_mcp.py +151 -0
- package/.agent/skills/seo-image-gen/scripts/validate_setup.py +133 -0
- package/.agent/skills/seo-images/SKILL.md +176 -0
- package/.agent/skills/seo-local/SKILL.md +381 -0
- package/.agent/skills/seo-maps/SKILL.md +328 -0
- package/.agent/skills/seo-page/SKILL.md +86 -0
- package/.agent/skills/seo-plan/SKILL.md +118 -0
- package/.agent/skills/seo-plan/assets/agency.md +175 -0
- package/.agent/skills/seo-plan/assets/ecommerce.md +167 -0
- package/.agent/skills/seo-plan/assets/generic.md +144 -0
- package/.agent/skills/seo-plan/assets/local-service.md +160 -0
- package/.agent/skills/seo-plan/assets/publisher.md +153 -0
- package/.agent/skills/seo-plan/assets/saas.md +135 -0
- package/.agent/skills/seo-programmatic/SKILL.md +171 -0
- package/.agent/skills/seo-schema/SKILL.md +223 -0
- package/.agent/skills/seo-sitemap/SKILL.md +180 -0
- package/.agent/skills/seo-technical/SKILL.md +211 -0
- package/.agent/workflows/seo-audit.md +17 -0
- package/.agent/workflows/seo-competitor-pages.md +12 -0
- package/.agent/workflows/seo-content.md +14 -0
- package/.agent/workflows/seo-geo.md +12 -0
- package/.agent/workflows/seo-google.md +12 -0
- package/.agent/workflows/seo-hreflang.md +12 -0
- package/.agent/workflows/seo-images.md +13 -0
- package/.agent/workflows/seo-local.md +12 -0
- package/.agent/workflows/seo-maps.md +11 -0
- package/.agent/workflows/seo-page.md +13 -0
- package/.agent/workflows/seo-plan.md +13 -0
- package/.agent/workflows/seo-programmatic.md +12 -0
- package/.agent/workflows/seo-schema.md +11 -0
- package/.agent/workflows/seo-sitemap.md +9 -0
- package/.agent/workflows/seo-technical.md +18 -0
- package/LICENSE +88 -0
- package/README.md +122 -0
- package/bin/cli.js +117 -0
- package/docs/ARCHITECTURE.md +218 -0
- package/docs/COMMANDS.md +184 -0
- package/docs/INSTALLATION.md +100 -0
- package/docs/MCP-INTEGRATION.md +153 -0
- package/docs/TROUBLESHOOTING.md +151 -0
- package/docs/superpowers/plans/2026-03-13-github-audit-fixes.md +511 -0
- package/extensions/banana/README.md +95 -0
- package/extensions/banana/docs/BANANA-SETUP.md +86 -0
- package/extensions/banana/install.sh +170 -0
- package/extensions/banana/references/cost-tracking.md +47 -0
- package/extensions/banana/references/gemini-models.md +200 -0
- package/extensions/banana/references/mcp-tools.md +115 -0
- package/extensions/banana/references/post-processing.md +192 -0
- package/extensions/banana/references/presets.md +69 -0
- package/extensions/banana/references/prompt-engineering.md +411 -0
- package/extensions/banana/references/seo-image-presets.md +137 -0
- package/extensions/banana/scripts/batch.py +97 -0
- package/extensions/banana/scripts/cost_tracker.py +191 -0
- package/extensions/banana/scripts/edit.py +141 -0
- package/extensions/banana/scripts/generate.py +149 -0
- package/extensions/banana/scripts/presets.py +153 -0
- package/extensions/banana/scripts/setup_mcp.py +151 -0
- package/extensions/banana/scripts/validate_setup.py +133 -0
- package/extensions/banana/uninstall.sh +43 -0
- package/extensions/dataforseo/README.md +169 -0
- package/extensions/dataforseo/docs/DATAFORSEO-SETUP.md +74 -0
- package/extensions/dataforseo/field-config.json +280 -0
- package/extensions/dataforseo/install.ps1 +110 -0
- package/extensions/dataforseo/install.sh +161 -0
- package/extensions/dataforseo/uninstall.ps1 +35 -0
- package/extensions/dataforseo/uninstall.sh +39 -0
- package/lib/api.js +190 -0
- package/lib/fingerprint.js +68 -0
- package/lib/installer.js +486 -0
- package/lib/utils.js +254 -0
- package/package.json +40 -0
- package/pyproject.toml +11 -0
- package/requirements-google.txt +15 -0
- package/requirements.txt +11 -0
package/.agent/agent.md
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# SEO Kit: Universal SEO Analysis Skill
|
|
2
|
+
|
|
3
|
+
## Project Overview
|
|
4
|
+
|
|
5
|
+
This repository contains **SEO Kit**, a comprehensive SEO analysis skill for AI
|
|
6
|
+
coding agents. It follows the Agent Skills open standard and the 3-layer architecture
|
|
7
|
+
(directive, orchestration, execution). 13 sub-skills and an extensible reference
|
|
8
|
+
system cover technical SEO, content quality, schema markup, image optimization,
|
|
9
|
+
sitemap architecture, AI search optimization, and local SEO (GBP, citations,
|
|
10
|
+
reviews, map pack).
|
|
11
|
+
|
|
12
|
+
## Architecture
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
seo-kit/
|
|
16
|
+
.agent/
|
|
17
|
+
agent.md # Project instructions (this file)
|
|
18
|
+
skills/
|
|
19
|
+
seo/ # Main orchestrator skill
|
|
20
|
+
SKILL.md # Entry point, routing table, core rules
|
|
21
|
+
references/ # On-demand knowledge files
|
|
22
|
+
scripts/ # Python execution scripts
|
|
23
|
+
schema/ # Schema.org JSON-LD templates
|
|
24
|
+
seo-audit/SKILL.md # Full site audit
|
|
25
|
+
seo-page/SKILL.md # Deep single-page analysis
|
|
26
|
+
seo-technical/SKILL.md # Technical SEO (9 categories)
|
|
27
|
+
seo-content/SKILL.md # E-E-A-T and content quality
|
|
28
|
+
seo-schema/SKILL.md # Schema.org markup detection/generation
|
|
29
|
+
seo-sitemap/SKILL.md # XML sitemap analysis/generation
|
|
30
|
+
seo-images/SKILL.md # Image optimization analysis
|
|
31
|
+
seo-geo/SKILL.md # AI search / GEO optimization
|
|
32
|
+
seo-local/SKILL.md # Local SEO (GBP, citations, reviews, map pack)
|
|
33
|
+
seo-plan/SKILL.md # Strategic SEO planning
|
|
34
|
+
seo-programmatic/SKILL.md # Programmatic SEO at scale
|
|
35
|
+
seo-competitor-pages/SKILL.md # Competitor comparison pages
|
|
36
|
+
seo-hreflang/SKILL.md # International SEO / hreflang
|
|
37
|
+
seo-dataforseo/SKILL.md # Live SEO data (extension)
|
|
38
|
+
seo-image-gen/SKILL.md # AI image generation (extension)
|
|
39
|
+
workflows/ # Slash-command workflows
|
|
40
|
+
seo-audit.md
|
|
41
|
+
seo-page.md
|
|
42
|
+
seo-technical.md
|
|
43
|
+
seo-content.md
|
|
44
|
+
seo-schema.md
|
|
45
|
+
seo-sitemap.md
|
|
46
|
+
seo-images.md
|
|
47
|
+
seo-geo.md
|
|
48
|
+
seo-local.md
|
|
49
|
+
seo-plan.md
|
|
50
|
+
seo-programmatic.md
|
|
51
|
+
seo-competitor-pages.md
|
|
52
|
+
seo-hreflang.md
|
|
53
|
+
extensions/ # Optional add-on capabilities
|
|
54
|
+
dataforseo/ # Live SEO data via DataForSEO MCP
|
|
55
|
+
banana/ # AI image generation via Gemini MCP
|
|
56
|
+
docs/ # Extended documentation
|
|
57
|
+
ARCHITECTURE.md
|
|
58
|
+
COMMANDS.md
|
|
59
|
+
INSTALLATION.md
|
|
60
|
+
MCP-INTEGRATION.md
|
|
61
|
+
TROUBLESHOOTING.md
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Workflows (Commands)
|
|
65
|
+
|
|
66
|
+
| Workflow | Purpose |
|
|
67
|
+
|----------|---------|
|
|
68
|
+
| `/seo-audit` | Full site audit with specialist skills |
|
|
69
|
+
| `/seo-page` | Deep single-page analysis |
|
|
70
|
+
| `/seo-technical` | Technical SEO audit (9 categories) |
|
|
71
|
+
| `/seo-content` | E-E-A-T and content quality analysis |
|
|
72
|
+
| `/seo-schema` | Schema.org detection, validation, generation |
|
|
73
|
+
| `/seo-sitemap` | XML sitemap analysis or generation |
|
|
74
|
+
| `/seo-images` | Image optimization analysis |
|
|
75
|
+
| `/seo-geo` | AI search / Generative Engine Optimization |
|
|
76
|
+
| `/seo-plan` | Strategic SEO planning by industry |
|
|
77
|
+
| `/seo-programmatic` | Programmatic SEO analysis and planning |
|
|
78
|
+
| `/seo-competitor-pages` | Competitor comparison page generation |
|
|
79
|
+
| `/seo-local` | Local SEO analysis (GBP, citations, reviews, map pack) |
|
|
80
|
+
| `/seo-hreflang` | International SEO / hreflang audit |
|
|
81
|
+
|
|
82
|
+
## Development Rules
|
|
83
|
+
|
|
84
|
+
- Keep SKILL.md files under 500 lines / 5000 tokens
|
|
85
|
+
- Reference files should be focused and under 200 lines
|
|
86
|
+
- Scripts must have docstrings, CLI interface, and JSON output
|
|
87
|
+
- Follow kebab-case naming for all skill directories
|
|
88
|
+
- Python dependencies: install per project or user-level
|
|
89
|
+
- Test with `python -m pytest tests/` after changes (if applicable)
|
|
90
|
+
|
|
91
|
+
## Key Principles
|
|
92
|
+
|
|
93
|
+
1. **Progressive Disclosure**: Metadata always loaded, instructions on activation, resources on demand
|
|
94
|
+
2. **Industry Detection**: Auto-detect SaaS, e-commerce, local, publisher, agency
|
|
95
|
+
3. **Skill Composition**: Full audits activate multiple specialist skills simultaneously
|
|
96
|
+
4. **Extension System**: DataForSEO MCP for live data, Banana MCP for AI image generation
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: seo
|
|
3
|
+
description: >
|
|
4
|
+
Comprehensive SEO analysis for any website or business type. Performs full site
|
|
5
|
+
audits, single-page deep analysis, technical SEO checks (crawlability, indexability,
|
|
6
|
+
Core Web Vitals with INP), schema markup detection/validation/generation, content
|
|
7
|
+
quality assessment (E-E-A-T framework per Dec 2025 update extending to all
|
|
8
|
+
competitive queries), image optimization, sitemap analysis, and Generative Engine
|
|
9
|
+
Optimization (GEO) for AI Overviews, ChatGPT, and Perplexity citations. Analyzes
|
|
10
|
+
AI crawler accessibility (GPTBot, ClaudeBot, PerplexityBot), llms.txt compliance,
|
|
11
|
+
brand mention signals, and passage-level citability. Industry detection for SaaS,
|
|
12
|
+
e-commerce, local business, publishers, agencies. Triggers on: "SEO", "audit",
|
|
13
|
+
"schema", "Core Web Vitals", "sitemap", "E-E-A-T", "AI Overviews", "GEO",
|
|
14
|
+
"technical SEO", "content quality", "page speed", "structured data".
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# SEO: Universal SEO Analysis Skill
|
|
18
|
+
|
|
19
|
+
Comprehensive SEO analysis across all industries (SaaS, local services,
|
|
20
|
+
e-commerce, publishers, agencies). Orchestrates 15 specialized sub-skills
|
|
21
|
+
(+ optional extension sub-skills like seo-dataforseo and seo-image-gen).
|
|
22
|
+
|
|
23
|
+
## Quick Reference
|
|
24
|
+
|
|
25
|
+
| Workflow | What it does |
|
|
26
|
+
|----------|-------------|
|
|
27
|
+
| `/seo-audit` | Full website audit with parallel skill delegation |
|
|
28
|
+
| `/seo-page` | Deep single-page analysis |
|
|
29
|
+
| `/seo-sitemap` | Analyze or generate XML sitemaps |
|
|
30
|
+
| `/seo-schema` | Detect, validate, and generate Schema.org markup |
|
|
31
|
+
| `/seo-images` | Image optimization analysis |
|
|
32
|
+
| `/seo-technical` | Technical SEO audit (9 categories) |
|
|
33
|
+
| `/seo-content` | E-E-A-T and content quality analysis |
|
|
34
|
+
| `/seo-geo` | AI Overviews / Generative Engine Optimization |
|
|
35
|
+
| `/seo-plan` | Strategic SEO planning |
|
|
36
|
+
| `/seo-programmatic` | Programmatic SEO analysis and planning |
|
|
37
|
+
| `/seo-competitor-pages` | Competitor comparison page generation |
|
|
38
|
+
| `/seo-local` | Local SEO analysis (GBP, citations, reviews, map pack) |
|
|
39
|
+
| `/seo-maps` | Maps intelligence (geo-grid, GBP audit, reviews, competitors) |
|
|
40
|
+
| `/seo-hreflang` | Hreflang/i18n SEO audit and generation |
|
|
41
|
+
| `/seo-google` | Google SEO APIs (GSC, PageSpeed, CrUX, Indexing, GA4) |
|
|
42
|
+
|
|
43
|
+
## Orchestration Logic
|
|
44
|
+
|
|
45
|
+
When the user invokes `/seo-audit`, activate specialist skills:
|
|
46
|
+
1. Detect business type (SaaS, local, ecommerce, publisher, agency, other)
|
|
47
|
+
2. Activate relevant skills: seo-technical, seo-content, seo-schema, seo-sitemap, seo-images, seo-geo
|
|
48
|
+
3. If Google API credentials detected (`python .agent/skills/seo-google/scripts/google_auth.py --check`), also activate seo-google skill
|
|
49
|
+
4. If local business detected, also activate seo-local skill
|
|
50
|
+
5. If local business detected AND DataForSEO MCP available, also activate seo-maps skill
|
|
51
|
+
6. Collect results and generate unified report with SEO Health Score (0-100)
|
|
52
|
+
7. Create prioritized action plan (Critical -> High -> Medium -> Low)
|
|
53
|
+
8. **Offer PDF report**: "Generate a professional PDF report? Use `/seo-google report full`"
|
|
54
|
+
|
|
55
|
+
For individual workflows, load the relevant sub-skill directly.
|
|
56
|
+
After any analysis command completes, offer to generate a PDF report via `seo-google/scripts/google_report.py`.
|
|
57
|
+
|
|
58
|
+
## Industry Detection
|
|
59
|
+
|
|
60
|
+
Detect business type from homepage signals:
|
|
61
|
+
- **SaaS**: pricing page, /features, /integrations, /docs, "free trial", "sign up"
|
|
62
|
+
- **Local Service**: phone number, address, service area, "serving [city]", Google Maps embed --> auto-suggest `/seo-local` for deeper analysis
|
|
63
|
+
- **E-commerce**: /products, /collections, /cart, "add to cart", product schema
|
|
64
|
+
- **Publisher**: /blog, /articles, /topics, article schema, author pages, publication dates
|
|
65
|
+
- **Agency**: /case-studies, /portfolio, /industries, "our work", client logos
|
|
66
|
+
|
|
67
|
+
## Quality Gates
|
|
68
|
+
|
|
69
|
+
Read `references/quality-gates.md` for thin content thresholds per page type.
|
|
70
|
+
Hard rules:
|
|
71
|
+
- WARNING at 30+ location pages (enforce 60%+ unique content)
|
|
72
|
+
- HARD STOP at 50+ location pages (require user justification)
|
|
73
|
+
- Never recommend HowTo schema (deprecated Sept 2023)
|
|
74
|
+
- FAQ schema for Google rich results: only government and healthcare sites (Aug 2023 restriction); existing FAQPage on commercial sites -> flag Info priority (not Critical), noting AI/LLM citation benefit; adding new FAQPage -> not recommended for Google benefit
|
|
75
|
+
- All Core Web Vitals references use INP, never FID
|
|
76
|
+
|
|
77
|
+
## Reference Files
|
|
78
|
+
|
|
79
|
+
Load these on-demand as needed (do NOT load all at startup):
|
|
80
|
+
- `references/cwv-thresholds.md`: Current Core Web Vitals thresholds and measurement details
|
|
81
|
+
- `references/schema-types.md`: All supported schema types with deprecation status
|
|
82
|
+
- `references/eeat-framework.md`: E-E-A-T evaluation criteria (Sept 2025 QRG update)
|
|
83
|
+
- `references/quality-gates.md`: Content length minimums, uniqueness thresholds
|
|
84
|
+
- `references/local-seo-signals.md`: Local ranking factors, review benchmarks, citation tiers, GBP status
|
|
85
|
+
- `references/local-schema-types.md`: LocalBusiness subtypes, industry-specific schema and citation sources
|
|
86
|
+
|
|
87
|
+
Maps-specific references (loaded by seo-maps skill, not at startup):
|
|
88
|
+
- `references/maps-geo-grid.md`, `references/maps-gbp-checklist.md`, `references/maps-api-endpoints.md`, `references/maps-free-apis.md`
|
|
89
|
+
|
|
90
|
+
## Scoring Methodology
|
|
91
|
+
|
|
92
|
+
### SEO Health Score (0-100)
|
|
93
|
+
Weighted aggregate of all categories:
|
|
94
|
+
|
|
95
|
+
| Category | Weight |
|
|
96
|
+
|----------|--------|
|
|
97
|
+
| Technical SEO | 22% |
|
|
98
|
+
| Content Quality | 23% |
|
|
99
|
+
| On-Page SEO | 20% |
|
|
100
|
+
| Schema / Structured Data | 10% |
|
|
101
|
+
| Performance (CWV) | 10% |
|
|
102
|
+
| AI Search Readiness | 10% |
|
|
103
|
+
| Images | 5% |
|
|
104
|
+
|
|
105
|
+
### Priority Levels
|
|
106
|
+
- **Critical**: Blocks indexing or causes penalties (immediate fix required)
|
|
107
|
+
- **High**: Significantly impacts rankings (fix within 1 week)
|
|
108
|
+
- **Medium**: Optimization opportunity (fix within 1 month)
|
|
109
|
+
- **Low**: Nice to have (backlog)
|
|
110
|
+
|
|
111
|
+
## Sub-Skills
|
|
112
|
+
|
|
113
|
+
This skill orchestrates 15 specialized sub-skills (+ 2 extensions):
|
|
114
|
+
|
|
115
|
+
1. **seo-audit** -- Full website audit with skill delegation
|
|
116
|
+
2. **seo-page** -- Deep single-page analysis
|
|
117
|
+
3. **seo-technical** -- Technical SEO (9 categories)
|
|
118
|
+
4. **seo-content** -- E-E-A-T and content quality
|
|
119
|
+
5. **seo-schema** -- Schema markup detection and generation
|
|
120
|
+
6. **seo-images** -- Image optimization
|
|
121
|
+
7. **seo-sitemap** -- Sitemap analysis and generation
|
|
122
|
+
8. **seo-geo** -- AI Overviews / GEO optimization
|
|
123
|
+
9. **seo-plan** -- Strategic planning with templates
|
|
124
|
+
10. **seo-programmatic** -- Programmatic SEO analysis and planning
|
|
125
|
+
11. **seo-competitor-pages** -- Competitor comparison page generation
|
|
126
|
+
12. **seo-hreflang** -- Hreflang/i18n SEO audit and generation
|
|
127
|
+
13. **seo-local** -- Local SEO (GBP, NAP, citations, reviews, local schema, multi-location)
|
|
128
|
+
14. **seo-maps** -- Maps intelligence (geo-grid, GBP audit, reviews, competitor radius)
|
|
129
|
+
15. **seo-google** -- Google SEO APIs (GSC, PageSpeed, CrUX, Indexing API, GA4)
|
|
130
|
+
16. **seo-dataforseo** -- Live SEO data via DataForSEO MCP (extension)
|
|
131
|
+
17. **seo-image-gen** -- AI image generation for SEO assets via Gemini (extension)
|
|
132
|
+
|
|
133
|
+
## Related Skills (for parallel analysis during audits)
|
|
134
|
+
|
|
135
|
+
- `seo-technical` -- Crawlability, indexability, security, CWV
|
|
136
|
+
- `seo-content` -- E-E-A-T, readability, thin content
|
|
137
|
+
- `seo-schema` -- Detection, validation, generation
|
|
138
|
+
- `seo-sitemap` -- Structure, coverage, quality gates
|
|
139
|
+
- `seo-geo` -- AI crawler access, llms.txt, citability, brand mention signals
|
|
140
|
+
- `seo-local` -- GBP signals, NAP consistency, reviews, local schema (conditional: activated when Local Service detected)
|
|
141
|
+
- `seo-maps` -- Geo-grid rank tracking, GBP audit, review intelligence, competitor radius (conditional: activated when Local Service detected AND DataForSEO MCP available)
|
|
142
|
+
- `seo-google` -- CWV field data, URL indexation status, organic traffic trends (conditional: activated when Google API credentials detected)
|
|
143
|
+
- `seo-dataforseo` -- Live SERP, keyword, backlink, local SEO data (extension, optional)
|
|
144
|
+
- `seo-image-gen` -- SEO image audit and generation plan (extension, optional)
|
|
145
|
+
|
|
146
|
+
## Error Handling
|
|
147
|
+
|
|
148
|
+
| Scenario | Action |
|
|
149
|
+
|----------|--------|
|
|
150
|
+
| Unrecognized command | List available workflows from the Quick Reference table. Suggest the closest matching workflow. |
|
|
151
|
+
| URL unreachable | Report the error and suggest the user verify the URL. Do not attempt to guess site content. |
|
|
152
|
+
| Sub-skill fails during audit | Report partial results from successful sub-skills. Clearly note which sub-skill failed and why. Suggest re-running the failed sub-skill individually. |
|
|
153
|
+
| Ambiguous business type detection | Present the top two detected types with supporting signals. Ask the user to confirm before proceeding with industry-specific recommendations. |
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
<!-- Updated: 2026-02-07 -->
|
|
2
|
+
# Core Web Vitals Thresholds (February 2026)
|
|
3
|
+
|
|
4
|
+
## Current Metrics
|
|
5
|
+
|
|
6
|
+
| Metric | Good | Needs Improvement | Poor |
|
|
7
|
+
|--------|------|-------------------|------|
|
|
8
|
+
| LCP (Largest Contentful Paint) | ≤2.5s | 2.5s–4.0s | >4.0s |
|
|
9
|
+
| INP (Interaction to Next Paint) | ≤200ms | 200ms–500ms | >500ms |
|
|
10
|
+
| CLS (Cumulative Layout Shift) | ≤0.1 | 0.1–0.25 | >0.25 |
|
|
11
|
+
|
|
12
|
+
## Key Facts
|
|
13
|
+
- INP replaced FID (First Input Delay) on **March 12, 2024**. FID was fully removed from all Chrome tools (CrUX API, PageSpeed Insights, Lighthouse) on **September 9, 2024**. INP is the sole interactivity metric.
|
|
14
|
+
- Evaluation uses the **75th percentile** of real user data (field data from CrUX).
|
|
15
|
+
- Google assesses at the **page level** and the **origin level**.
|
|
16
|
+
- Core Web Vitals are a **tiebreaker** ranking signal: they matter most when content quality is similar between competitors.
|
|
17
|
+
- **Thresholds unchanged since original definitions**: ignore claims of "tightened thresholds" from SEO blogs.
|
|
18
|
+
- December 2025 core update appeared to weight **mobile CWV more heavily**.
|
|
19
|
+
- As of October 2025: **57.1%** desktop sites and **49.7%** mobile sites pass all three CWV.
|
|
20
|
+
|
|
21
|
+
## LCP Subparts (February 2025 CrUX Addition)
|
|
22
|
+
|
|
23
|
+
LCP can now be broken into diagnostic subparts:
|
|
24
|
+
|
|
25
|
+
| Subpart | What It Measures | Target |
|
|
26
|
+
|---------|------------------|--------|
|
|
27
|
+
| **TTFB** | Time to First Byte (server response) | <800ms |
|
|
28
|
+
| **Resource Load Delay** | Time from TTFB to resource request start | Minimize |
|
|
29
|
+
| **Resource Load Time** | Time to download the LCP resource | Depends on size |
|
|
30
|
+
| **Element Render Delay** | Time from resource loaded to rendered | Minimize |
|
|
31
|
+
|
|
32
|
+
**Total LCP = TTFB + Resource Load Delay + Resource Load Time + Element Render Delay**
|
|
33
|
+
|
|
34
|
+
Use this breakdown to identify which phase is causing LCP issues.
|
|
35
|
+
|
|
36
|
+
## Soft Navigations API (Experimental)
|
|
37
|
+
|
|
38
|
+
**Chrome 139+ Origin Trial (July 2025)**: First step toward measuring CWV in SPAs.
|
|
39
|
+
|
|
40
|
+
- Addresses the long-standing SPA measurement blind spot
|
|
41
|
+
- Currently experimental, **no ranking impact yet**
|
|
42
|
+
- Detects "soft navigations" (URL changes without full page load)
|
|
43
|
+
- May affect future SPA CWV measurement
|
|
44
|
+
|
|
45
|
+
**Detection:** Check for SPA frameworks (React, Vue, Angular, Svelte) and warn about current CWV measurement limitations.
|
|
46
|
+
|
|
47
|
+
## Measurement Sources
|
|
48
|
+
|
|
49
|
+
### Field Data (Real Users)
|
|
50
|
+
- Chrome User Experience Report (CrUX)
|
|
51
|
+
- PageSpeed Insights (uses CrUX data)
|
|
52
|
+
- Search Console Core Web Vitals report
|
|
53
|
+
|
|
54
|
+
### Lab Data (Simulated)
|
|
55
|
+
- Lighthouse
|
|
56
|
+
- WebPageTest
|
|
57
|
+
- Chrome DevTools
|
|
58
|
+
|
|
59
|
+
> Field data is what Google uses for ranking. Lab data is useful for debugging.
|
|
60
|
+
|
|
61
|
+
## Common Bottlenecks
|
|
62
|
+
|
|
63
|
+
### LCP (Largest Contentful Paint)
|
|
64
|
+
- Unoptimized hero images (compress, use WebP/AVIF, add preload)
|
|
65
|
+
- Render-blocking CSS/JS (defer, async, critical CSS inlining)
|
|
66
|
+
- Slow server response (TTFB >200ms: use edge CDN, caching)
|
|
67
|
+
- Third-party script blocking (defer analytics, chat widgets)
|
|
68
|
+
- Web font loading delay (use font-display: swap + preload)
|
|
69
|
+
|
|
70
|
+
### INP (Interaction to Next Paint)
|
|
71
|
+
- Long JavaScript tasks on main thread (break into smaller tasks <50ms)
|
|
72
|
+
- Heavy event handlers (debounce, use requestAnimationFrame)
|
|
73
|
+
- Excessive DOM size (>1,500 elements is concerning)
|
|
74
|
+
- Third-party scripts hijacking main thread
|
|
75
|
+
- Synchronous XHR or localStorage operations
|
|
76
|
+
- Layout thrashing (multiple forced reflows)
|
|
77
|
+
|
|
78
|
+
### CLS (Cumulative Layout Shift)
|
|
79
|
+
- Images/iframes without width/height dimensions
|
|
80
|
+
- Dynamically injected content above existing content
|
|
81
|
+
- Web fonts causing layout shift (use font-display: swap + preload)
|
|
82
|
+
- Ads/embeds without reserved space
|
|
83
|
+
- Late-loading content pushing down the page
|
|
84
|
+
|
|
85
|
+
## Optimization Priority
|
|
86
|
+
|
|
87
|
+
1. **LCP**: Most impactful for perceived performance
|
|
88
|
+
2. **CLS**: Most common issue affecting user experience
|
|
89
|
+
3. **INP**: Matters most for interactive applications
|
|
90
|
+
|
|
91
|
+
## Tools
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
# PageSpeed Insights API
|
|
95
|
+
curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=URL&key=API_KEY"
|
|
96
|
+
|
|
97
|
+
# Lighthouse CLI
|
|
98
|
+
npx lighthouse URL --output json --output-path report.json
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
## Performance Tooling Updates (2025)
|
|
102
|
+
|
|
103
|
+
- **Lighthouse 13.0** (October 2025): Major audit restructuring with reorganized performance categories and updated scoring weights. Lighthouse is a lab tool (simulated conditions): always cross-reference with CrUX field data for real-world performance.
|
|
104
|
+
- **CrUX Vis** replaced the CrUX Dashboard (November 2025). The old Looker Studio dashboard was deprecated. Use [CrUX Vis](https://cruxvis.withgoogle.com) or the CrUX API directly.
|
|
105
|
+
- **LCP subparts** added to CrUX (February 2025): Time to First Byte (TTFB), resource load delay, resource load time, and element render delay are now available as sub-components of LCP in CrUX data.
|
|
106
|
+
- **Google Search Console 2025 features** (December 2025): AI-powered configuration for automated analysis. Branded vs. non-branded queries filter. Hourly data available in API. Custom chart annotations. Social channels tracking.
|
|
107
|
+
|
|
108
|
+
> **Mobile-first indexing** is 100% complete as of July 5, 2024. Google now crawls and indexes ALL websites exclusively with the mobile Googlebot user-agent. Ensure your mobile version contains all critical content, structured data, and meta tags.
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
# E-E-A-T Evaluation Framework
|
|
2
|
+
## Updated per Google Quality Rater Guidelines: September 11, 2025
|
|
3
|
+
## Plus December 2025 Core Update Implications
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
E-E-A-T = **E**xperience, **E**xpertise, **A**uthoritativeness, **T**rustworthiness
|
|
8
|
+
|
|
9
|
+
Trustworthiness is the most important factor. It is assessed based on the
|
|
10
|
+
other three signals plus direct trust indicators.
|
|
11
|
+
|
|
12
|
+
## CRITICAL: December 2025 Core Update
|
|
13
|
+
|
|
14
|
+
> **E-E-A-T now applies to ALL competitive queries, not just YMYL.**
|
|
15
|
+
|
|
16
|
+
The December 2025 core update was described as a "watershed moment" that:
|
|
17
|
+
- Extended E-E-A-T evaluation to virtually all competitive queries
|
|
18
|
+
- Made author attribution standards tighter across all categories
|
|
19
|
+
- Penalized anonymous or generic authorship even for non-YMYL content
|
|
20
|
+
- Significantly improved AI content quality detection
|
|
21
|
+
|
|
22
|
+
**Impact by industry:**
|
|
23
|
+
| Industry | Traffic Drops |
|
|
24
|
+
|----------|--------------|
|
|
25
|
+
| Affiliate sites | 71% average decline |
|
|
26
|
+
| Health/YMYL | 67% average decline |
|
|
27
|
+
| E-commerce | 52% average decline |
|
|
28
|
+
|
|
29
|
+
**Key takeaway:** Even entertainment and lifestyle content now requires demonstrated expertise. Generic content no longer ranks.
|
|
30
|
+
|
|
31
|
+
## YMYL (Your Money or Your Life)
|
|
32
|
+
|
|
33
|
+
Topics requiring **highest** E-E-A-T standards (but E-E-A-T now matters everywhere):
|
|
34
|
+
- Health and safety
|
|
35
|
+
- Financial advice and transactions
|
|
36
|
+
- Legal information
|
|
37
|
+
- News and current events
|
|
38
|
+
- **Elections and civic trust** (added Sept 2025)
|
|
39
|
+
- **Democratic processes** (added Sept 2025)
|
|
40
|
+
- Groups of people (potential for harm)
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Experience (Weight: 20%)
|
|
45
|
+
|
|
46
|
+
First-hand knowledge and personal involvement with the topic.
|
|
47
|
+
|
|
48
|
+
### Signals to Check
|
|
49
|
+
- [ ] Author has demonstrable first-hand experience with the topic
|
|
50
|
+
- [ ] Content includes original photos, screenshots, or data
|
|
51
|
+
- [ ] Case studies or real-world examples with specific details
|
|
52
|
+
- [ ] Personal process documentation or methodology descriptions
|
|
53
|
+
- [ ] Before/after results or outcome data
|
|
54
|
+
- [ ] Specific anecdotes that couldn't be fabricated
|
|
55
|
+
|
|
56
|
+
### Scoring
|
|
57
|
+
- **Strong**: Multiple first-hand experience signals, original content
|
|
58
|
+
- **Moderate**: Some personal experience evident
|
|
59
|
+
- **Weak**: Generic information, no personal touch
|
|
60
|
+
- **None**: Clearly AI-generated or scraped content
|
|
61
|
+
|
|
62
|
+
---
|
|
63
|
+
|
|
64
|
+
## Expertise (Weight: 25%)
|
|
65
|
+
|
|
66
|
+
Formal qualifications, training, and demonstrated knowledge.
|
|
67
|
+
|
|
68
|
+
### Signals to Check
|
|
69
|
+
- [ ] Author credentials relevant to topic (bio, certifications)
|
|
70
|
+
- [ ] Technical accuracy and depth appropriate for audience
|
|
71
|
+
- [ ] Claims supported by evidence or sources
|
|
72
|
+
- [ ] Specialized vocabulary used correctly
|
|
73
|
+
- [ ] Up-to-date with current developments in the field
|
|
74
|
+
- [ ] Byline with author name and credentials visible
|
|
75
|
+
|
|
76
|
+
### Scoring
|
|
77
|
+
- **Strong**: Verified credentials, deep technical accuracy
|
|
78
|
+
- **Moderate**: Demonstrable knowledge, some credentials
|
|
79
|
+
- **Weak**: Surface-level information, no credentials
|
|
80
|
+
- **None**: Factual errors, misinformation
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Authoritativeness (Weight: 25%)
|
|
85
|
+
|
|
86
|
+
Recognition by others as a go-to source.
|
|
87
|
+
|
|
88
|
+
### Signals to Check
|
|
89
|
+
- [ ] Site recognized as authority in its niche
|
|
90
|
+
- [ ] Author recognized as expert (external citations, speaking, publications)
|
|
91
|
+
- [ ] Content cited by other authoritative sources
|
|
92
|
+
- [ ] Industry awards, certifications, or accreditations
|
|
93
|
+
- [ ] Consistent publication history in the topic area
|
|
94
|
+
- [ ] Featured in reputable media outlets
|
|
95
|
+
- [ ] Professional affiliations
|
|
96
|
+
|
|
97
|
+
### Scoring
|
|
98
|
+
- **Strong**: Widely recognized authority, cited by others
|
|
99
|
+
- **Moderate**: Growing recognition, some external validation
|
|
100
|
+
- **Weak**: No external recognition
|
|
101
|
+
- **None**: Negative reputation, known for misinformation
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Trustworthiness (Weight: 30%)
|
|
106
|
+
|
|
107
|
+
The most important factor, overall reliability and transparency.
|
|
108
|
+
|
|
109
|
+
### Signals to Check
|
|
110
|
+
- [ ] Clear contact information (physical address, phone, email)
|
|
111
|
+
- [ ] Privacy policy and terms of service
|
|
112
|
+
- [ ] HTTPS with valid certificate
|
|
113
|
+
- [ ] Transparent about who creates content and why
|
|
114
|
+
- [ ] Customer reviews and testimonials
|
|
115
|
+
- [ ] Corrections and update history visible
|
|
116
|
+
- [ ] No deceptive practices (hidden ads, clickbait)
|
|
117
|
+
- [ ] Secure payment processing (for e-commerce)
|
|
118
|
+
- [ ] Return/refund policy visible
|
|
119
|
+
|
|
120
|
+
### Scoring
|
|
121
|
+
- **Strong**: Full transparency, verified business, positive reputation
|
|
122
|
+
- **Moderate**: Good trust signals, minor gaps
|
|
123
|
+
- **Weak**: Missing key trust signals
|
|
124
|
+
- **None**: Deceptive practices, scam indicators
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## September 2025 QRG Updates
|
|
129
|
+
|
|
130
|
+
### AI Content Assessment
|
|
131
|
+
Raters now formally evaluate whether content appears AI-generated:
|
|
132
|
+
- AI content is **acceptable** if it demonstrates genuine E-E-A-T
|
|
133
|
+
- Low-quality AI content (generic, no unique value) is penalized
|
|
134
|
+
- The presence of AI-generated content is not inherently penalizing
|
|
135
|
+
- What matters: does the content provide unique value regardless of creation method?
|
|
136
|
+
|
|
137
|
+
### Markers of Low-Quality AI Content
|
|
138
|
+
- Generic phrasing without specificity
|
|
139
|
+
- Lack of original insight or unique perspective
|
|
140
|
+
- No first-hand experience signals
|
|
141
|
+
- Factual inaccuracies
|
|
142
|
+
- Repetitive structure across multiple pages
|
|
143
|
+
- No author attribution or expertise signals
|
|
144
|
+
|
|
145
|
+
### New Spam Categories
|
|
146
|
+
- **Expired domain abuse**: Buying expired domains for their backlinks
|
|
147
|
+
- **Site reputation abuse**: Using reputable site to host low-quality content
|
|
148
|
+
- **Scaled content abuse**: Mass-producing content without value
|
|
149
|
+
|
|
150
|
+
### AI Overview Evaluation
|
|
151
|
+
Raters assess quality of AI-generated summaries in search results.
|
|
152
|
+
|
|
153
|
+
### RSL 1.0 (Really Simple Licensing)
|
|
154
|
+
New machine-readable content licensing standard (December 2025) for AI training:
|
|
155
|
+
- Backed by: Reddit, Yahoo, Medium, Quora, Cloudflare, Akamai, Creative Commons
|
|
156
|
+
- Allows publishers to specify AI licensing terms
|
|
157
|
+
- Augments robots.txt for AI-specific permissions
|
|
158
|
+
|
|
159
|
+
---
|
|
160
|
+
|
|
161
|
+
## Experience Signals Are Critical Differentiators
|
|
162
|
+
|
|
163
|
+
The December 2025 update elevated the "Experience" dimension as a key differentiator:
|
|
164
|
+
- First-person narrative ("I tested this...", "In my experience...")
|
|
165
|
+
- Original photos and screenshots (not stock images)
|
|
166
|
+
- Specific examples with verifiable details
|
|
167
|
+
- Process documentation showing actual work done
|
|
168
|
+
|
|
169
|
+
**Why:** AI can generate expertise-sounding content but cannot fabricate genuine experience.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Overall Scoring Guide
|
|
174
|
+
|
|
175
|
+
| Score | Description |
|
|
176
|
+
|-------|-------------|
|
|
177
|
+
| 90-100 | Exceptional E-E-A-T, authority site, recognized expert, full transparency |
|
|
178
|
+
| 70-89 | Strong E-E-A-T, demonstrated expertise, good trust signals |
|
|
179
|
+
| 50-69 | Moderate E-E-A-T, some signals, room for improvement |
|
|
180
|
+
| 30-49 | Weak E-E-A-T, minimal signals, significant gaps |
|
|
181
|
+
| 0-29 | Very low E-E-A-T, no visible signals, potential trust issues |
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
## Improvement Recommendations by Score
|
|
186
|
+
|
|
187
|
+
### 0-29 (Critical)
|
|
188
|
+
1. Add contact information and about page
|
|
189
|
+
2. Establish author identity with credentials
|
|
190
|
+
3. Implement HTTPS
|
|
191
|
+
4. Remove deceptive elements
|
|
192
|
+
|
|
193
|
+
### 30-49 (Major)
|
|
194
|
+
1. Add author bios with credentials
|
|
195
|
+
2. Include first-hand experience content
|
|
196
|
+
3. Get external citations/mentions
|
|
197
|
+
4. Add customer testimonials
|
|
198
|
+
|
|
199
|
+
### 50-69 (Moderate)
|
|
200
|
+
1. Deepen content with original research
|
|
201
|
+
2. Build topical authority through content clusters
|
|
202
|
+
3. Pursue industry recognition
|
|
203
|
+
4. Document processes and methodologies
|
|
204
|
+
|
|
205
|
+
### 70-89 (Minor)
|
|
206
|
+
1. Maintain freshness with regular updates
|
|
207
|
+
2. Expand author presence across platforms
|
|
208
|
+
3. Pursue speaking/publication opportunities
|
|
209
|
+
4. Add video/multimedia demonstrating expertise
|
|
210
|
+
|
|
211
|
+
### 90-100 (Maintenance)
|
|
212
|
+
1. Continue publishing high-quality content
|
|
213
|
+
2. Monitor and respond to reputation issues
|
|
214
|
+
3. Keep credentials and certifications current
|