A straightforward scheduling tool that handles both static reminders and dynamic tasks where Claude actually executes something each time the cron fires. The three-mode setup is smart: fixed reminders for things like break notifications, recurring tasks where the agent checks GitHub stars or pulls fresh data, and one-time scheduled events that clean themselves up. It supports both simple interval timers (every_seconds) and proper cron expressions for "weekdays at 5pm" scenarios. The dynamic task mode is the interesting bit here, since most cron tools just send you a message, but this one lets Claude run a task description and report back with current results each time.
- skills.sh installs
- 228
- GitHub stars
- 41.9K
- last updated
- Aug 21, 2026
Install
$ npx -y skills add volcengine/openviking --skill cron --agent claude-codeInstalls into .claude/skills of the current project.
Files
Cron
Use the cron tool to schedule reminders or recurring tasks.
Three Modes
- Reminder - message is sent directly to user
- Task - message is a task description, agent executes and sends result
- One-time - runs once at a specific time, then auto-deletes
Examples
Fixed reminder:
cron(action="add", message="Time to take a break!", every_seconds=1200)
Dynamic task (agent executes each time):
cron(action="add", message="Check HKUDS/vikingbot GitHub stars and report", every_seconds=600)
One-time scheduled task (compute ISO datetime from current time):
cron(action="add", message="Remind me about the meeting", at="<ISO datetime>")
List/remove:
cron(action="list")
cron(action="remove", job_id="abc123")
Time Expressions
| User says | Parameters |
|---|---|
| every 20 minutes | every_seconds: 1200 |
| every hour | every_seconds: 3600 |
| every day at 8am | cron_expr: "0 8 * * *" |
| weekdays at 5pm | cron_expr: "0 17 * * 1-5" |
| at a specific time | at: ISO datetime string (compute from current time) |
Sponsors
Details
- Repository
- github.com/volcengine/openviking
- Category
- Automation & Workflows
- First seen
- Jun 3, 2026
