Hermes runs as a systemd service inside the WSL2 distro, with cron jobs for the things that need to tick and a webhook listener for the things that need to react. It speaks to me through a dedicated Telegram bot, separate from the one Claude Code uses.
The skills it currently runs:
- gratitude — a morning conversation on Tuesday, Thursday, and Saturday. Terse, NYC, no coaching tone. Wraps when there's a real answer, accepts a skip on hard days.
- connection-poke — checks who I haven't been in touch with lately and occasionally nudges. Picks at most one person. The bias is toward silence.
- remindme — location-triggered reminders. "when I get home grab the package" arms a geofence; the reminder fires when I'm physically there.
- hermes-pr-review-autonomous — a GitHub webhook fires on PR open or update; Hermes reviews the diff, posts a comment only if there's something substantive to say, otherwise stays quiet.
- conversation-extract — reads a finished conversation and writes structured JSON back to memory, no prose.
The whole posture: silent by default, push only on signal, write in my voice, never in a coach's voice.