name: manage-schedules description: | Manage scheduled tasks for Talon personas. Use when the user says "add schedule", "create schedule", "list schedules", "remove schedule", "scheduled task", or "cron job". triggers: - "add schedule" - "create schedule" - "list schedules" - "remove schedule" - "scheduled task" - "cron job"
Manage Schedules
Guide the user through creating, listing, or removing scheduled tasks. Schedules live in the database (not the config file) and require a running daemon to fire.
Phase 1: Determine Action
Ask what they want to do:
- Create a new scheduled task
- List existing schedules
- Remove a schedule
Phase 2a: Create Schedule
- Run
npx talonctl list-personasto show available personas. - Ask which persona should run the task.
- Run
npx talonctl list-channelsto show available channels. - Ask which channel to bind the schedule to (this creates a thread for the schedule on that channel).
- Ask for the cron expression. Offer common presets:
- Every hour:
0 * * * * - Twice daily (9am, 9pm):
0 9,21 * * * - Daily at 9am:
0 9 * * * - Every Monday at 9am:
0 9 * * 1 - Every 30 minutes:
*/30 * * * *
- Every hour:
- Ask for a label (short name like
memory-groomingorgit-pull-notes). - Ask for the prompt (what the agent should do when triggered).
- Run:
npx talonctl add-schedule --persona <name> --channel <channel> --cron "<expr>" --label "<label>" --prompt "<prompt>" --config talond.yaml - Confirm with schedule ID and next run time.
Phase 2b: List Schedules
Run: npx talonctl list-schedules --config talond.yaml
Optionally filter: --persona <name>
Phase 2c: Remove Schedule
- Run
npx talonctl list-schedulesto show existing schedules. - Ask which schedule to remove (by ID).
- Run:
npx talonctl remove-schedule <id> --config talond.yaml
Notes
- Schedules fire in system local time (CET on the VM).
- Schedule output is silent -- the agent only sends messages if it explicitly uses channel.send.
- The daemon must be running for schedules to fire (they live in the DB, not the config).
- After creating schedules, remind the user: schedules require a running daemon to execute.