Agent stack build plans · № 3 · part 2
Product spec
An intern with a beat, a filing cabinet, and a rule book — not a crawler with a chat interface.
Who it’s for
- Anyone with a standing beat. An analyst tracking one industry, a founder watching competitors, a researcher following a subfield, an editor monitoring a policy area. The defining trait: you already do this manually, badly, most mornings.
- Whose sources are public but unfriendly. Regulator
PDFs, ministry CSVs, investor decks, ancient HTML, APIs with grudging rate
limits. That’s the case for the scraper-skills layer — plain
web_searchalone doesn’t need this plan. - Who will read the report. An unread daily digest is a metered bill and nothing else. If you wouldn’t open it, don’t build it.
A day in the life
- 07:15The cron job in
~/.hermes/cron/fires. Hermes loads the/research-internbriefing skill and starts the run. - 07:16Sweep:
web_searchandx_searchacross the beat’s query list;web_extracton the promising hits. Each call is a metered Portal call — the briefing caps the total. - 07:19The ministry stats page is a CSV behind a form. The intern runs its own
krg-csvskill — a script it wrote two weeks ago, in the Docker-backed terminal — and gets a table, not a tantrum. - 07:21Dedupe pass:
session_searchover past conversations, plus a grep ofreports/. Four items match previous coverage; they go in the skipped line. - 07:23Report written to
reports/2026-07-23.md, then delivered to Telegram through the gateway. Housekeeping line includes the Portal-call count and a scrapers-returned-rows check. - 07:40You read it over coffee and reply in the same chat: “drop the X chatter, add the EU battery-passport docket.” The intern updates its briefing skill — tomorrow is already better.
That last row is the “self-improving” part, and it’s deliberately mundane: the intern improves because its briefing, its scrapers, and its archive are all files it can edit — a skill, a scripts directory, a folder of dated markdown — with your approval gating the edits. No magic, just compounding.
What it deliberately doesn’t do
- No paywall games. The intern handles formats that are awkward, not content that is closed. The briefing tells it plainly: respect paywalls, robots.txt, rate limits, and site terms; never write a scraper for a source that has said no. A paywalled source it should cover is a line item in the report (“FT reported X — headline only, no subscription”), and the durable fix is you buying access or an API key.
- No RSS pretence. Hermes has no built-in RSS monitoring (as of July 2026). Feeds are covered the honest way — a fetch script the intern writes as a skill — or not at all. See architecture.
- No publishing. The output is a briefing for you, not content for an audience. Auto-posting summaries of other people’s reporting is a different plan with different ethics.
- No multi-agent theatre. One agent, one beat, one
report. Hermes can delegate to subagents via
delegate_task, but a daily digest doesn’t need an org chart.