Agent stack build plans · № 2 · Hermes community manager
Architecture
One daemon, one brain, markdown for memory — and three skills you add to make it a community manager rather than a chatbot in three rooms.
session_search over SQLite FTS5 at ~/.hermes/state.dbskill_manage, gated by skills.write_approvalmessaging, discord, discord_admin, terminal, memory, session_search, cronjob, skillsskill_managediscord_admin assigns the roleThe three flows
Answering
A member posts in any of the three platforms → the gateway checks the door
(pairing/allowlist) → the agent answers, pulling from
session_search for “have we discussed this before” and
from the changelog skill for facts. One brain, so the Slack answer knows about
the Discord thread.
Remembering
Built-in memory is deliberately small: two capped markdown files injected into every system prompt, plus full-text search over past sessions. That is not a vector store and it is not per-member — so the plan treats MEMORY.md as an index (“member notes live in the community-notes skill”) and puts the actual dossiers in per-member files the agent maintains itself. Growth without the cap fighting you.
Rewarding
Friday cron → the agent assembles evidence from session search and the notes
files → DMs you a proposal list → you approve → the shoutouts skill posts and
discord_admin assigns roles. Hermes has no rewards feature; this
whole flow is the cron scheduler plus one skill you commission in
the prompts. Slack and WhatsApp get the
announcement message; role mechanics are Discord-only glue.
Why not one bot per platform?
Because the value is in the joins. “petra asked this on Discord last week” answering a Slack question, one notes file per human regardless of where they typed, one reward queue instead of three. Separate bots give you three amnesiacs; the gateway gives you one employee with three doors. The price of that design is a single blast radius — which is why setup spends most of its time on the locks.