Scheduled Task Skill
SkillProductivityScheduled task management - create, query, and delete scheduled tasks that automatically execute operations at specified times.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Scheduled Task Skill skill
What this skill tells your AI
The instructions your AI receives, as published by contextgo/contextgo in src/process/resources/skills/_builtin/schedule/SKILL.md and read by ahel’s review.
You can manage scheduled tasks to automatically execute operations at specified times.
IMPORTANT RULES
- ONE task per conversation - Each conversation can only have ONE scheduled task
- Query and WAIT for result - Before creating a task, output
[SCHEDULE_LIST]and WAIT for the system to return the result - NEVER combine commands - Do NOT output
[SCHEDULE_LIST]and[SCHEDULE_CREATE]in the same message. Query first, wait for result, then decide. - ASK before delete - If a task exists, you MUST ask the user whether to replace it or keep it. NEVER delete without the user's explicit confirmation.
- ALWAYS include closing tags -
[SCHEDULE_CREATE]MUST end with[/SCHEDULE_CREATE] - Output commands directly - Do NOT wrap commands in markdown code blocks
Workflow for Creating a Task
CRITICAL: This is a multi-turn workflow. Do NOT skip steps or combine them.
Step 1: Query existing tasks (STOP and wait)
Output ONLY [SCHEDULE_LIST] and nothing else. The system will return the current task status.
DO NOT proceed to Step 2 until you see the system response.
Step 2: Review the result and ask user (STOP and wait for user response)
After receiving the [SCHEDULE_LIST] result:
- If "No scheduled tasks" → proceed to Step 3
- If a task already exists → You MUST ask the user what they want to do:
- Option A: Delete the existing task and create a new one
- Option B: Keep the existing task and cancel creating a new one
- NEVER delete the existing task without explicit user confirmation
- Wait for the user's response before proceeding
Step 3: Execute user's decision
- If user chose to replace: First delete the old task with
[SCHEDULE_DELETE: <job-id>], wait for confirmation, then create the new task - If user chose to keep: Do NOT create a new task; inform the user the existing task is retained
Step 4: Create the new task (only if no task exists or user confirmed deletion)
Only after confirming no task exists (or after successfully deleting), output the [SCHEDULE_CREATE] block.
Create Scheduled Task
When the user requests a timed reminder or periodic task, output this format DIRECTLY (not in code blocks):
[SCHEDULE_CREATE] name: Task name schedule: Cron expression schedule_description: Human-readable description of when the task runs message: Message content to send when triggered [/SCHEDULE_CREATE]
Required fields:
name: Short descriptive name for the taskschedule: Valid cron expressionschedule_description: Human-readable explanation of the schedule (e.g., "Every Monday at 9:00 AM")message: The message to send when the task triggers
Example output (output EXACTLY like this, without code blocks):
[SCHEDULE_CREATE] name: Weekly Meeting Reminder schedule: 0 9 * * MON schedule_description: Every Monday at 9:00 AM message: Time for the weekly meeting! [/SCHEDULE_CREATE]
Query Scheduled Tasks
Output [SCHEDULE_LIST] directly (not in code blocks) to query scheduled tasks.
The system will return the result in a follow-up message. Wait for the response before taking further action.
Delete Scheduled Task
Output [SCHEDULE_DELETE: <actual-job-id>] directly to delete a specific task.
Replace <actual-job-id> with the real job ID (for example, schedule_abc123).
Cron Expression Reference
| Expression | Meaning |
|---|---|
0 9 * * * | Every day at 9:00 AM |
0 9 * * MON | Every Monday at 9:00 AM |
0 9 * * MON-FRI | Weekdays at 9:00 AM |
*/30 * * * * | Every 30 minutes |
0 */2 * * * | Every 2 hours |
0 0 1 * * | 1st of every month at midnight |
0 18 * * FRI | Every Friday at 6:00 PM |
0 9,18 * * * | Every day at 9:00 AM and 6:00 PM |
Cron Expression Format
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, SUN-SAT)
│ │ │ │ │
* * * * *
Special Characters
*- Any value,- List separator (e.g.,1,3,5)-- Range (e.g.,MON-FRI)/- Step (e.g.,*/15for every 15)
Notes
- Scheduled tasks are bound to the current conversation
- When triggered, the message will be sent to this conversation
- CRITICAL:
[SCHEDULE_LIST]is an async query. You MUST wait for the system response before proceeding with[SCHEDULE_CREATE]or[SCHEDULE_DELETE]. Never output multiple commands in one message.
Signals
- GitHub stars
- 54
- Forks
- 5
- Last commit
- May 2026
Advanced
- Catalog kind
- skill
- Gateway key
schedule- Source
- github.com/contextgo/contextgo