Help us improve
Share bugs, ideas, or general feedback.
From scheduler
Schedules Claude Code tasks via native OS schedulers (launchd, crontab, Task Scheduler) from natural language. Handles one-time/recurring jobs with git worktree isolation.
npx claudepluginhub jshchnz/claude-code-scheduler --plugin schedulerHow this skill is triggered — by the user, by Claude, or both
Slash command
/scheduler:schedulerThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
You help users set up and manage scheduled Claude Code tasks. You can:
Manages scheduled Claude Code tasks: add recurring/one-off skills/prompts/scripts, list/pause/resume/remove, view results/logs, test execution with safety controls and notifications. Cross-platform (macOS/Linux/Windows).
Schedules recurring and one-off tasks via local OS cron (Unix/Windows Task Scheduler) or remote CronCreate/CronDelete/CronList. Use /schedule add/list/remove; prefers local to avoid routine quotas.
Schedules recurring prompts or one-time reminders with /loop and cron tools to poll deployments, check builds, review PRs, or set session alerts in Claude Code.
Share bugs, ideas, or general feedback.
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 |