About this template
Rank Loop — always-on SEO agency
You already know what "good SEO" looks like.
You don't have 90 minutes every Monday to pull Search Console, open DataForSEO, write a diagnosis, and stage the fixes.
This template is that Monday — on a loop.
What you get
Fork it. Add your keys. Say:
Run the weekly SEO improver loop for my property. Stage fixes only.
Hermes will:
- Measure — Google Search Console (your clicks, impressions, CTR, position) + DataForSEO (who ranks above you, volume, SERP features)
- Prioritize — striking-distance keywords (positions ~4–20), high-impressions/low-CTR pages, cannibalization, decay
- Stage — exact titles, meta, sections, internal links — not a vague "write more content" list
- Learn — next week it opens last week's report and checks what moved
Artifacts land in ~/seo/runs/YYYY-MM-DD/:
rankings.csv— week-over-week join keyreport.md— one-screen agency pulse with stable IDs (SEO-STRIKE-001, …)
What's inside
- Agency SOUL — SEO improver doctrine (measure → stage → verify)
- 12 skills — Rank Loop OS + curated Corey Haines marketing skills (
marketing-loops,seo-audit,ai-seo, schema, content-strategy, …) — not the whole kitchen sink - GSC helpers — service-account JWT scripts (read-only)
- DataForSEO helper — REST (and optional MCP) for the competitive layer
BYOK (you bring)
| Env | What |
|---|---|
OPENROUTER_API_KEY | Hermes model |
GSC_CREDENTIALS_JSON | Google service-account JSON (one line) |
GSC_PROPERTY | e.g. sc-domain:yoursite.com |
DATAFORSEO_LOGIN / DATAFORSEO_PASSWORD | API credentials |
GH_TOKEN + blog path | Optional — open PRs against your content repo |
Add the service-account email as a Restricted user in Search Console.
What it will not do
- Guarantee #1 rankings
- Auto-merge to your default branch
- Invent rankings when GSC or DataForSEO is down
- Blast thin page farms
Most healthy runs end with no action and a clear reason. That's the agency you want.
Port note
Principles match Atom Eve SEO Improver (GSC primary, DataForSEO competitive, weekly loop, rankings.csv + report.md). Runtime is Hermes only — no Eve install.
First hour
- Fork on jurniti
- Set env keys in
~/.hermes/.env - Fill
~/seo/client-profile.md - Run the weekly loop once
- Schedule Monday 09:00
Then get out of the way and let rankings compound.