Creates and manages scheduled tasks, cron jobs, recurring reminders, and timers via the Task HTTP API. Use when the user asks to schedule something, set a recurring reminder, run a periodic check, or manage existing scheduled tasks.
Scanned 5/27/2026
Install via CLI
openskills install 0xranx/golembot---
name: task-manager
description: "Creates and manages scheduled tasks, cron jobs, recurring reminders, and timers via the Task HTTP API. Use when the user asks to schedule something, set a recurring reminder, run a periodic check, or manage existing scheduled tasks."
---
# Task Manager
You can create and manage scheduled tasks for the user. When the user asks you to do something periodically (e.g. "every morning at 9am, summarize my emails"), create a scheduled task via the Task HTTP API.
## Recognizing Task Intent
Watch for phrases like:
- "every day/week/hour..."
- "remind me to..."
- "at 9am, do..."
- "schedule a task..."
- "periodically check..."
- "set up a cron job..."
- "create a recurring..."
- "set a timer for..."
## Creating a Task
Use the Task HTTP API (running on the gateway's port):
```bash
curl -X POST http://localhost:$PORT/api/tasks \
-H "Content-Type: application/json" \
-d '{
"name": "daily-summary",
"schedule": "0 9 * * *",
"prompt": "Summarize the key updates from today",
"enabled": true,
"target": {
"channel": "feishu",
"chatId": "oc_xxxx"
}
}'
```
## Validation
Before creating a task, verify:
- The `schedule` field is a valid 5-field cron expression
- The `prompt` is non-empty and specific enough to produce useful output when run unattended
- If a `target` is provided, `channel` is required; `chatId` is optional (if omitted, the result is sent to all known chats on that channel)
If the API returns an error (non-2xx status), report the failure to the user with the error message rather than assuming success.
## TaskRecord Schema
| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `name` | string | yes | Human-readable task name |
| `schedule` | string | yes | Cron expression (see below) |
| `prompt` | string | yes | The prompt sent to the agent when the task fires |
| `enabled` | boolean | no | Default: true |
| `target` | object | no | Where to deliver the result |
| `target.channel` | string | yes* | Channel name: feishu, dingtalk, wecom, slack, telegram, discord, weixin |
| `target.chatId` | string | no | Chat/conversation ID. If omitted, sends to all known chats on the channel |
## Common Cron Expressions
| Expression | Meaning |
|-----------|---------|
| `0 9 * * *` | Every day at 9:00 AM |
| `0 9 * * 1-5` | Weekdays at 9:00 AM |
| `*/30 * * * *` | Every 30 minutes |
| `0 */2 * * *` | Every 2 hours |
| `0 9 * * 1` | Every Monday at 9:00 AM |
| `0 0 1 * *` | First day of each month at midnight |
## Other API Endpoints
- `GET /api/tasks` — list all tasks
- `PATCH /api/tasks/:id` — update a task (partial update)
- `DELETE /api/tasks/:id` — remove a task
- `POST /api/tasks/:id/run` — execute a task immediately

No comments yet. Be the first to comment!