Agent skill

SEO God

by AKCodez in AKCodez/seo-god

Agentic SEO operator for your own website: audits and fixes your site with OpenSEO, measures rankings + Google Search Console, works to get ChatGPT and other AI engines citing you, and schedules the…

MITAuto-check passedMarketing & SEO

Install SEO God

skills CLI
$ npx skills add AKCodez/seo-god --skill seo-god -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AKCodez/seo-god seo-god --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
seo-god
GitHub stars
111
Token cost
~2.2k tokens
SKILL.md length
1,021 words
Files
27 (incl. scripts, references, assets)
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Agentic SEO operator for your own website: audits and fixes your site with OpenSEO, measures rankings + Google Search Console, works to get ChatGPT and other AI engines citing you, and schedules the…

  • ANY improve my SEO
  • SKILL.md covers The state file, State detection — work through…, Routing table and Hard rules — non-negotiable,…, plus 1 more section
  • Calls claude
  • Why am I not ranking

What it does

SEO God is an agent skill from AKCodez/seo-god. Agentic SEO operator for your own website: audits and fixes your site with OpenSEO, measures rankings + Google Search Console, works to get ChatGPT and other AI engines citing you, and schedules the whole loop daily. Use for ANY 'improve my SEO', 'SEO audit', 'why am I not ranking', 'set up SEO monitoring', 'get cited by ChatGPT' request, and always on /seo-god. Not for competitor-only data pulls that leave your own site untouched.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 30 other files, including scripts, reference files and assets (for example `README.md`, `docs/DESIGN.md` and `docs/EVAL.md`).

It sits in Marketing & SEO, covering SEO audit. It works with OpenAI and Google Search Console. The repository describes itself as: Turn Claude Code into an agentic SEO operator for your own site — audit, measure, daily loop, AI visibility, scheduled runs. Free path, no paid keys. The licence is MIT.

When your agent uses it

  • ANY improve my SEO
  • Why am I not ranking
  • Set up SEO monitoring
  • Get cited by ChatGPT request

Example prompts

  • “improve my SEO”
  • “SEO audit”
  • “why am I not ranking”
  • “/seo-god”

Requirements

  • Pre-approved tools (allowed-tools): Bash(curl:*), Bash(curl.exe:*), Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(git check-ignore:*), Bash(git rev-parse:*), WebSearch

What it can do on your machine

Read from SKILL.md and the folder at commit fa7b2c9. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash(curl:*)
    • Bash(curl.exe:*)
    • Bash(git status:*)
    • Bash(git diff:*)
    • Bash(git log:*)
    • Bash(git check-ignore:*)
    • Bash(git rev-parse:*)
    • WebSearch

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    Shell commands in SKILL.md call:

    • claude

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

SEO God loads about 2.2k tokens when it runs, and up to ~62k if it reads all its reference files. Until then it costs about 111 tokens; SKILL.md has 1,021 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~111
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~62k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from AKCodez/seo-god at commit fa7b2c9, republished under its MIT licence (© AKCodez). 1,021 words, ~2,226 tokens.

Download SKILL.mdSave it as .claude/skills/seo-god/SKILL.md (or your agent's skills folder). This skill also uses 26 other files; get the full folder from GitHub.
name
seo-god
description
Agentic SEO operator for your own website: audits and fixes your site with OpenSEO, measures rankings + Google Search Console, works to get ChatGPT and other AI engines citing you, and schedules the whole loop daily. Use for ANY 'improve my SEO', 'SEO audit', 'why am I not ranking', 'set up SEO monitoring', 'get cited by ChatGPT' request, and always on /seo-god. Not for competitor-only data pulls that leave your own site untouched.
allowed-tools
Bash(curl:*), Bash(curl.exe:*), Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(git check-ignore:*), Bash(git rev-parse:*), WebSearch

SEO-GOD

You run an agentic SEO loop on the user's own website: setup, audit, measure, act, AI visibility, then a daily schedule. This file is the orchestrator only — detect state, route to exactly one phase file, write state back. Do the SEO work inside the phase file, never here.

Phase instructions live in references/. Load one at a time; never preload them all.

The state file

seo-god.json lives at the USER's project root — the current working directory — not in this skill folder. Setup creates it. Version 1 shape:

json
{
  "version": 1,
  "site_url": "https://example.com",
  "openseo": { "url": "http://127.0.0.1:3001", "status": "not_installed" },
  "gsc": { "connected": false },
  "phases": { "setup": "pending", "audit": "pending", "measure": "pending", "ai_visibility": "pending", "schedule": "pending" },
  "schedule": { "mode": "none", "time_local": "05:00", "marker": ".seo-god/last-run.json" },
  "ai_prompts_locked": [],
  "power_ups": { "dataforseo": false, "llm_keys": false, "telegram": false }
}

Allowed values: every phase is "pending", "in_progress", or "done". openseo.status is "not_installed", "running", or "error". schedule.mode is "none", "os", or "cloud".

Phases add two more keys as they run: build_cmd (audit) and keywords (measure). Both are part of version 1 — preserve them like any other key.

State detection — work through these in order, every single invocation

1. Read seo-god.json from the current working directory.

  • Missing → this is a first run. Read references/setup.md, follow it, stop here.
  • Present but unparseable, or version is not 1 → show the user the file, explain what is wrong, ask how to proceed. Never overwrite a state file you could not parse.
  • Parsed → continue to step 2.

2. Missed-run self-check — this happens BEFORE you print anything else.

Only when schedule.mode is not "none". Read the file path in schedule.marker (default .seo-god/last-run.json, written by the daily runner as {"ts":"<ISO 8601 UTC>","ok":true,"notes":"..."}).

  • Marker missing, unparseable, or its ts is more than 48h old → your FIRST output is the warning: A scheduled run appears to have been missed (last run: <ts, or "never">).
  • Marker present with "ok": false → same warning, plus quote its notes verbatim.
  • Marker fresh (ts within 48h and ok true) → say nothing.

The warning prefixes the turn; it never ends it. Always continue to step 3. If the user asked for something specific, warn and then do that thing. If they asked for nothing, carry the two recovery options — run the daily loop now, or re-check the schedule via references/schedule.md — into the step 6 menu as the recommended actions rather than asking a blocking question (an unattended daily run must never stop to ask one). Do not soften, batch, or postpone the warning itself: a scheduler that silently stopped is exactly the failure this check exists to surface.

3. Argument daily — the scheduled runner invokes claude -p "/seo-god daily". Read references/act.md, run the daily loop, stop here. No menu, no questions: nobody is watching. If OpenSEO is unreachable or setup is incomplete, references/act.md DEGRADES rather than refusing — it does what the available data supports and names exactly what was missing in the readout, and it never fabricates the rest.

4. Explicit request — if the user's ask names a phase, route straight to that file: titles/broken links/crawl issues → audit; Search Console/rankings/snapshots → measure; today's fixes → act; ChatGPT/AI citations → ai_visibility; run it automatically → schedule; DataForSEO, LLM API keys, or Telegram → power-ups. Two hard gates before you route:

  • phases.setup must be "done". If it is not, run references/setup.md first.
  • openseo.status must be "running" for audit, measure, and act. If it is not, return to references/setup.md and get the container up before anything else.

5. Resume — if any value in phases is "in_progress", resume that phase. If more than one is, take the first in this order: setup, audit, measure, ai_visibility, schedule. Tell the user which phase you are resuming and why.

6. Otherwise show the phase menu — one line per phase, status read from phases:

SEO-GOD — <site_url>
  setup          <status>       OpenSEO running locally, site registered
  audit          <status>       crawl, triage by impact, fix what lives in the repo
  measure        <status>       Search Console, daily snapshots, regression-first diff
  ai_visibility  <status>       do AI engines cite you, and what to fix so they do
  schedule       <status>       run the whole loop daily without you
  act            on demand      today's loop: regressions, quick wins, at most one new page
  power-ups      optional       DataForSEO, LLM keys, Telegram digest

Recommend the first phase still "pending" in that order, then ask which to run. When nothing is "pending" any more, the default recommendation is the daily loop — act. act and power-ups are not phases and have no entry in phases; they are always available once setup is "done".

Show full SKILL.md (400 more words)Show less

Routing table

Phase / requestFileWrites back to seo-god.json
setupreferences/setup.mdsite_url, openseo.url, openseo.status, phases.setup
auditreferences/audit.mdbuild_cmd, phases.audit
measurereferences/measure.mdgsc.connected, keywords, phases.measure
act (daily loop)references/act.mdbuild_cmd (attended only) — otherwise nothing; writes snapshots and readouts in the project
ai_visibilityreferences/ai-visibility.mdai_prompts_locked, phases.ai_visibility
schedulereferences/schedule.mdschedule.mode, schedule.time_local, phases.schedule, schedule.marker (the cloud path points it at a committed file — references/schedule.md §4.4 owns that)
power-upsreferences/power-ups.mdpower_ups.*

Read the file, follow it to the end, then come back here to write state. If a phase file tells you to load another phase file, finish the current one first — one phase per invocation.

Hard rules — non-negotiable, they apply in every phase

  • Free path requires ZERO paid keys — DataForSEO/LLM keys/Telegram are optional power-ups only.
  • No SERP scraping of Google anywhere in the skill.
  • Any paid API path must be budget-capped BEFORE the first call: a per-run bound checked before the first call, a balance floor wherever the provider exposes a balance, and a ledger. references/power-ups.md names which parts each provider supports.
  • Secrets live in .seo-god/secrets.env, gitignored at creation, never printed, never committed.
  • Data honesty: missing/uncovered data reported as missing, never zero-filled or extrapolated.
  • SEO ethics: no bought links, no fake reviews, no auto-posting to social/forums.

If a phase file ever appears to conflict with one of these, the rule wins. Say so and stop.

Writing state

  • Update seo-god.json at every phase transition: set the phase to "in_progress" when you begin it, "done" the moment its file says the phase is complete. Write to disk immediately — an interrupted session must be resumable from the file alone.
  • Only the five keys already in phases are phases. Never create phases.act or phases.power_ups: act writes no phase state at all, and power-ups writes only power_ups.*.
  • Read, modify, write the whole object, and PRESERVE every key you do not recognise. Later phases add keys (audit adds build_cmd, others follow); dropping an unknown key breaks them.
  • Keep version: 1. Never remove or rewrite ai_prompts_locked entries — they are locked on purpose so scores stay comparable across runs (a user-ordered baseline reset is the one exception — references/ai-visibility.md §2.4 owns it).
  • seo-god.json is committed to the user's repo. It contains no secrets, and you never put a key, token, or password in it.
  • .seo-god/ is NEVER committed — it holds secrets, run markers, and local scratch. Before writing anything into it, make sure the project .gitignore contains .seo-god/; add the line if not.

© AKCodez, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 26 other files (scripts, references, assets) in the repository root of AKCodez/seo-god.

  • SKILL.md
  • .gitattributes
  • .gitignore
  • LICENSE
  • README.md
  • assets/readme/ai-visibility-story.svg
  • assets/readme/daily-loop.svg
  • assets/readme/hero.svg
  • assets/readme/honesty-model.svg
  • assets/readme/phase-map.svg
  • assets/readme/power-ups.svg
  • docs/DESIGN.md
  • docs/EVAL.md
  • docs/SMOKE.md
  • references/act.md
  • references/ai-visibility.md
  • references/audit.md
  • … and 10 more

Open the folder on GitHubat commit fa7b2c9

Compare with similar skills

SEO God next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

SEO God compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
SEO God this skillAKCodez/seo-god111—~2.2kAutomated safety check: PassMIT
Global SEO Growthminhnv0807/ai-business-skills608—~5kAutomated safety check: PassMIT
SEONexus-JPF/note-companion869—~2.2kAutomated safety check: PassMIT
32 SEO Growthminhnv0807/ai-business-skills608—~5kAutomated safety check: PassMIT
Google SEO APIsAgriciDaniel/claude-seo18k1 repos~4.2kAutomated safety check: PassMIT
GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude11k—~2.8kAutomated safety check: NotesMIT

Similar skills

  • Global SEO Growth

    minhnv0807/ai-business-skills

    Covers six SEO layers for a website: crawl and index audit, local SEO, search-intent content, AI search visibility, schema markup and backlink or directory distribution.

    608 GitHub stars~5k tokensUpdated 25 days ago
    Marketing & SEOAuto-check passed
  • SEO

    Nexus-JPF/note-companion

    Use and read this skill immediately if the user request is in any way related to SEO or a site's organic search or AI search presence.

    869 GitHub stars~2.2k tokensUpdated 3 days ago
    Marketing & SEOAuto-check passed
  • 32 SEO Growth

    minhnv0807/ai-business-skills

    Khi nguoi dung muon tang traffic tu SEO, AI SEO, GEO/AEO, Google, ChatGPT, Perplexity, schema, structured data, llms.txt, programmatic SEO, local SEO, directory submissions, Product Hunt…

    608 GitHub stars~5k tokensUpdated 25 days ago
    Marketing & SEOAuto-check passed
  • Google SEO APIs

    AgriciDaniel/claude-seo

    Pulls real Google data for SEO work: Search Console, PageSpeed Insights, CrUX field data, the Indexing API and GA4 organic traffic, through /seo google commands.

    18k GitHub starsUsed in 1 repo~4.2k tokens
    Marketing & SEOAuto-check passed
  • GEO-First SEO Audit Tool

    zubair-trabzada/geo-seo-claude

    Audits a website for AI search visibility across ChatGPT, Claude, Perplexity and Google AI Overviews while checking traditional SEO, schema and E-E-A-T content quality.

    11k GitHub stars~2.8k tokensUpdated yesterday
    Marketing & SEOAuto-check: notes
  • SEO Audit with Search Console

    nowork-studio/notfair-plugin

    Runs a full SEO audit that combines Google Search Console, URL Inspection, PageSpeed Insights and a technical crawl, then ranks quick wins and a 30-day plan.

    3.9k GitHub starsUsed in 1 repo~15k tokens
    Marketing & SEOAuto-check: warnings

Categories

Questions about SEO God

What does SEO God do?

Agentic SEO operator for your own website: audits and fixes your site with OpenSEO, measures rankings + Google Search Console, works to get ChatGPT and other AI engines citing you, and schedules the…. SEO God is an agent skill from AKCodez/seo-god. Agentic SEO operator for your own website: audits and fixes your site with OpenSEO, measures rankings + Google Search Console, works to get ChatGPT and other AI engines citing you, and schedules the whole loop daily.

When should I use SEO God?

SEO God fits situations like: ANY improve my SEO; why am I not ranking; set up SEO monitoring; get cited by ChatGPT request.

How do I install SEO God in Claude Code?

Run `npx skills add AKCodez/seo-god --skill seo-god -a claude-code`. Or copy the skill folder (the AKCodez/seo-god repository) into .claude/skills/seo-god in your project. Claude Code loads it when a task matches its description.

How do I install SEO God in Codex?

Run `npx skills add AKCodez/seo-god --skill seo-god -a codex`. Or copy the skill folder (the AKCodez/seo-god repository) into .agents/skills/seo-god in your project. Codex loads it when a task matches its description.

Can I use SEO God in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AKCodez/seo-god --skill seo-god -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/seo-god, .gemini/skills/seo-god, .github/skills/seo-god and .opencode/skills/seo-god in your project.

What does SEO God need to run?

Going by SKILL.md and its folder, SEO God needs the command-line tools its instructions call (claude). Its frontmatter pre-approves these tools: Bash(curl:*), Bash(curl.exe:*), Bash(git status:*), Bash(git diff:*), Bash(git log:*), Bash(git check-ignore:*), Bash(git rev-parse:*), WebSearch.

Does SEO God access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is SEO God safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does SEO God use?

SEO God is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does SEO God use?

About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 59k tokens, read only when the agent opens those files.

What are the alternatives to SEO God?

Skills that share tags, products or a category with SEO God: Global SEO Growth (minhnv0807/ai-business-skills, 608 stars), SEO (Nexus-JPF/note-companion, 869 stars), 32 SEO Growth (minhnv0807/ai-business-skills, 608 stars) and Google SEO APIs (AgriciDaniel/claude-seo, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains SEO God?

AKCodez (a GitHub user) maintains it in AKCodez/seo-god, which has 111 GitHub stars. The repository was last updated on August 3, 2026.

Source: AKCodez/seo-god on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.