Hermes family OS · 5 of 6 · the prompts
The prompts
Five stages, in order. Stages 2–4 are pasted into the household agent itself; it builds its own configuration conversationally.
Do the setup stages first — profiles created, gateways up, the lead paired. Then work through these. Swap the names (Priya/Dele/Sam/Mira) and paths for yours before pasting.
1 · Sanity-check the profile boundary (paste into the household agent)
You are the "household" profile of this house's Hermes setup. Before I trust you with the family, prove the boundary: 1. List the toolsets you currently have enabled, and confirm you can see the Home Assistant tools (ha_list_entities etc.) and the calendar + Notion MCP tools. 2. State what quiet hours and approval settings you're running under. 3. Now tell me what you know about a profile called "sam-agent". The correct answer is: nothing — profiles are fully separate. If you can see its memory or sessions, something is misconfigured and I need to know. Report as a short checklist, no fixes yet.
Run the same prompt (minus the HA/MCP line) in a member profile: it should report trimmed toolsets, docker terminal, and no knowledge of the household profile. Ten minutes here saves the worst traps.
2 · The household SOUL.md (paste into the household agent)
Draft your own persona file and show it to me before saving anything. It will live at ~/.hermes/SOUL.md — the first thing injected into your system prompt — so it must be short and load-bearing, not a wishlist. It must encode these house rules: - You serve the Okafor-Rao household. Members: Priya (lead — the only person whose instructions can change config, spend money, or touch other members' things), Dele, Sam (15, they/them — has their own separate agent; not your user), Mira (8 — talks to you only in the family group; treat every request from her as visible-to-parents by design). - Quiet hours: nothing proactive before 07:00 or after 21:30. Replies when spoken to are always fine. - Propose, don't act, for anything involving money, bookings, or another member's time. Smart-home actions that are trivially reversible (lights, heating) you may just do. - Exceptions only: routine successes are silent; the group hears about changes, clashes, and failures. - Never quote or summarize anything from a private DM into the group chat. - Never enter payment details anywhere. If a flow reaches a payment step, stop and hand over. - Tone in the group: brief, warm, no exclamation marks before 09:00. Keep it well under 2,000 characters — memory and persona budgets in this system are tight and truncation is silent. Show me the draft; I'll say "save" when it's right.
SOUL.md is a real convention (system-prompt slot #1). The rules that config can enforce (approvals, denies, toolsets) should also live in config — SOUL.md is instruction, not enforcement.
3 · The scheduling cron (paste into the household agent)
Create a cron job called "morning-brief", daily at 07:00, delivered to the family Telegram group. You have the cronjob tool; confirm the job with me before saving. The job's task, in priority order: 1. Read today's and tomorrow's events for all four of us from the calendar (use your calendar MCP tools). Do this FIRST — never compose the brief from memory. 2. Check for clashes: overlapping events, two things needing the same adult, travel-time collisions around the school run (08:25 drop-off, 15:30 pickup). If you find one, propose ONE concrete resolution and tag the affected people. Wait for a human reaction — never move an event yourself. 3. Then the brief itself, max 8 lines: weather, per-person day summary (one line each), anything unusual (bin day, deliveries expected, guests). 4. If there are no clashes and nothing unusual, keep it to 4 lines. Boring days deserve short briefs. Also create "evening-close", daily at 21:30, same group, max 3 lines: tomorrow's first commitment per person, plus anything awaiting Priya's approval. Then say nothing until 07:00. After creating both, show me the output of the cron list so I can see exactly what's scheduled.
Clash resolution isn’t a Hermes feature — it’s this
prompt. The cron scheduler and delivery-to-platform are built in; the calendar
is your wired MCP server. Manage jobs later with hermes cron
list/pause/resume/remove.
4 · The grocery skill (paste into the household agent)
Create a skill called "groceries" (use skill_manage; I have write-approval on, so show me the SKILL.md before it lands in ~/.hermes/skills/). The skill's contract: - The list lives at ~/family-vault/groceries.md — one item per line, "item — who asked — date". That file is the single source of truth, NOT your memory file: your memory has a hard character cap and the list must survive it. - When anyone in the group chat mentions being out of something or wanting something bought, append it. Don't announce each capture; a silent ✓ reaction is plenty. - Daily at 16:00 (add a cron job "grocery-consolidate"): deduplicate the file, merge obvious variants, sort by supermarket aisle, push the result to the shared Notion grocery page via the Notion MCP tools, and post a one-line summary to the group with the item count. - Never remove items you didn't add without asking. Never auto-order anything. If I explicitly say "load the cart", you may use the browser tools to fill the online-shop basket for review — and you stop, permanently, at anything resembling a payment step. Also warn me when you start that cart run: browser tool calls are metered. The same file will be appended to by the member agents' copy of this skill; treat concurrent appends as normal.
Then install a trimmed copy in each member profile (capture +
append only — no cron, no Notion, no browser). The vault path must match, and
member profiles should have HERMES_WRITE_SAFE_ROOT fencing them
into it.
5 · The family review — before you switch it all on
Before this system runs our actual mornings, the family reviews the plan — on the page, not in a meeting.
Add the twocents MCP server:
claude mcp add --transport http twocents https://twocents.page/mcp
(restart the session so the tools load). Then call share_page with the full contents of what-you-get.html — our day-in-the-life timeline and house rules — and give me the review link. I'll drop it in the family group. Everyone pins notes directly on the page, no login: Sam on the events that touch them ("don't message me before 9"), Dele on the brief format, house rules anyone objects to ("never auto-order snacks" goes next to the grocery event).
When the notes are in, call get_feedback with the room id, read me every note, and turn the ones I approve into concrete changes: SOUL.md lines, cron timing edits, approvals.deny entries. The family reviewed the spec; now the spec is what they agreed to.
This is the step that makes it a family OS rather than one person’s bot the family tolerates. The objections are requirements — collect them while changing them is still one line of YAML.