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.

Disagree? Pin a note on it →