The product spec
Most of this spec is about what the agent holds back on.
Who it’s for
The person who already does the scheduling becomes the household lead. They run the box, hold the credentials and approve pairings. Everyone else is a member who uses the group chat or DMs their own agent and never touches YAML. If nobody in your house will message a bot, stop here.
The example family
Priya, lead. Runs the box and is paired with the full
household profile. Sees its approvals and presses pay.Dele, member. Group chat only. Wants the brief and no
school-run double-bookings.
Sam, 15, member with a private line. Has a trimmed
profile,
sam-agent, for homework and grocery adds, with private
memory, no house credentials and a sandboxed terminal.Mira, 8, not paired. Talks to the agent only in the family
group, where everyone can see. Lights and list adds work fine there. That
visibility is the safety model.
The jobs, most important first
- The 07:00 brief with clash checks. Reads the calendar through MCP, finds conflicts, suggests a fix and waits for a person. It never rebooks anything itself.
- The grocery list. Mentions in the group (“we’re out of stock cubes”) and member adds pile up all week. At 16:00 the list is cleaned up and pushed to Notion. The agent can load a cart in a cloud browser if asked, and never pays.
- Smart home on request. Lights, heating and “film
lights”, through the Home Assistant gateway and
ha_*tools. More in the smart home plan. - A private line for each member. Sam’s DMs stay Sam’s. That’s why the build uses separate profiles at all.
House rules
They go in the household profile’s SOUL.md, the persona
file Hermes puts first in the system prompt. Where config can enforce a rule,
it should (architecture says which is which).
- Quiet hours. Nothing proactive before 07:00 or after 21:30. Answering when spoken to is fine.
- Ask first before anything that costs money, books something or takes someone’s time. Lights can be undone. Calendars and money can’t.
- Exceptions only. Routine actions like pre-warming the heating happen silently. The group hears about changes, clashes and failures.
- Members’ DMs are private. The household agent never quotes a DM into the group, and member agents can’t see the group unless invited.
- A person presses pay. No card details in any config.
What it won’t do
- No per-person memory in the group chat. Hermes keeps one
MEMORY.mdandUSER.mdper profile and has no per-sender memory in groups. The workaround is amembers/notes folder kept by a skill, which you build (see architecture). - No monitoring. The lead can’t read Sam’s DMs, because profile isolation works both ways. If you want a monitoring tool, this is the wrong plan.
- No buying, booking or messaging anyone outside the family on its own. A wrong grocery order is funny. A canceled dentist appointment isn’t.
- No group moderation. Reactions, threads and rate limits at community scale are in the community manager plan. In a family group the agent should speak rarely.