Agent skill

Geo Loop

by mverab in mverab/eGEOagents

Run one bounded eGEOagents loop iteration over a workspace domain - read the charter and fresh collector data, do ONE unit of work, write substrate artifacts, append one Timeline entry and one LOG…

MITAuto-check passedMarketing & SEO

Install Geo Loop

skills CLI
$ npx skills add mverab/eGEOagents --skill geo-loop -a claude-code

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

GitHub CLI
$ gh skill install mverab/eGEOagents geo-loop --agent claude-code

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

Manual copy
$ git clone --depth 1 https://github.com/mverab/eGEOagents.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/geo-loop .claude/skills/geo-loop && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

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

Facts

Skill name
geo-loop
GitHub stars
197
Token cost
~1.5k tokens
SKILL.md length
736 words
Files
1
Skills in repo
5
Repo updated
First seen
Licence
MIT

At a glance

Run one bounded eGEOagents loop iteration over a workspace domain - read the charter and fresh collector data, do ONE unit of work, write substrate artifacts, append one Timeline entry and one LOG…

  • Works in 6 steps: Resolve the plan → Read the state → Do the work → …
  • Scheduled GEO runs
  • SKILL.md covers Non-negotiables, Procedure, Collectors and Common mistakes
  • Calls python; needs BRAVE_API_KEY

What it does

Geo Loop is an agent skill from mverab/eGEOagents. Run one bounded eGEOagents loop iteration over a workspace domain - read the charter and fresh collector data, do ONE unit of work, write substrate artifacts, append one Timeline entry and one LOG line. Use for loop mode, /geo:loop, scheduled GEO runs, or continuous monitoring.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Marketing & SEO, covering AI search optimization. The repository describes itself as: Open-source Generative Engine Optimization (GEO) & Answer Engine Optimization (AEO) toolkit — optimize content to rank in ChatGPT, Perplexity, Gemini & Claude. AI SEO / LLM SEO… The licence is MIT.

When your agent uses it

  • Scheduled GEO runs
  • Continuous monitoring

Example prompts

  • “/geo-loop”

Requirements

  • Python 3
  • A credential in BRAVE_API_KEY

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Resolve the plan
  2. Read the state
  3. Do the work
  4. Write artifacts (SUBSTRATE.md)
  5. Close the run
  6. Verify, then exit

What it can do on your machine

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

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python

    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 these keys or tokens, usually read from environment variables:

    • BRAVE_API_KEY

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

Context cost

Geo Loop loads about 1.5k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 736 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~72
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from mverab/eGEOagents at commit 58ee654, republished under its MIT licence (© mverab). 736 words, ~1,543 tokens.

Download SKILL.mdSave it as .claude/skills/geo-loop/SKILL.md (or your agent's skills folder).
name
geo-loop
description
Run one bounded eGEOagents loop iteration over a workspace domain - read the charter and fresh collector data, do ONE unit of work, write substrate artifacts, append one Timeline entry and one LOG line. Use for loop mode, /geo:loop, scheduled GEO runs, or continuous monitoring.

GEO Loop Skill

One wake-up = one bounded unit of work. This skill governs loop mode only; one-shot /geo <url> is unchanged and needs no workspace.

Non-negotiables

  1. Never write to the eGEOagents repo tree. Every write goes to the workspace resolved from $EGEO_HOME (default ~/.egeo/).
  2. One unit of work per run. Take the domain's ## Current focus, or the first Backlog item if focus is already satisfied. Do not batch.
  3. Exactly one Timeline entry and exactly one LOG.md line per run.
  4. Write, then verify. Re-read every file you wrote before exiting.
  5. Never fabricate. Rankings, competitors, and metrics come from collector JSONL under data/ or from a tool call in this session. A claim you cannot cite is confidence: low with the uncertainty stated in the body.
  6. Append-only history. Never edit or delete an existing Timeline entry or LOG line.

Procedure

1. Resolve the plan
bash
egeo loop run <domain> --dry-run

This is the source of truth for the run: it prints the charter's current focus, the backlog, collector records added since the last Timeline entry, and candidate signals. It writes nothing. Use --json when you want to parse it.

If it exits non-zero, stop and report — the workspace or the domain charter is not in a runnable state (egeo loop doctor explains why).

2. Read the state
  • $EGEO_HOME/domains/<domain>/README.md — charter, cadence, focus, backlog, Timeline (the last entry tells you where the previous run stopped).
  • $EGEO_HOME/project.yaml — when present, the validated project identity, canonical domain, tracked queries/pages, and anti-spam/canibalization guardrails. egeo loop doctor is the source of truth for its validity.
  • $EGEO_HOME/data/<collector>/*.jsonl — fresh ground truth.
  • $EGEO_HOME/signals/ and $EGEO_HOME/docs/ — what is already known, so you dedupe instead of duplicating.
  • $EGEO_HOME/config.yaml — models, budgets, reflect.auto_apply.
  • $EGEO_HOME/data/outcomes/ledger.jsonl — append-only decision outcomes when egeo loop decide has run.
3. Do the work

Pick the single unit of work and execute it with the existing GEO capability — the content-scoring, competitive-analysis, and schema-generator skills and the geo-* agents all apply unchanged. Typical units:

Situation in the planUnit of work
A target URL moved ≥3 positionsWrite/update a signal explaining the move
Target absent from top 10 repeatedlySignal + a doc proposing the fix
A tracked page's content_hash changedSignal describing what changed
A tracked page has no JSON-LDDoc with copy-paste JSON-LD for that page
No fresh data at allOutcome no-op — do not invent work

Ranking positions from data/serp/ are ground truth. Any simulated ranking you produce yourself is confidence: low and must say so in the body.

Show full SKILL.md (329 more words)Show less
4. Write artifacts (SUBSTRATE.md)

SUBSTRATE.md in the repo root is the binding contract. In short:

  • signals/<slug>.md — evidence. docs/<slug>.md — durable knowledge. Kebab-case filenames, English content, kind decides the folder.
  • Frontmatter on line 1: kind, domains (existing dirs under domains/), created, updated, confidence, sources, plus frequency on signals. sources may be empty only when confidence: low.
  • Dedupe (§4): re-observed evidence does not get a new file. On the existing signal, increment frequency, set updated to today, and append one dated Timeline entry.
  • Body above ## Timeline = what is true now (rewrite freely). ## Timeline = append-only, newest at the bottom.
  • Docs cite signals and repo paths; signals cite collector JSONL lines (data/serp/example-com.jsonl#L42).
5. Close the run

Append to $EGEO_HOME/domains/<domain>/README.md, at the very bottom:

markdown
### 2026-07-24 run

Checked serp deltas for example.com; pricing page dropped 3 → 7 for
"best geo tool". Wrote signals/example-com-pricing-drop.md.

Outcome: success

Outcome: is the last line and one of success, partial, failure, no-op. Then append exactly one line to $EGEO_HOME/LOG.md:

2026-07-24T18:20Z [example-com] run: wrote signals/example-com-pricing-drop.md, outcome=success

Grammar (SUBSTRATE.md §7): <YYYY-MM-DDTHH:MMZ> [<domain>] <event>: <summary>, UTC minute precision, appended at the bottom, summary ending in outcome=<class>.

Keep ## Current focus accurate: if the focus item is done, promote the next Backlog item and remove it from the Backlog.

6. Verify, then exit
bash
python -m egeo.substrate_lint            # defaults to $EGEO_HOME
egeo loop doctor

Re-read the domain README and the tail of LOG.md to confirm your two appends landed exactly once. Fix violations before exiting; a run that leaves the substrate invalid is Outcome: failure.

Report to the user in three lines: unit of work, artifacts written, outcome.

Collectors

Collectors are deterministic and LLM-free; run them before a loop run when the plan shows no fresh data:

bash
egeo loop collect serp --query "best geo tool" --target-domain example.com
egeo loop collect page --url https://example.com/pricing

serp needs BRAVE_API_KEY; both honour the daily budgets in config.yaml and fail loudly rather than writing partial records. See collectors/README.md for the contract.

Common mistakes

  • Writing into the repo prompts/, geo-output/, or signals/ instead of $EGEO_HOME — loop state never lives in the repo.
  • Two Timeline entries (or two LOG lines) for one run.
  • A new signal file for evidence that already has one (use frequency).
  • Claiming a competitor ranking without a data/serp/ line to cite.
  • Doing three units of work because the data looked interesting. One.

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

Files

Just SKILL.md in .claude/skills/geo-loop of mverab/eGEOagents.

Open the folder on GitHubat commit 58ee654

Compare with similar skills

Geo Loop 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.

Geo Loop compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Geo Loop this skillmverab/eGEOagents197—~1.5kAutomated safety check: PassMIT
Geo Fundamentalswasp-lang/wasp19k9 repos~861Automated safety check: PassMIT
SEO GeoReScienceLab/opc-skills1.8k4 repos~2.1kAutomated safety check: PassApache-2.0
GEO-First SEO Audit Toolzubair-trabzada/geo-seo-claude11k—~2.8kAutomated safety check: NotesMIT
GEO Monthly Delta Reportzubair-trabzada/geo-seo-claude11k—~2.4kAutomated safety check: NotesMIT
SEO DataforseoAgriciDaniel/codex-seo7912 repos~4.6kAutomated safety check: PassMIT

Similar skills

  • Geo Fundamentals

    wasp-lang/wasp

    Generative Engine Optimization for AI search engines (ChatGPT, Claude, Perplexity).

    19k GitHub starsUsed in 9 repos~861 tokens
    Marketing & SEOAuto-check passed
  • SEO Geo

    ReScienceLab/opc-skills

    SEO & GEO (Generative Engine Optimization) for websites. An agent skill from ReScienceLab/opc-skills.

    1.8k GitHub starsUsed in 4 repos~2.1k 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
  • GEO Monthly Delta Report

    zubair-trabzada/geo-seo-claude

    Compares a baseline and a current GEO audit for a client, calculates score changes and action item progress, and writes a monthly progress report.

    11k GitHub stars~2.4k tokensUpdated yesterday
    Marketing & SEOAuto-check: notes
  • SEO Dataforseo

    AgriciDaniel/codex-seo

    Live SEO data via DataForSEO MCP server. An agent skill from AgriciDaniel/codex-seo.

    791 GitHub starsUsed in 2 repos~4.6k tokens
    Marketing & SEOAuto-check passed
  • Fire Your SEO Agency

    leopard627/fire-your-seo-agency

    SEO·AEO·GEO·LLMO·NEO(네이버) 다섯 레인을 진단하고 직접 구현하며, 인용되는 콘텐츠를 계속 생산하는 서브 블로그·콘텐츠 운영 파이프라인까지 세팅하는 스킬.

    707 GitHub stars~1.1k tokensUpdated 13 days ago
    Marketing & SEOAuto-check passed

More from mverab/eGEOagents

  • Competitive Analysis

    mverab/eGEOagents

    Analyze AI-search competitors for a query and recommend ranking strategy.

    197 GitHub stars~723 tokensUpdated today
    Auto-check passed
  • Content Scoring

    mverab/eGEOagents

    Score content against the 10 GEO criteria with evidence and prioritized fixes.

    197 GitHub stars~930 tokensUpdated today
    Auto-check passed
  • Schema Generator

    mverab/eGEOagents

    Generate JSON-LD schema markup for pages and content types with an implementation checklist.

    197 GitHub stars~842 tokensUpdated today
    Auto-check passed
  • Validation Doctor

    mverab/eGEOagents

    Check Brave Search and Chrome DevTools MCP availability and provide exact setup snippets.

    197 GitHub stars~371 tokensUpdated today
    Auto-check passed

Categories

Questions about Geo Loop

What does Geo Loop do?

Run one bounded eGEOagents loop iteration over a workspace domain - read the charter and fresh collector data, do ONE unit of work, write substrate artifacts, append one Timeline entry and one LOG…. Geo Loop is an agent skill from mverab/eGEOagents. Run one bounded eGEOagents loop iteration over a workspace domain - read the charter and fresh collector data, do ONE unit of work, write substrate artifacts, append one Timeline entry and one LOG line.

When should I use Geo Loop?

Geo Loop fits situations like: scheduled GEO runs; continuous monitoring.

How do I install Geo Loop in Claude Code?

Run `npx skills add mverab/eGEOagents --skill geo-loop -a claude-code`. Or copy the skill folder (.claude/skills/geo-loop in mverab/eGEOagents) into .claude/skills/geo-loop in your project. Claude Code loads it when a task matches its description.

How do I install Geo Loop in Codex?

Run `npx skills add mverab/eGEOagents --skill geo-loop -a codex`. Or copy the skill folder (.claude/skills/geo-loop in mverab/eGEOagents) into .agents/skills/geo-loop in your project. Codex loads it when a task matches its description.

Can I use Geo Loop 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 mverab/eGEOagents --skill geo-loop -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/geo-loop, .gemini/skills/geo-loop, .github/skills/geo-loop and .opencode/skills/geo-loop in your project.

What does Geo Loop need to run?

Going by SKILL.md and its folder, Geo Loop needs the command-line tools its instructions call (python) and credentials named BRAVE_API_KEY. Our summary lists: Python 3; A credential in BRAVE_API_KEY.

Does Geo Loop 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 Geo Loop 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. Review the folder before installing.

What licence does Geo Loop use?

Geo Loop is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Geo Loop use?

About 1.5k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Geo Loop?

Skills that share tags, products or a category with Geo Loop: Geo Fundamentals (wasp-lang/wasp, 19k stars), SEO Geo (ReScienceLab/opc-skills, 1.8k stars), GEO-First SEO Audit Tool (zubair-trabzada/geo-seo-claude, 11k stars) and GEO Monthly Delta Report (zubair-trabzada/geo-seo-claude, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Geo Loop?

mverab (a GitHub user) maintains it in mverab/eGEOagents, which has 197 GitHub stars. The repository holds 5 skills in this directory. The repository was last updated on October 8, 2026.

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