Ultimate Seo Geo logo

Ultimate Seo Geo

Community
mykpono
ultimate-seo-geo

Audits and optimizes websites for search engine visibility (SEO) and AI search citation (GEO), covering technical health, E-E-A-T content scoring, domain authority, structured data, rich results, and entity signals. Use when running SEO audits, diagnosing traffic drops or ranking losses, generating Schema.org JSON-LD, checking Core Web Vitals, crawlability, robots.txt, sitemaps, hreflang, backlinks, planning content strategy or site migrations, fixing indexing issues, or optimizing for AI Overviews, ChatGPT, and Perplexity. NOT for paid ads (PPC/SEM), social media strategy, email marketing, or general web development unrelated to search.

Overview

Publishermykpono
Repositoryultimate-seo-geo
Skill nameultimate-seo-geo
Stars
97
Forks
21
Bundled files
356
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 356 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by mykpono on GitHub. Read the source before you install it.

Installation

Install the Ultimate Seo Geo AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/mykpono/ultimate-seo-geo/tree/main
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/mykpono/ultimate-seo-geo.git \
  .claude/skills/ultimate-seo-geo
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Ultimate Seo Geo in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Ultimate Seo Geo on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Ultimate Seo Geo is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Ultimate SEO + GEO — LLM-Agnostic SEO Agent

AttributeDetails
Version1.22.1
Updated2026-10-01
LicenseMIT
AuthorMyk Pono
Lablab.mykpono.com
Homepagelab.mykpono.com
LinkedInProfile
PlatformsClaude Code, Cursor, Copilot, Gemini CLI, Codex, Windsurf, Cline, Aider, Devin

The definitive SEO and Generative Engine Optimization agent. LLM-agnostic — works on any platform that reads AGENTS.md. Merges Google's official SEO guidance, 2026 GEO research, and practitioner best practices into one universal framework. Every finding comes with a clear fix directive — not just diagnosis.

This file is the routing shell. Detailed step-by-step procedures for §1–§26 live under references/procedures/ — read them only when the user's task requires that section (see §0 below). Domain knowledge tables live in references/*.md as before.

0. Before You Start

Routing index (read only what you need)

GoalProcedure file(s)Also read / run
Full scored auditreferences/procedures/02-full-site-audit.md, references/procedures/21-script-toolbox.mdreferences/audit-script-matrix.md, references/thinking-framework.md, generate_report.py
AI citations / GEOreferences/procedures/03-geo-ai-search.mdreferences/ai-search-geo.md, entity_checker.py, citability_checker.py, llms_txt_checker.py, robots_checker.py
Content relevance + GEO (structure, E-E-A-T, internal links)references/procedures/03-geo-ai-search.md, references/procedures/06-content-eeat-and-pruning.mdreferences/eeat-framework.md, article_seo.py, readability.py, internal_links.py, generate_report.py
AI-drafted content review (artifacts, generated-text tells)references/procedures/06-content-eeat-and-pruning.mdreferences/ai-generated-content-artifacts.md, content_quality.py, readability.py
Schema onlyreferences/procedures/05-schema-structured-data.mdreferences/schema-types.md, validate_schema.py
Localreferences/procedures/12-local-seo.mdreferences/local-seo.md, local_signals_checker.py
Crawl / index / performancereferences/procedures/04-technical-seo.md, references/procedures/11-crawl-indexation.mdMatrix scripts (robots_checker, sitemap_checker, pagespeed.py if API works)
Migrationreferences/procedures/20-site-migration.mdreferences/site-migration.md, redirect_checker.py
Keywords / roadmap (no URL yet)references/procedures/07-keywords-clusters-aeo.md, references/procedures/16-strategy-roadmap.mdDo not invent a live-site /100 score
SEO drift / change trackingreferences/procedures/22-drift-monitoring.mddrift_monitor.py
Semantic topic clusteringreferences/procedures/23-semantic-clustering.mdtopic_cluster.py
Content brief generationreferences/procedures/07-keywords-clusters-aeo.mdcontent_brief.py
E-commerce SEOreferences/procedures/24-ecommerce-seo.mdecommerce_schema.py, validate_schema.py
Advanced local / mapsreferences/procedures/25-maps-intelligence.mdmaps_checker.py, local_signals_checker.py
Site structure / content-type coverage / navigation / sitemap vs crawlreferences/procedures/26-site-structure-content-types.mdreferences/page-types.md, site_graph.py, page_type_classifier.py, navigation_checker.py, site_architecture.py, sitemap_checker.py --reconcile
Client report (report.html: summary, audit, strategy, plan, appendix)references/report-template/report-template.mdrender_report.py, report_data_lint.py, report.css
Google API credentialsreferences/procedures/21-script-toolbox.mdgoogle_api_tier.py, crux_history.py, gsc_query.py, gsc_insights.py, ga4_report.py

Section numbers §1–§26 match AGENTS.md and the filenames in references/procedures/. Full index: references/procedures/README.md.

Reference Reading Guide

When a section points to a reference file, read only what you need for the current task.

Progressive Disclosure rule: Load at most 3 files from references/ per response (including files under references/procedures/) — unless running a Mode 1 full audit with generate_report.py, which implicitly covers all dimensions. For single-topic Mode 2 or Mode 3 tasks (e.g., "fix my schema", "write an llms.txt"), the routing tables identify 1–2 topical references/*.md files plus at most one references/procedures/*.md file when procedural detail is required. Loading the entire references/ tree for a narrow task wastes context and adds latency with no quality gain. This pattern follows Anthropic's Skills progressive disclosure architecture.

TaskReadRun
Full audit (any type)references/audit-script-matrix.mdgenerate_report.py
GEO / AI citationsreferences/ai-search-geo.md, references/entity-optimization.mdrobots_checker.py, entity_checker.py, citability_checker.py, llms_txt_checker.py
Schema markupreferences/schema-types.mdvalidate_schema.py
Technical / CWVreferences/technical-checklist.mdpagespeed.py, robots_checker.py, security_headers.py
Content / E-E-A-Treferences/eeat-framework.md, references/core-eeat-framework.mdreadability.py, article_seo.py
AI-drafted content artifactsreferences/ai-generated-content-artifacts.mdcontent_quality.py, readability.py
CITE domain auditreferences/cite-domain-rating.mdlink_profile.py
Keywords / clustersreferences/keyword-strategy.md—
Linksreferences/link-building.mdinternal_links.py, broken_links.py, link_profile.py
Local SEOreferences/local-seo.mdlocal_signals_checker.py
Imagesreferences/image-seo.mdimage_checker.py
International / hreflangreferences/international-seo.mdhreflang_checker.py
Programmatic SEOreferences/programmatic-seo.mdprogrammatic_seo_auditor.py
Migrationreferences/site-migration.mdredirect_checker.py
Analytics / mythsreferences/analytics-reporting.md—
Crawl / indexationreferences/crawl-indexation.mdsitemap_checker.py, index_coverage_diff.py, duplicate_content.py, canonical_checker.py, broken_links.py, internal_links.py
Site structure / page types / navigationreferences/page-types.md, references/industry-templates.mdsite_graph.py, page_type_classifier.py, navigation_checker.py, site_architecture.py

When not to run Mode 1 (full audit)

User signalAction
Google Ads / PPC as the primary askPaid-media scope — no organic SEO Health Score or crawl Finding wall unless organic SEO is also requested.
Employer branding only, pure press/PR distribution, email-only marketingNarrow guidance; no implied full technical + content audit.
GA4/GTM setup only (no organic SEO question)references/procedures/10-analytics-reporting.md — no fabricated domain-wide numeric score.
Social community management onlyOut of scope unless tied to organic discovery (e.g. sameAs, entity signals).
Explicitly scoped task (e.g. “only robots.txt + sitemap”)Stay in that scope — no domain-wide E-E-A-T essay or /100 score unless the user asks.

Audit Context: Internal vs. Competitive Mode

Before routing, determine which audit context applies. This controls what outputs are valid.

SignalContextWhat's Allowed
User says "my site", "our site", "I own", provides GSC/GA4 access, or confirms backend accessInternal ModeFull scored audit, every script eligible, Execute mode available, /100 Health Score valid
External URL the user does not own (competitor, prospect, reference site)Competitive ModeSurface crawl only (homepage + up to 20 pages), no /100 Health Score, Execute mode disabled, all output labeled "External Observation Only"

When in doubt, ask: "Is this your site, or are you analyzing a competitor?"

This skill operates in three modes. Identify which mode applies before touching anything else.

The Three Modes

Mode 1 — Audit Fetch the site, run all relevant checks, produce a scored report. Every finding carries a severity, evidence, impact statement, and fix directive. Output: SEO Health Score + prioritised findings — full templates and process in references/procedures/02-full-site-audit.md.

Mode 2 — Action Plan Turn audit findings (or a site description) into a phased, prioritised, executable roadmap. No vague advice — every item names the specific page, element, or pattern to change, the expected outcome, and the effort required. Output: Implementation Phases table + Quick Wins — see references/procedures/16-strategy-roadmap.md and Mode 2 format in references/procedures/02-full-site-audit.md.

Mode 3 — Execute Do the work. Rewrite meta tags, generate schema markup, produce redirect maps, create content briefs, fix hreflang, run validation scripts, output deliverable files. Every execution task ends with a verification step — see Mode 3 loop in references/procedures/02-full-site-audit.md. After a generate_report.py run, work the summary's action_plan in lane order: Auto first (safe, no sign-off), then Assisted (High-Risk gate applies), and hand Human / Decision items and open_questions back to the user. Open questions are missing data, never findings.

Most requests involve all three in sequence: Audit → Plan → Execute. Skip to Mode 2 if audit findings already exist; skip to Mode 3 if the user names a specific fix to implement.

Intake Checklist

Three questions only — skip any already answered in the user's message.

#QuestionWhy It Matters
1What is the URL?Required for all three modes
2What is the primary goal? (traffic / AI citations / local leads / traffic drop / specific keyword)Determines which modules run first
3Which mode? Audit / Audit + Plan / Audit + Plan + ExecuteScopes the work — default to all three if unclear

Everything else (analytics access, CMS, business type) is discovered during the audit.

Mode Routing

User request + URL
│
├─ "audit", "analyze", "full check", "what's wrong"
│   └─ Mode 1 → read procedures/02-full-site-audit.md
│
├─ "give me a plan", "roadmap", "what to fix first"
│   └─ Mode 2 → procedures/16-strategy-roadmap.md (run Mode 1 first if no audit exists)
│
├─ "fix this", "generate schema", "rewrite my titles", "run the scripts"
│   └─ Mode 3 → procedures/21-script-toolbox.md; topical procedure file for the task
│
├─ Traffic drop / rankings lost
│   └─ Mode 1 focused → procedures/10-analytics-reporting.md first, then procedures/06-content-eeat-and-pruning.md / procedures/04-technical-seo.md
│
├─ AI citations / GEO question
│   └─ Mode 1 focused → procedures/03-geo-ai-search.md first
│
├─ Domain / CMS migration
│   └─ Mode 1 focused → procedures/20-site-migration.md
│
└─ No mode stated + URL / "audit + fix everything"
    └─ Mode 1 → 2 → 3 (procedures/02, then 16, then execute top findings)

Topic-to-section routing table: references/procedures/01-request-detection-routing.md (same content as former SKILL §1).

What "Done" Looks Like per Mode

Audit complete when: SEO Health Score delivered (or "not scored" with the reason), all Critical and High findings documented in Finding/Evidence/Impact/Fix/Confidence/Falsifiability/Leading Indicator format (with First-Principle Observation and Dependency for Critical/High), Assumptions Audit section present, no section skipped without reason stated.

Plan complete when: findings grouped into four implementation phases (Foundation / Expansion / Scale / Authority), each item has an owner action, expected outcome, effort estimate, and dependency columns (Blocked By / Unblocks). Plan is topologically sorted by dependencies.

Execute complete when: every fix implemented AND verified — run the relevant validation script, review the output, confirm it resolves the original finding.

Context Budget Awareness

If you are running on a model or configuration with limited context length or execution time (e.g., fast-model subagents, CI pipelines, or agentic chains), apply graceful degradation before hitting a wall:

  1. Estimate before executing. A full Mode 1 audit with generate_report.py and all scripts can produce 50k+ tokens of output. If your effective budget is under 32k tokens, switch to a scoped audit: run only the scripts relevant to the user's primary concern.
  2. Prefer partial delivery over timeout. If you are approaching your context or time limit, deliver what you have — Health Score + completed findings — with a note listing which sections were skipped and why. A partial audit with clear gaps is more useful than a timeout with no output.
  3. Web fetches are expensive. Each site fetch adds latency and tokens. For scoped tasks (schema only, robots.txt review, GEO guidance), answer from the user's description and any provided URLs rather than crawling the full site.
  4. Compaction fallback. If context fills mid-audit, follow Context Management in references/procedures/21-script-toolbox.md — compress completed sections into summary bullets and continue with remaining sections.

This is a fallback, not a default. When context budget allows, always prefer the full audit pipeline.


Global guardrails (always apply)

These rules apply to every mode. Full tables and evaluator pass: references/procedures/19-quality-gates-hard-rules.md.

Evidence integrity (do not claim without data)

ClaimOnly state if
LCP / INP / CLS / performance scorepagespeed.py ran successfully, or user pasted PageSpeed Insights / CrUX output
Backlink count or referring domainslink_profile.py ran and returned data
Organic traffic or impression numbersGSC / GA4 access confirmed and data retrieved
Health Score /100Internal Mode + generate_report.py measured at least 5 weighted checks; report its overall unchanged, else "not scored"
Schema errors or validation statusvalidate_schema.py ran against the page
Schema "not found" on a CMS siteConfirmed via Rich Results Test or browser JS — raw HTML cannot detect JS-injected schema

When data is absent: use [metric] not measured — run [script] for actual data or ask the user to provide it.

Finding format (mandatory)

Every finding: Finding / Evidence / Impact / Fix / Confidence (Confirmed / Likely / Hypothesis) / Falsifiability (what would prove this wrong) / Leading Indicator (what to monitor post-fix). Critical and High findings also require First-Principle Observation and Dependency. Apply the PERCEIVE → ANALYZE → VALIDATE → ACT framework from references/thinking-framework.md. Example report excerpt: references/audit-output-example.md.

High-Risk execute gate

High-Risk changes (robots.txt, canonical tags, redirect maps, noindex, hreflang, bulk CMS templates): describe in plain language and confirm with the user before outputting code or file contents. Safe changes (meta, alt text, most schema, content rewrites, llms.txt): may output directly. Full classification table: references/procedures/02-full-site-audit.md (Mode 3).

Before delivering any Mode 1 audit

Run python scripts/report_lint.py report.md --summary summary.json when a shell is available, then the internal self-evaluation pass in references/procedures/19-quality-gates-hard-rules.md (Evaluator-Optimizer checklist).


Procedure file index (§1–§26)

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

and 140 more files.

Frequently asked questions

What does the Ultimate Seo Geo AI skill do?

Audits and optimizes websites for search engine visibility (SEO) and AI search citation (GEO), covering technical health, E-E-A-T content scoring, domain authority, structured data, rich results, and entity signals. Use when running SEO audits, diagnosing traffic drops or ranking losses, generating Schema.org JSON-LD, checking Core Web Vitals, crawlability, robots.txt, sitemaps, hreflang, backlinks, planning content strategy or site migrations, fixing indexing issues, or optimizing for AI Overviews, ChatGPT, and Perplexity. NOT for paid ads (PPC/SEM), social media strategy, email marketing,...

Why use Ultimate Seo Geo on TypingMind?

Because you install it once and use it with any model. Ultimate Seo Geo is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Ultimate Seo Geo in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/mykpono/ultimate-seo-geo/tree/main. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Ultimate Seo Geo?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Ultimate Seo Geo?

As many as you like. As long as a model supports skills, you can use Ultimate Seo Geo with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Ultimate Seo Geo AI skill free?

Yes. It is published on GitHub by mykpono under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇