name: seo-core description: > Shared SEO utilities and core references. Houses critical scripts (project manager, pre-scan, score aggregator) and SEO guidelines (E-E-A-T, CWV, schema standards, quality gates) shared across all specialist skills. Loaded as a base utility. Related: seo-audit (technical), seo-writer (content), seo-geo (AI visibility) triggers: "seo kit manager, seo project core, seo settings database, seo kit base, seo health score, quality gates, eeat framework, core web vitals threshold, seo onboarding, seo checklist, seo lifecycle, search everywhere optimization"
SEO: Core Utilities & References Index
Provides shared utility scripts and core reference files for the entire SEO Kit. The active coordination of the lifecycle is handled by the seo-orchestrator agent and its associated workflows.
Why a Lifecycle Matters
Think of SEO like a medical process. You wouldn't prescribe medicine (Execute) before diagnosis (Audit), and you wouldn't diagnose without knowing the patient (Onboard). Each phase builds on the previous one because:
- Onboard first — Without brand identity and API access, audits produce generic advice
- Research before Audit — Keywords and audience data inform what to look for
- Audit before Strategy — Can't plan fixes without knowing what's broken
- Strategy before Execute — Prioritization prevents wasting effort on low-impact changes
- Monitor after Execute — The only way to prove SEO work actually helped
Skipping phases leads to: wrong priorities, wasted effort, hallucinated recommendations.
SEO Lifecycle (5 Phases + Deep Dives)
📋 ONBOARD → 🔎 RESEARCH → 🔍 AUDIT → 🧠 STRATEGY → ⚡ EXECUTE → 📈 MONITOR → (loop)
| Phase | Workflow | Skills | What it does |
|---|---|---|---|
| Master | /seo-run | Delegates | Auto-detect phase, suggest next step |
| 1. Onboard | /seo-onboard | 4 | Project setup, API check, brand identity, personas |
| Research | /seo-research | 5 | Keyword research, audience, prompt patterns, gaps |
| 2. Audit | /seo-audit | 9 | Full diagnostic, Health Score |
| 3. Strategy | /seo-strategy | 11 | Content gaps, entity, authority, off-page, roadmap |
| 4. Execute | /seo-execute | 7 | Code fixes, schema, off-page execution, content briefs |
| 5. Monitor | /seo-monitor | 6 | Experiments, AI citability, traffic |
| Special | /seo-local-suite | 2 | Local SEO + Maps (local business only) |
| Special (GEO) | /seo-llm-visibility | 5 | Generative Engine Optimization specific |
| Special (Social) | /seo-social-commerce | 4 | Zalo, TikTok, Shopee visual search |
| Utility | /seo-page | 4 | Single-page deep analysis |
Master Command: /seo-run
The primary entry point. Reads project.json, determines current phase, and suggests the next action. Never auto-executes — always waits for user approval.
Direct Skill Access
Users can always call any skill directly by name without the lifecycle:
- "Run seo-entity for example.com" → reads
seo-entity/SKILL.mddirectly - Direct calls do NOT affect the project phase state.
Phase Details
Phase 1: Onboard (/seo-onboard)
WHY: Establishes baseline — without knowing the brand, APIs, and industry, every later phase produces generic advice.
| Skill | Role |
|---|---|
seo-google | Check API credentials (GSC, GA4, PSI) |
seo-content | Brand identity, credibility, Semantic Anchor |
seo-audience | Audience personas, journey mapping, community language |
seo-plan | Industry detection, competitor discovery |
Research (/seo-research)
WHY: "What do users actually search for?" Without this data, audit findings can't be prioritized by business impact.
| Skill | Role | Condition |
|---|---|---|
seo-audience | Persona definition, journey mapping | Always |
seo-keyword | Keyword research, volume, intent, clustering | Always |
seo-prompt-research | AI prompt patterns, conversation chains | If --focus prompt or all |
seo-content-gap | Cross-reference keywords vs competitors | Always |
seo-dataforseo | Live data enrichment | v2+ only |
Phase 2: Audit (/seo-audit)
WHY: The diagnostic. Identifies what's broken, what's missing, and what's already working. Everything downstream depends on accurate diagnosis.
| Skill | Role | Condition |
|---|---|---|
seo-technical | Crawlability, indexability, security, CWV | Always |
seo-content | E-E-A-T, readability, thin content | Always |
seo-schema | Schema detection, validation | Always |
seo-sitemap | XML sitemap quality | Always |
seo-images | Image optimization | Always |
seo-hreflang | International SEO | Always |
seo-geo | AI crawler access, citability | Always |
seo-google | CWV field data, indexation | If API available |
seo-local | GBP, NAP, citations | If local business |
Phase 3: Strategy (/seo-strategy)
WHY: Turns raw audit findings into a prioritized roadmap. Without strategy, teams fix easy things instead of impactful things.
| Skill | Role | Condition |
|---|---|---|
seo-content-gap | Missing keywords, cannibalization | Always |
seo-topical-authority | Link graph, clusters, pillar gaps | Always |
seo-entity | Entity NER, Knowledge Graph | Always |
seo-authority | Cross-platform presence, depth | Always |
seo-competitor-pages | Competitor analysis, comparison pages | Always |
seo-backlink | Backlink profile, velocity monitoring, link gap | Always |
seo-offpage-planner | Off-page strategy: Guest Post, Digital PR, Open Trust/Push Top | Always |
seo-answer | AI answer eligibility, passages | Always |
seo-agentic | Action schema, WebMCP, A2A readiness | Always |
seo-programmatic | Programmatic SEO opportunities | If applicable |
seo-plan | 30/60/90 day roadmap | Always |
Phase 4: Execute (/seo-execute)
WHY: Generates actual code and content. This is where analysis becomes action — meta tags, schema JSON-LD, redirect maps, content briefs.
| Skill | Role | Condition |
|---|---|---|
seo-fix | Auto-generate meta tags, schema, robots, redirects | Always |
seo-schema | Generate missing schema | Always |
seo-content | Content briefs | Always |
seo-offpage-planner | Off-page execution: outreach tracker, PR campaign | If off-page strategy exists |
seo-migration | Redirect mapping | If migration |
seo-video | VideoObject schema, video sitemap | If video detected |
seo-image-gen | AI image generation | If extension available |
Phase 5: Monitor (/seo-monitor)
WHY: Proves ROI and catches regressions. Without monitoring, you can't tell if changes helped or if competitors overtook you.
| Skill | Role | Condition |
|---|---|---|
seo-test | A/B experiment tracking | Always |
seo-geo-monitor | AI citability scoring | Always |
seo-logs | Server log analysis, crawl budget | If logs provided |
seo-google | Traffic trends, CWV changes | If API available |
seo-backlink | Backlink growth/loss | v2+ only |
seo-migration | Post-migration health check | If migration |
Utility: /seo-page
| Skill | Role |
|---|---|
seo-page | On-page SEO elements |
seo-content | E-E-A-T scoring |
seo-schema | Schema validation |
seo-geo | AI citability |
Special: /seo-local-suite
| Skill | Role |
|---|---|
seo-local | GBP, NAP, citations, reviews, local schema |
seo-maps | Geo-grid, GBP audit, competitor radius |
Quality Gates (CRITICAL — read every time)
- Never recommend HowTo schema (deprecated Sept 2023)
- FAQ schema for Google rich results: only government and healthcare sites (Aug 2023); existing FAQPage on commercial sites → flag as Info (not Critical), noting AI/LLM citation benefit; adding new FAQPage → not recommended for Google
- All Core Web Vitals references use INP, never FID
- WARNING at 30+ location pages (enforce 60%+ unique content)
- HARD STOP at 50+ location pages (require user justification)
- Read
references/quality-gates.mdfor thin content thresholds per page type
Orchestration Logic
Auto-Routing (Natural Language)
When user sends a natural language request (no slash command), the rules/seo-auto-routing.md rule (always_on) automatically:
- Detect URLs/domains in the request
- Match SEO intent keywords (Vietnamese + English)
- Load project state if domain project exists
- Route to the correct workflow or individual skill
- Announce:
🔍 SEO Auto-routing: [intent] → [workflow/skill]
Routing Examples
| User says | Route to | Why |
|---|---|---|
| "Kiểm tra SEO example.com" | /seo-audit | "Kiểm tra" = audit intent |
| "Phân tích trang chủ example.com" | /seo-page | Single page analysis |
| "Nghiên cứu từ khóa cho example.com" | /seo-research | Keyword research intent |
| "Check backlink example.com" | seo-backlink skill | Direct skill (no workflow) |
| "Tối ưu cho AI search" | /seo-llm-visibility | GEO-specific workflow |
| "My site isn't ranking" | /seo-run | Vague → master decides phase |
Explicit Command: /seo-run
When /seo-run is invoked:
- Parse domain from URL
- Load/create
project.jsonper.agents/rules/seo-domain-project.md - Read
phasefield from project.json - Display status dashboard (phase, score, last run, history)
- Suggest next phase workflow
- Wait for user approval before executing
Direct Workflow/Skill Invocation
When a phase workflow is invoked directly (e.g., /seo-audit):
- Init/load domain project
- Activate the listed specialist skills
- Execute analysis — comply with
.agents/rules/seo-core.md - Update
project.jsonwith new phase and results - Suggest next step
Industry Detection
Detect business type from homepage signals:
- SaaS: pricing page, /features, /integrations, /docs, "free trial", "sign up"
- Local Service: phone number, address, service area, "serving [city]", Google Maps embed → auto-suggest
/seo-local-suite - E-commerce: /products, /collections, /cart, "add to cart", product schema
- Publisher: /blog, /articles, /topics, article schema, author pages, publication dates
- Agency: /case-studies, /portfolio, /industries, "our work", client logos
Utility Scripts
| Command | What it does |
|---|---|
python .agents/skills/seo-core/scripts/project_manager.py init <domain> | Initialize domain project |
python .agents/skills/seo-core/scripts/project_manager.py list | List all projects |
python .agents/skills/seo-core/scripts/project_manager.py status <domain> | Show project status |
python .agents/skills/seo-core/scripts/dashboard_generator.py | Generate cross-domain dashboard |
python .agents/skills/seo-core/scripts/trend_reporter.py <domain> | Compare runs over time |
Scoring Methodology
SEO Health Score (0-100)
Weighted aggregate of all categories:
| Category | Weight |
|---|---|
| Technical SEO | 22% |
| Content Quality | 23% |
| On-Page SEO | 20% |
| Schema / Structured Data | 10% |
| Performance (CWV) | 10% |
| AI Search Readiness | 10% |
| Images | 5% |
Priority Levels
- Critical: Blocks indexing or causes penalties (immediate fix required)
- High: Significantly impacts rankings (fix within 1 week)
- Medium: Optimization opportunity (fix within 1 month)
- Low: Nice to have (backlog)
Error Handling
| Scenario | Action |
|---|---|
| Unrecognized command | List 13 lifecycle workflows. Suggest closest match. |
| URL unreachable | Report error. Suggest user verify URL. Do not guess content. |
| Sub-skill fails during audit | Report partial results. Note failed sub-skill. Suggest re-running individually. |
| Ambiguous business type | Present top two types with signals. Ask user to confirm. |
| No audit data for execute | Error: "Run /seo-audit first to generate diagnostic data." |
| Legacy project (no phase) | Treat as "onboarded". Suggest /seo-audit. |
Reference Files
Load on-demand as needed (do NOT load all at startup):
references/cwv-thresholds.md: Core Web Vitals thresholds and measurementreferences/schema-types.md: Supported schema types with deprecation statusreferences/eeat-framework.md: E-E-A-T evaluation criteria (Sept 2025 QRG)references/quality-gates.md: Content length minimums, uniqueness thresholdsreferences/local-seo-signals.md: Local ranking factors, review benchmarksreferences/local-schema-types.md: LocalBusiness subtypes, industry-specific schemareferences/skill-index.md: Full list of all 43 sub-skills with descriptionsreferences/architecture.md: File tree structure and development rules
Maps-specific (loaded by seo-maps, not at startup):
references/maps-geo-grid.md,references/maps-gbp-checklist.md,references/maps-api-endpoints.md,references/maps-free-apis.md
Key Principles
- Lifecycle-Driven: 5-phase flow because each phase depends on the previous
- Suggest + Approve: AI never auto-executes — always waits for approval
- Progressive Disclosure: Metadata always loaded, instructions on activation, references on demand
- Industry Detection: Auto-detect SaaS, e-commerce, local, publisher, agency
- Direct Access: Users can call skills directly, bypassing lifecycle
- Extension System: DataForSEO, Banana, Ahrefs, Semrush (v2+)
- Domain Workspaces: All outputs in
.seo/folders - Namespaced Rules: All
.agents/rules/useseo-prefix to avoid conflicts - No agent.md: SEO Kit does NOT install its own
agent.mdto avoid conflicts with base kits