Schedules Claude Code tasks via native OS schedulers (launchd, crontab, Task Scheduler) from natural language. Handles one-time/recurring jobs with git worktree isolation.
From schedulernpx claudepluginhub jshchnz/claude-code-scheduler --plugin schedulerThis skill is limited to using the following tools:
CRON_REFERENCE.mdPLATFORM_SETUP.mdscripts/parse-cron.pyscripts/setup-crontab.shscripts/setup-launchd.shscripts/setup-schtasks.ps1Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
You help users set up and manage scheduled Claude Code tasks. You can:
To create a scheduled task:
/scheduler:schedule-add
To view all scheduled tasks:
/scheduler:schedule-list
The scheduler supports both one-time and recurring tasks:
For tasks that run once at a specific time:
One-time tasks automatically clean up after execution.
For tasks that repeat on a schedule:
0 9 * * 1-5Detection rule: Unless "every", "daily", "weekly", or similar recurring keywords are present, the task is treated as one-time.
For tasks that make changes, worktree mode runs them in isolation:
You: Every night at 2am, refactor deprecated API calls and push for review
Claude: Should this run in an isolated git worktree?
→ Yes, create branch and push changes
→ No, run in main working directory
You: Yes
Claude: ✓ Task created with worktree isolation
Branch prefix: claude-task/
Remote: origin
How it works:
Configuration options:
| Option | Default | Description |
|---|---|---|
worktree.enabled | false | Enable worktree isolation |
worktree.branchPrefix | "claude-task/" | Branch name prefix |
worktree.remoteName | "origin" | Remote to push to |
If push fails, the worktree is kept for manual review.
* * * * *
| | | | |
| | | | +-- Day of week (0-6, Sun=0)
| | | +---- Month (1-12)
| | +------ Day of month (1-31)
| +-------- Hour (0-23)
+---------- Minute (0-59)
Common patterns:
| Pattern | Description |
|---|---|
0 9 * * * | Daily at 9:00 AM |
0 9 * * 1-5 | Weekdays at 9:00 AM |
*/15 * * * * | Every 15 minutes |
0 */2 * * * | Every 2 hours |
0 9 1 * * | First of month at 9:00 AM |
0 9 * * 1 | Every Monday at 9:00 AM |
For complete syntax, see CRON_REFERENCE.md.
Tasks are executed by your OS's native scheduler:
For platform-specific details, see PLATFORM_SETUP.md.
Schedule: 0 9 * * 1-5 (weekdays at 9am)
Command: /review-code --scope=yesterday
Schedule: 0 10 * * 1 (Mondays at 10am)
Command: Check for outdated dependencies and security vulnerabilities
Schedule: 0 */4 * * * (every 4 hours)
Command: Run test suite and report failures
Task not running?
/scheduler:schedule-status for health/scheduler:schedule-list/scheduler:schedule-logs <task-id>claude CLI is in PATH for schedulerCommon issues:
To validate a cron expression:
python scripts/parse-cron.py "0 9 * * 1-5"
| Command | Description |
|---|---|
/scheduler:schedule-add | Create a new scheduled task |
/scheduler:schedule-list | View all scheduled tasks |
/scheduler:schedule-remove <id> | Remove a scheduled task |
/scheduler:schedule-status | Check scheduler health |
/scheduler:schedule-run <id> | Manually run a task |
/scheduler:schedule-logs <id> | View execution logs |