Day 7 · Full Automation and Diagnostics
Today’s Goal
Section titled “Today’s Goal”Two things:
- Create a daily scheduled task — have Hermes send you a morning digest at a fixed time
- Get comfortable with the diagnostic commands — at minimum:
hermes doctor,hermes status,hermes logs
Coming from OpenClaw? After finishing this chapter, head to Migrating from OpenClaw — it’s a standalone migration guide.
Prerequisites
Section titled “Prerequisites”- Days 1–6 complete
- For the scheduled task section, Day 3 (at least one IM gateway configured) is ideal — that way the morning digest can push to Telegram / Discord etc.
Part A · Scheduled tasks: let Hermes run on its own
Section titled “Part A · Scheduled tasks: let Hermes run on its own”Hermes’s built-in cronjob tool lets the agent schedule and run its own tasks. Conceptually similar to unix cron, but every trigger is an independent agent session (with its own tools, skills, and memory) — not a bare script.
Three ways to create a job
Section titled “Three ways to create a job”-
Natural language (easiest)
Start Hermes and say:
You: Every morning at 9 AM, scan Hacker News, pick 3 AI-related stories, and send them to my Telegram.Hermes recognizes this as a scheduling request, calls
cronjob(action="create", ...), and tells you: job ID, schedule rule, and next trigger time. -
Slash command inside a conversation
You: /cron add "0 9 * * *" "Scan HN, pick 3 AI stories, send to Telegram"Syntax:
/cron add <schedule> "<prompt>". -
Terminal CLI
Terminal window hermes cron create "0 9 * * *" "Scan HN, pick 3 AI stories, send to Telegram"
Schedule format
Section titled “Schedule format”All formats supported:
| Format | Meaning |
|---|---|
30m, 2h, 1d | Relative delay, one-shot (run once in 30 minutes) |
every 30m, every 2h | Recurring every N minutes/hours/days |
0 9 * * * | Standard cron: every day at 9:00 AM |
0 */6 * * * | Every 6 hours |
2026-05-01T09:00:00 | ISO timestamp, one-shot at a specific moment |
Managing scheduled tasks
Section titled “Managing scheduled tasks”hermes cron list # list all jobshermes cron status <job_id> # details and last result for a specific jobhermes cron edit <job_id> --schedule "0 10 * * *"hermes cron tick # immediately check for due jobs (for debugging)Inside a conversation:
/cron list/cron run <job_id> # trigger immediately, don't wait for the next scheduled time/cron pause <job_id>/cron resume <job_id>/cron remove <job_id>Running with a skill
Section titled “Running with a skill”Load a skill (installed in Day 5) before the cron task runs:
You: Every morning at 9 AM, use the blogwatcher skill to summarize my RSS feeds and send to Telegram.Hermes uses the skill as the agent’s leading prompt, then stacks this task on top — effectively putting a Day 5 skill into an unattended pipeline.
When does the scheduler check?
Section titled “When does the scheduler check?”The gateway (the long-running process from Day 3) checks for due jobs every 60 seconds. If the gateway isn’t running, cron won’t trigger — before relying on scheduled tasks, confirm:
hermes gateway status # confirm gateway is runningPart B · The diagnostic trio
Section titled “Part B · The diagnostic trio”hermes doctor — automated health check
Section titled “hermes doctor — automated health check”When anything strange happens, this is the first command to run:
hermes doctorhermes doctor --fix # auto-fix anything it canIt checks: Python / Node / dependency versions, config file syntax, database integrity, provider auth validity, gateway status, skills directory permissions, and more.
hermes status — current system state
Section titled “hermes status — current system state”hermes status # summaryhermes status --all # full detail (safe to paste into an issue — auto-redacts secrets)hermes status --deep # with active probing (sends a test request to the provider — slightly slower)Use --all when filing issues — it redacts API keys and other sensitive values to sk-*** automatically.
hermes logs — log queries
Section titled “hermes logs — log queries”Logs live in ~/.hermes/logs/. hermes logs is the query interface:
| Log | What’s inside |
|---|---|
agent (default) | API calls, tool dispatch, session activity |
errors | Warnings and errors only |
gateway | Platform connections, webhook events |
Common scenarios:
hermes logs -f # tail in real timehermes logs errors --since 1h # errors from the last hourhermes logs --level WARNING --since 30mhermes logs gateway -n 100 # last 100 lines of gateway logshermes logs --session 7e4f2b8c # all logs for a specific sessionTypical debugging flow:
Symptom: Telegram bot isn't responding again
1. hermes gateway status → is it still alive?2. hermes status --deep → is Telegram auth still valid?3. hermes logs gateway --since 30m -f → last 30 minutes of gateway logs4. See 401 → re-run hermes gateway setup to refresh the token5. See rate limit → configure fallback_model (covered in Day 2)Seven-day recap
Section titled “Seven-day recap”At this point you should have:
| Day | Capability |
|---|---|
| 1 | Running hermes locally, completed first conversation |
| 2 | Chose a provider, configured a key, sent a reasoning test |
| 3 | At least one IM (Telegram / Discord / Slack) can @-mention the bot |
| 4 | Used at least 2 built-in tools: web_search and terminal |
| 5 | Installed a first skill and triggered it in a conversation ✨ |
| 6 | Know ~/.hermes/memories/, /compress, and hermes backup |
| 7 | Write cron jobs to let Hermes run autonomously; use doctor/status/logs to diagnose issues |
What’s next
Section titled “What’s next”The 7 days cover the minimum working loop. Where to go deeper depends on your use case:
| Direction | Where to learn |
|---|---|
| Migrating from OpenClaw | Migrating from OpenClaw on this site |
| Embed Hermes in your own software | Official Developer Guide |
| Write skills for your team | Day 5 advanced section + agentskills.io examples |
| Connect internal services via MCP | Use MCP with Hermes |
| Voice interaction / self-hosting | Voice Mode / Self-hosting |
| Read the official docs end-to-end | Official Learning Path |
This site will keep adding “Field Recipes” — each article focused on a specific workflow: code review agent, content aggregation bot, on-call operations assistant… complementary to this tutorial series.