feat(templates): add isolated agentTurn and systemEvent cron templates

This commit is contained in:
Kjell Tore Guttormsen 2026-04-12 06:48:12 +02:00
commit 51371b18ce
3 changed files with 236 additions and 0 deletions

View file

@ -0,0 +1,51 @@
# Cron Execution Templates
Two execution types for scheduled agent work, inspired by OpenClaw's cron service.
## agentTurn (agent-turn.sh)
Full background autonomy. Creates/resumes its own named session.
**Use for:**
- Complex multi-step work
- Tasks that need full context and tool access
- Background autonomous operation (proactive agent cycles)
**Features:**
- Named sessions via `--name` for resume capability
- Orphan detection (checks PID before starting new run)
- Session rollover: fresh session after 200 turns or 72 hours
- Context loading from SESSION-STATE.md and HEARTBEAT.md
- Dated log files per agent per day
**Session naming (VERIFIED):**
Uses `--name "agent:<name>:turn"` with `--resume` for continuity.
Note: `--session-id` requires valid UUIDs. Named sessions are the
correct approach for human-readable, resumable agent sessions.
## systemEvent (system-event.sh)
Injects text into an existing session. No new session created.
**Use for:**
- Notifications ("new data available")
- Simple status checks
- Triggering a specific action in a running session
**Limitations:**
- Requires an active named session to resume
- Limited to 3 turns (quick action, not full autonomy)
- If the session doesn't exist, the command fails gracefully
## Scheduling examples
```bash
# agentTurn: run full agent turn every hour
0 * * * * /path/to/agent-turn.sh >> /tmp/agent-turn.log 2>&1
# systemEvent: notify agent of new data every 30 min
*/30 * * * * /path/to/system-event.sh "agent:processor:turn" "Check /data/inbox for new files"
# agentTurn with catchup on reboot
@reboot /path/to/agent-turn.sh >> /tmp/agent-turn.log 2>&1
```