Scheduling & Cron
Schedule tasks to run automatically at fixed intervals or specific times.
Overview
Yukkai provides two complementary scheduling mechanisms that let you automate repetitive work and keep your calendar in sync:
- Cron / Recurring Prompts — schedule an AI prompt to execute automatically
- Calendar Intelligence — the
schedulingtool reads and writes Apple
The two features are separate: the calendar tool does not create cron jobs, and cron jobs are not calendar events. They are designed to work together when you need them to — for example, a cron job that runs every morning and asks the assistant to produce a briefing, which in turn reads your calendar.
How it works
Cron / Recurring Prompts
Cron jobs are managed entirely through slash commands in the chat. The assistant itself cannot create, modify, or list cron jobs via a tool call — you do it directly with the commands below.
| Command | Purpose |
|---|---|
/cron |
List all existing cron jobs |
/cron-add <schedule> \| <prompt> |
Create a new recurring job |
/cron-run <id> |
Run a job immediately (manual trigger) |
/cron-remove <id> |
Delete a job |
When a cron job fires, it executes its stored prompt directly through the conversation engine. It is a recurring LLM prompt execution — not a spawned sub-agent and not a simple push notification.
Schedule syntax
Cron schedules accept several human-readable formats:
| Syntax | Meaning |
|---|---|
@hourly |
Every hour |
@daily |
Every day at midnight (use at for a specific time) |
@weekly |
Every week |
every 30m |
Every 30 minutes |
every 2h |
Every 2 hours |
at 08:00 |
Every day at 08:00 |
at 08:00 mon,wed,fri |
At 08:00 on Monday, Wednesday, and Friday |
Day abbreviations can be entered in English (mon, wed, fri) or French (lun, mer, ven).
Calendar Intelligence
The scheduling tool provides six actions that integrate with Apple Calendar:
| Action | What it does |
|---|---|
morning_briefing |
Returns a formatted daily overview of your events and tasks |
suggest_schedule |
Analyses unscheduled tasks and suggests time slots (7-day horizon by default) |
apply_schedule |
Commits a suggestion to your calendar (requires a task_id from the same session) |
calendar_today |
Lists today's calendar events |
free_slots |
Finds available time windows over the next 1–14 days |
detect_overload |
Flags days where your schedule is too dense |
calendar_create |
Manually creates a calendar event with a title, start time, and duration |
All scheduling actions automatically request Calendar permission on first use. If you see a permission-denied error, it means the system dialog was refused — grant access in your Mac's Privacy & Security settings.
How to use it
Creating a recurring prompt
Type a slash command in the chat:
/cron-add every 1h | Check my email and summarize anything urgent
Yukkai parses the schedule and stores the prompt. From that point on, the job runs automatically at the specified interval. You can view all active jobs with:
/cron
To remove a job, find its ID in the list and run:
/cron-remove <id>
Using calendar intelligence
Simply ask Yukkai in natural language:
- "What does my day look like?" → triggers
calendar_today/morning_briefing - "Find me a free 2-hour slot this week." → triggers
free_slots - "Am I overloaded this week?" → triggers
detect_overload - "Schedule a 30-minute client call on July 10 at 2 PM." → triggers
calendar_create
Examples
Daily weather and news digest
/cron-add at 08:00 | Give me today's weather and top news
Every morning at 08:00, Yukkai executes the prompt and delivers a fresh digest to your chat.
Hourly email triage
/cron-add every 1h | Check my email and summarize anything urgent
Mid-week project check-in
/cron-add at 09:00 mon,wed,fri | Review my active tasks and remind me of deadlines
One-off calendar event
Just say:
"Schedule a team sync on Friday at 3 PM for 45 minutes."
Yukkai calls calendar_create with the appropriate parameters and confirms the event has been added.
Morning briefing on demand
"Give me my morning briefing."
Yukkai calls morning_briefing and returns a formatted summary of today's events, tasks, and any overload warnings.
Tips
- Cron jobs are not notifications. They execute a full LLM prompt, which means
- Keep prompts concise but specific. A cron prompt like "Check my email and
- Use English or French day abbreviations. Both
mon,wed,friand
lun,mer,ven are accepted in cron schedules.
- Calendar permission is required. If scheduling actions fail, check
suggest_schedule→apply_schedulemust happen in the same session. The
- Test before you trust. Use
/cron-run <id>to fire a job immediately and
- Combine cron + calendar. A cron job that runs at 07:55 and asks for a