Four systems run alongside the main conversation loop. Quick reference here; full developer notes live in AGENTS.md, user-facing docs under website/docs/user-guide/features/.
delegate_task)Spawn a subagent with an isolated context + terminal session.
delegate_task(goal, context).delegate_task(tasks=[{goal, ...}, ...]) runs children in parallel, capped by delegation.max_concurrent_children (default 3).delegate_task(background=true) returns a handle immediately and keeps the parent loop going; the child's result re-enters the conversation as a new turn when it finishes.leaf (default; cannot re-delegate) vs orchestrator (can spawn its own workers, bounded by delegation.max_spawn_depth).cronjob or terminal(background=True, notify_on_complete=True).Config: delegation.* in config.yaml.
Durable scheduler — cron/jobs.py + cron/scheduler.py. Drive it via the cronjob tool, the hermes cron CLI (list, add, edit, pause, resume, run, remove), or the /cron slash command.
"30m", "2h"), "every" phrase ("every monday 9am"), 5-field cron ("0 9 * * *"), or ISO timestamp.skills, model/provider override, script (pre-run data collection; no_agent=True makes the script the whole job), context_from (chain job A's output into job B), workdir (run in a specific dir with its AGENTS.md / CLAUDE.md loaded), multi-platform delivery..tick.lock file prevents duplicate ticks across processes, cron sessions pass skip_memory=True by default, and cron deliveries are framed with a header/footer instead of being mirrored into the target gateway session (keeps role alternation intact).User docs: https://hermes-agent.nousresearch.com/docs/user-guide/features/cron
Background maintenance for agent-created skills. Tracks usage, marks idle skills stale, archives stale ones, keeps a pre-run tar.gz backup so nothing is lost.
hermes curator <verb> — status, usage, run, pause, resume, pin, unpin, archive, restore, list-archived, prune, backup, rollback./curator <subcommand> mirrors the CLI.created_by: "agent" provenance. Bundled + hub-installed skills are off-limits. Never deletes — max destructive action is archive. Pinned skills are exempt from every auto-transition and every LLM review pass.curator.consolidate: true or hermes curator run --consolidate. Routine background curation costs zero tokens.~/.hermes/skills/.usage.json holds per-skill use_count, view_count, patch_count, last_activity_at, state, pinned.Config: curator.* (enabled, interval_hours, min_idle_hours, stale_after_days, archive_after_days, backup.*). User docs: https://hermes-agent.nousresearch.com/docs/user-guide/features/curator
Durable SQLite board for multi-profile / multi-worker collaboration. Users drive it via hermes kanban <verb>; dispatcher-spawned workers see a focused kanban_* toolset gated by HERMES_KANBAN_TASK, and orchestrator profiles can opt into the broader kanban toolset. Normal sessions still have zero kanban_* schema footprint unless configured.
init, create, list (alias ls), show, assign, link, unlink, comment, complete, block, unblock, archive, tail. Less common: watch, stats, runs, log, dispatch, daemon, gc.kanban_show, kanban_complete, kanban_block, kanban_heartbeat, kanban_comment, kanban_create, kanban_link; profiles that explicitly enable the kanban toolset outside a dispatcher-spawned task also get kanban_list and kanban_unblock for board routing.kanban.dispatch_in_gateway: true) — reclaims stale claims, promotes ready tasks, atomically claims, spawns assigned profiles. Auto-blocks a task after failure_limit consecutive spawn failures (default 2; configurable via kanban.failure_limit or per-task max_retries).HERMES_KANBAN_BOARD pinned in env); tenant is a soft namespace within a board for workspace-path + memory-key isolation.User docs: https://hermes-agent.nousresearch.com/docs/user-guide/features/kanban