Files
ngn-agent/.planning/research/hermes/AUTOMATION.md
Bagas Purwa Sentika 0355858596 docs: update project state through Phase 3
Phase 2: memory, session search, git worktree configured
Phase 3: Telegram gateway connected, DM pairing approved
Phase 4: custom skills created (aws-diagnostics, jira-query, confluence-search, bitbucket-pr)
2026-06-14 12:02:04 +08:00

2.9 KiB

Hermes Agent: Automation (Cron)

Capabilities

Hermes has a full cron system built into the gateway daemon. Everything below is available through the cronjob tool — the agent can set it up via conversation.

Job Types

Type Schedule Example
One-shot Relative delay 30m, 2h
Recurring Interval every 30m, every 2h
Recurring Cron expression 0 9 * * *
One-shot ISO timestamp 2026-03-15T09:00:00
No-agent mode Any schedule Script-only, zero LLM cost

Delivery Targets

origin         → Back to where the job was created
local          → Save to ~/.hermes/cron/output/
telegram       → Telegram home channel
discord        → Discord
slack          → Slack
email          → Email
all            → Every connected platform
"telegram:123:456" → Specific chat + thread

No-Agent Mode (Script-Only)

For watchdogs, disk checks, health pings — zero LLM cost:

# Script at ~/.hermes/scripts/check-disk.sh
# Agent skips this entirely — just runs script, delivers stdout
hermes cron create "every 5m" --no-agent --script check-disk.sh --deliver telegram
  • Empty stdout → silent tick (no delivery)
  • Non-zero exit → error alert delivered
  • {"wakeAgent": false} → silent tick

Skill-Backed Cron Jobs

Load one or more skills before running the prompt:

cronjob(action="create", skill="blogwatcher", 
        prompt="Check configured feeds, summarize anything new.",
        schedule="0 9 * * *", name="Morning Feeds")

Job Chaining

cronjob(action="create", name="daily-digest",
        schedule="every day 7am",
        context_from=["ai-news-fetch", "github-prs-fetch"],
        prompt="Write the daily digest using the outputs above.")

Job Lifecycle

hermes cron list
hermes cron pause <id>
hermes cron resume <id>
hermes cron run <id>
hermes cron edit <id> --schedule "every 4h"
hermes cron remove <id>

Provider Recovery for Cron

Cron jobs inherit fallback_providers and credential pool rotation. Per-job provider override:

cronjob(action="create", schedule="every 2h",
        provider="openrouter", model="google/gemini-3-flash-preview",
        prompt="Check server status")

Scheduled Task (Chat)

/cron add "every 1h" "Summarize new feed items" --skill blogwatcher

Key ngn-agent Use Cases

Use Case How
Daily report Cron + skill → delivered to Telegram
Stale session cleanup Cron + no-agent script to list, archive old sessions
Jira summary Cron + MCP Jira skill → delivered to Telegram
Infra health check Cron + no-agent script, deliver only on error
S3 cleanup monitoring Cron + AWS CLI script, wakeAgent only when issue found

ngn-agent should NOT build

  • Custom scheduler (use Hermes cron)
  • Report delivery system (use cron delivery targets)
  • Script execution (use no-agent mode)