# Hermes Automation Patterns Production patterns for efficient, low-cost always-on Hermes agents. > Originally created in `Tony_tech/research/hermes-automation/`. Migrated to `personal-agent-os` as the canonical location. ## Source [YouTube — Hermes Agent Masterclass (Cron & Automation)](https://www.youtube.com/watch?v=grMNnzCv2gY) cyrilXBT / Tonbi's Hermes Agent Masterclass series, June 19 2026. ## Key Techniques | Technique | Description | Cost Impact | |-----------|-------------|-------------| | **wakeAgent Gates** | Condition-based triggers that only invoke the LLM when specific criteria are met (instead of running every tick). Prevents unnecessary API calls on irrelevant cycles. | High savings | | **no-agent Polling** | `no_agent=True` flag on cron scripts — runs a shell script directly without any LLM context. Output is delivered verbatim only when there's change or data. Zero token cost per tick when nothing happens. | Max savings | | **context-from Chaining** | Pipe output of one cron job as context into another via `context_from`. Enables multi-stage pipelines (e.g., collector → summarizer → delivery) where each stage only fires on upstream data. | Tiered cost | | **Silent Delivery** | Cron jobs that produce empty stdout on no-change ticks deliver nothing. The user only sees messages when there's actionable output. Reduces noise and delivery friction. | Free (no token) | ## Contents | Directory | What's inside | |-----------|-------------| | `gates/` | wakeAgent-style gate designs (condition-based triggers). See `email-triage-wakegate.md` for the reference pattern. | | `scripts/` | Shell/Python scripts for no-agent polling jobs. `daily-brief-collector.sh` is live in production. | | `notes/` | Implementation notes, gotchas, config snippets. `daily-brief-implementation.md` documents the production daily brief. | | `examples/` | (Coming soon) Full worked examples combining gates + scripts + delivery. | ## Getting Started 1. Start with a **no-agent script** — just shell/Python collecting and filtering data 2. Add a **wakeAgent gate** when conditional LLM reasoning is needed 3. Chain via **context-from** to split complex pipelines into lean stages 4. Use **silent delivery** on every poller — never deliver "nothing changed" ticks ## Related - `agent-config/` — Hermes profile configs that run these patterns - `projects/hermes-persistent-os/` — the project driving these automation patterns