Tracks huxberry.com's Google rankings for the money keywords and diffs competitors' product pages, prices and promos daily.
Daily short digest to Sherif: rank movements and competitor changes worth knowing. Quiet when nothing moved.
Rank drops and competitor price moves are invisible until revenue already fell. A daily position file plus a scrape-diff turns those into same-day signals — and feeds the content loop's keyword decisions.
Early morning
SEO APIs for the tracked keyword set
Product pages, prices, promos vs yesterday
Movements only; quiet when static
Keyword gaps flow into article planning
For implementers and the technically curious. The full build sheet — verified queries, thresholds, and build notes — lives on the specs page.
| System | Role in this loop |
|---|---|
| SEO toolingahrefs / semrush CLIs | Ranking pulls via existing CLI tooling with vault-held keys. |
| Search Consoleafter HUX-L0 | First-party search data — which queries actually bring clicks (CLI path; no MCP exists). |
| Agent Vaultcredential store | Where API keys live. Loops get read-only credentials from the vault; nothing is hardcoded in scripts. |
| Hermesagent runtime on our server | The scheduler that wakes the loop up. Each loop is a cron job under a Hermes profile; the planned bizops profile will host the business digests (IT loops run under vpsops). |
| Healthcheckshealthchecks.huxapps.com | The dead-man's switch. The loop pings it only after a clean run — if the loop dies or errors, the ping stops and Healthchecks raises the alarm independently. This is how 'never silent' is enforced by machinery, not promises. |
| Email renderer + gwsrender_email.py | All digests pass through one shared renderer: Huxberry-branded HTML, tables for repeated rows, a coral 'needs your response' box when the loop has questions, and an arrow link on every record. Sent from the loops mailbox via the Google Workspace CLI. |
| Model / brain | What it does here |
|---|---|
| None at run timedeterministic script | A normal cycle is a plain Python script — no AI tokens are spent unless a diagnosis or judgment step is actually needed. AI wrote the script; the script does the rounds. |
| GPT-5.5 via Codexthe bulk-work model | Wrote and maintains the mechanical parts — SQL, diffing, digest assembly. Effectively free on our existing subscription, so routine cycles cost almost nothing. |
The daily position file + competitor page snapshots — diffs need yesterday.
Daily email/Telegram digest to Sherif; movements only.
Read-only scraping and API pulls; competitor sites are diffed respectfully (throttled, cached).