Hermes logo
Hermes Agent template
atomeve.devgithub.com

SEO Rank Loop: SEO + Auto-Indexing Agency

An SEO agent that reruns your Monday — reads Search Console + DataForSEO, stages exact title/meta/link fixes, verifies what moved — and now submits your non-indexed pages to Google's Indexing API every day, emailing you a receipt. BYO keys.

NewNew10.0 MB snapshotStarter VM

What's inside

Harness

Hermes Agent

Plan

Starter

vCPU

1

Memory

2 GiB

Snapshot

10.0 MB

How it works · ~3 minutes

  1. 01 · Fork

    New isolated microVM on your subdomain — creator agent state included.

  2. 02 · Your keys

    Log into Hermes Agent with your own model credentials (BYOK).

  3. 03 · Ask it to work

    Open the terminal and give the agent a real job. You keep what ships.

Example first ask

Pull my open PRs, summarize risk, and draft a review checklist.

30-day money-back on your first purchase · no free trial · keys never leave the VM

About this template

An SEO agent that runs your Monday for you — and gets your pages into Google

You already know what good SEO looks like.

What you do not have is 90 minutes every Monday to pull Search Console, open DataForSEO, write the diagnosis and stage the fixes — nor a daily habit of checking which pages Google still hasn't indexed. This template is that Monday on a loop plus a daily index-coverage sweep, inside your own Hermes VM.

What the SEO agent does each week

  1. Measure — Google Search Console for your clicks, impressions, CTR and position. DataForSEO for who outranks you, volume and SERP features.
  2. Prioritize — striking-distance keywords at positions 4–20, high-impression low-CTR pages, cannibalization, decay.
  3. Stage — exact titles, metas, sections and internal links. Not a vague "write more content" list.
  4. Verify — next week it opens last week's report and checks what actually moved.

Step 4 is the whole point. An agent that only recommends is a report generator with better manners.

New — daily index coverage (get pages into Google fast)

Publishing a page is not the same as Google indexing it. The seo-index-coverage skill runs every day:

  1. Reads your sitemap.xml — the set of pages that should be indexed.
  2. Checks each against the GSC URL Inspection API (concurrently) to find the ones Google has not indexed.
  3. Submits those to Google's Indexing API — capped to the daily quota, with a per-URL cooldown so nothing is spammed, and only ever your own on-property URLs.
  4. Writes a dated receipt and emails you the summary (submitted / already-indexed / failures) — the same delivery as the weekly report.

It fails closed and only cries "revoked permission" on an actual 403, so a quiet run means it worked. One-time setup: make your service account an Owner of the property and enable the Web Search Indexing API.

Every run — weekly or daily — writes a receipt, including the runs that fail. A scheduled agent that finishes quietly is indistinguishable from one that never fired; the receipt is what tells those two apart.

What you get on fork

  • An agency SOUL holding the doctrine: measure, stage, verify — and index.
  • SEO + marketing skillsseo-rank-loop, seo-workspace, and the new seo-index-coverage, plus seo-audit, ai-seo, schema, site-architecture, content-strategy, programmatic-seo, marketing-loops, competitors, copy-editing, analytics.
  • Read-only Search Console helpers (service-account JWT scripts) + the indexing engine (gsc_index.py, pure stdlib).
  • A DataForSEO helper over REST, with optional MCP for the competitive layer.

The ~/seo/ workspace is scaffolded for you on fork. Weekly artifacts land in ~/seo/runs/YYYY-MM-DD/; daily index receipts land in ~/seo/index-runs/YYYY-MM-DD/.

What you supply

EnvWhat it is
OPENROUTER_API_KEYyour Hermes model key
GSC_CREDENTIALS_JSONGoogle service-account JSON, one line
GSC_PROPERTYe.g. sc-domain:yoursite.com
DATAFORSEO_LOGIN / DATAFORSEO_PASSWORDDataForSEO credentials
NOTIFY_FROM / NOTIFY_TOoptional — to email yourself the daily/weekly receipts

For the weekly rank loop, add the service-account email to Search Console as a Restricted user. For the daily indexing, it needs Owner (the Indexing API requires it) and the Web Search Indexing API enabled in your GCP project. DataForSEO fees and model usage are billed to you, by them.

Your first hour

  1. Fork it and open the Hermes session.
  2. Put the keys above in ~/.hermes/.env.
  3. Fill ~/seo/client-profile.md.
  4. Run the weekly loop once, stage-only; run the index-coverage skill once.
  5. Schedule the rank loop for Monday 09:00 and index-coverage daily.

Then leave it alone.

Honest limits

  • It will not guarantee a #1 ranking, and the Indexing API is a request to crawl, not a promise to index.
  • It will not auto-merge to your default branch.
  • It will not invent rankings when GSC or DataForSEO is down. It tells you the data is missing.
  • It only ever submits your own on-property URLs, and never a redirected or dead one.
  • Google officially scopes the Indexing API to job-posting/livestream pages; it works for ordinary pages in practice, and the daily receipt surfaces any 403 immediately.
  • Hermes only. Principles match Atom Eve's SEO Improver — GSC primary, DataForSEO competitive, weekly loop — but there is no Eve install here.

Fork it and run one loop stage-only before you trust it with a title tag. Your first jurniti purchase carries a 30-day money-back guarantee.

Inside this fork

Forking copies this template into a brand-new, fully isolated microVM on your own subdomain. Here's exactly what lands in it.

  • Hermes Agent agent

    The upstream harness, pre-installed — same version the creator ran.

  • Starter VM

    1 vCPU · 2 GiB RAM · 10 GiB disk.

  • Creator's /persist data

    The captured persist volume is copied byte-for-byte into your fork.

  • BYOK — your keys, your VM

    Add your model API keys after forking; they live only inside your microVM.

What this agent can do

82 skills

Scannable skill names — open full descriptions only if you need them.

  • ai-seo
  • airtable
  • analytics
  • apple-notes
  • apple-reminders
  • architecture-diagram
  • arxiv
  • ascii-art

What you'll configure after forking

Secrets are scrubbed from shared templates — these are the names you supply in your agent's terminal once it boots.

Environment variables

  • OPENROUTER_API_KEY

Your turn

Your own SEO Rank Loop: SEO + Auto-Indexing Agency, live in about 3 minutes.

Forking copies this Hermes Agentagent into a brand-new, fully isolated microVM on your own subdomain — the creator's /persist state and all. Add your own keys after it boots; they never leave the box. Don't love it? Your first jurniti purchase comes with 30 days to get every cent back.

New paid VM · BYOK · 30-day money-back on your first purchase · ~3 min to provision

Starter · fork

$25/ mo

Needs 1 of your own API key