
Hermes
Hermes sidecar observability: health, failure triage, cron, guard blocks, logs, traces.
Install
npx skills add danielmiessler/LifeOS --skill Hermes -g -a claude-code -y- Repository
- danielmiessler/LifeOS19.7k
- Category
- Engineering
- Updated
- 8d ago
- License
- MIT
- Context cost
- Mediumabout 1,623 tokens
- Runs scripts
- No, instructions only
What it does
Hermes sidecar observability: health, failure triage, cron, guard blocks, logs, traces. USE WHEN hermes, sidecar, hermes failed, hermes task failed, iMessage task failed, message task failed, why did hermes fail, hermes not calling LifeOS, hermes status, hermes health, trace hermes, hermes session, hermes logs, hermes cron, guard blocks, triage hermes, sidecar broken, update hermes, upgrade hermes, is hermes up to date, keep hermes updated. NOT FOR mounting (LIFEOS/HERMES/Mount.ts), LifeOS services (Services.ts), messaging (the communication skill).
Hermes
Observability over a mounted Hermes sidecar. The sidecar keeps its own records (session store, cron execution history, error logs, guard audit trail), and this skill turns them into answers: is it healthy, what failed and why, and exactly what happened inside one task.
Everything runs against the live install at $HERMES_HOME (default ~/.hermes) through deterministic tools in LIFEOS/HERMES/: Observe.ts status|failures|sessions|trace (the aggregator: sessions, failure classes, end-to-end traces), Health.ts (process health: up/degraded/flapping/down/absent, per-channel state), LogAnalysis.ts [--days N] (guard audit trail: hot rules, retry loops, taint findings) and Mount.ts --check (identity/config drift, report-only). Diagnosis mutates nothing: no config writes, no restarts, no cron edits. The Update intent is the one place the sidecar changes. Fixes route through Policy.ts + Mount.ts (the mount owns config), never hand-edits.
Ideal State
- Every answer about the sidecar is grounded in its own records through the
LIFEOS/HERMES/tools, and success is judged from traces, never from an execution status. - Whether sessions actually load the LifeOS soul is always answered, and a blocked soul leads any report it appears in.
- Every failure or fix names its owner (
Policy.tsor soul sources plus a re-mount, the approval allowlist, or upstream Hermes) and the sidecar is never mutated by a diagnosis.
Intent Routing
| Intent | Trigger | File |
|---|---|---|
| Status | "hermes status", "is hermes healthy", "is the sidecar running LifeOS" | Intents/Status.md |
| Triage | "why do hermes tasks fail", "hermes failures", "triage hermes" | Intents/Triage.md |
| Trace | "trace that task", "what happened to my message", "show me that hermes session" | Intents/Trace.md |
| Update | "update hermes", "upgrade hermes", "is hermes up to date" | Intents/Update.md |
