scheduler ยท diff
git:20260610.c15894f to git:20260817.b7facd1
1 added, 0 removed. Audit A to A.
---
name: scheduler
description: "Manage scheduled jobs โ create, update, list, run remote agents on cron. Use when setting up recurring tasks, checking job status, or managing automation."
effort: low
model: haiku
keywords: [cron, schedule, jobs, systemd, timer, recurring]
task_strategies: [feature, bug-fix]
stream_affinity: [roadmap, tech-debt]
argument-hint: "[status|logs|enable|disable|run|validate|deploy|teardown] [job]"
group: utility
allowed-tools:
- Bash
- AskUserQuestion
+ disable-model-invocation: true
status: stable
growth_stage: evergreen
---
# Scheduler Management
Manage scheduled brana jobs from within Claude Code. This skill wraps the `brana-scheduler` CLI.
## Available commands
Run these via Bash tool:
| Action | Command |
|--------|---------|
| Show all jobs | `brana-scheduler status` |
| Show job logs | `brana-scheduler logs <job-name>` |
| Show last N runs | `brana-scheduler logs <job-name> -n 5` |
| Enable a job | `brana-scheduler enable <job-name>` |
| Disable a job | `brana-scheduler disable <job-name>` |
| Run a job now | `brana-scheduler run <job-name>` |
| Validate config | `brana-scheduler validate` |
| Redeploy after config changes | `brana-scheduler deploy` |
| Remove all timers | `brana-scheduler teardown` |
## When invoked
1. Run `brana-scheduler status` to show current state
2. Ask the user what they want to do (view logs, toggle jobs, run something)
3. Execute the appropriate command
## Adding a new job
Guide the user to edit `~/.claude/scheduler/scheduler.json`:
```json
"my-new-job": {
"type": "skill",
"skill": "/skill-name",
"project": "~/path/to/project",
"schedule": "Mon *-*-* 09:00:00",
"model": "haiku",
"enabled": true
}
```
After editing, run `brana-scheduler deploy` to activate.
### Schedule syntax (systemd OnCalendar)
| Pattern | Meaning |
|---------|---------|
| `Mon *-*-* 09:00:00` | Every Monday at 9am |
| `Mon..Fri *-*-* 08:00:00` | Weekdays at 8am |
| `Fri *-*-* 17:00:00` | Every Friday at 5pm |
| `*-*-01 10:00:00` | 1st of every month at 10am |
| `*-*-* 06:00:00` | Daily at 6am |
Test with: `systemd-analyze calendar "Mon *-*-* 09:00:00"`
### Job types
- `"type": "skill"` โ runs `claude -p "Execute the /skill-name skill"` in the project directory
- `"type": "command"` โ runs a shell command directly in the project directory