it sets up a ready-made automation for your Hermes Agent. Hermes asks you what it needs, one question at a time, then schedules it as a cron job. you do not write any cron syntax.
want a short lesson on a topic you pick, every weekday morning?
type this in the chat:
/blueprint learn-daily
other blueprints cover a reminder in your own words, or a weekly meal plan with the grocery list!
/blueprint on its own lists every blueprint your Hermes Agent has.
you call Hermes Agent from a script or a cron job with hermes -z: one prompt in, the final answer out, nothing else printed.
Show full tip
the next call can continue that same conversation. add --resume latest and the earlier turns come back with it, so a second prompt can build on the first answer. a session id or a session title works in place of latest.
it is the same agent, the same tools and the same skills as your normal chat, with the interactive layer stripped off.
hermes -z "summarise the open pull requests on this repo"
hermes -z "now list the three that touch the gateway" --resume latest
the prompt goes straight after -z; put --resume before -z or after the prompt. -z also reads stdin (hermes -z "summarise this" < notes.txt), and --usage-file report.json writes tokens, api calls and an estimated cost after the run. tool output stays out of the answer; hermes chat --oneshot -q "..." keeps it in the transcript.
hand this to your agent: "write me a shell script that asks you three follow-up questions about this repo with hermes -z, each call resuming the previous one, and prints the three answers. show it before saving."
before a scheduled job runs, your Hermes Agent checks that the run can actually succeed: the provider key resolves, attached skills have what they need, delivery targets are reachable.
a job that fails the check is marked blocked_config and alerts you once. no model call happens, so it sits at zero cost until you fix it.
every cron job wakes up in a fresh session. a two-step pipeline, collect then summarize, can't see what step one produced.
context_from wires the connection. when you create the second job, point it at the first job's id, and the first job's latest output is prepended to the second job's prompt at fire time.
a job can also point at itself. continuity injects the job's own previous output.
you set all of this by asking your Hermes Agent in plain language, it manages its own cron table.
a monitoring job that reports every run trains you to ignore it. your Hermes Agent has a quieter contract: if a cron job's response contains [SILENT], delivery is suppressed and nothing lands in your chat.
the lever is the prompt itself:
"check if nginx is running. if everything is healthy, respond with only [SILENT]. otherwise, report the issue."
great for any check that should only speak up when something is wrong: uptime, disk space, backups, feed watchers!
your agent nails a task in chat, you schedule the same thing with /cron, and the scheduled runs come back wrong.
the reason is simple: a cron job runs in a fresh session, with none of the chat context that made the task work. a prompt leaning on what you discussed earlier has nothing to lean on at run time.
so write the prompt like the agent has never met you: every url, every command, every rule spelled out inside the prompt itself.
this is also why a scheduled job cannot ask you clarifying questions, it answers with what the prompt gave it!
a cron job runs in a completely fresh session, detached from any repo: no AGENTS.md is loaded, and the terminal and file tools start from wherever the gateway happens to be running.
the fix is one flag:
(1) hermes cron create "every 1d at 09:00" "audit open PRs, summarise CI health" --workdir /home/me/projects/acme
(2) or from the chat directly, just tell Hermes which directory the job should run in (the cronjob tool takes workdir= the same way)
with workdir set, the job loads AGENTS.md from that directory and every file tool runs inside it. the path must be absolute and exist, or the create is rejected.
you do not have to wait while your agent grinds through a long task.
/background <prompt> spawns a completely separate agent session that runs in parallel: your chat stays fully interactive, and the result comes back as a panel in your terminal when it finishes.
(1) as an example: /background analyse the logs in /var/log and summarise today's errors.
you can run several at once, and the status bar shows how many are in flight.
(2) one thing to know: the background agent starts clean, with no knowledge of your conversation.
it only gets the prompt you give it, so write it self-contained. it inherits your model, provider and toolsets, so no setup needed.
Hermes Wingtips #12: kanban's default worker workspace is scratch
you're handing a kanban task to a Hermes agent and want to keep the files it writes? one thing to know before you run it.
by default each kanban worker runs in a scratch workspace, and Hermes clears that workspace the moment the task completes. indeed, throwaway chores should not leave directories behind.
to keep the output, give the task its own workspace when you create it: