Files
windmill/system_prompts/base/schedules.md
Ruben Fiszel 136c88a231 docs(skills): decouple safe local commands from destructive sync push (#9467)
* docs(skills): decouple safe local commands from destructive sync push

The schedules, triggers, and resources skill templates lumped every CLI
command under a blunt "do NOT run them yourself" directive. This conflated
two very different risk profiles and forbade the agent from running even
read-only/local commands, creating needless friction.

Align these three with the nuanced policy flow-cli.md already uses: keep
`wmill sync push` defensive (it deploys and can be destructive to remote
state — only run when the user explicitly asks to deploy/publish/push),
while letting read-only commands (`sync pull`, `schedule`, `resource
list`) be run freely. Regenerated auto-generated skills + skills.gen.ts.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* feat(cli): warn that sync push is destructive in dry-run output

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(skills): clarify sync pull mutates local files, not read-only

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: centdix <farhadg110@gmail.com>
2026-06-09 14:05:50 +00:00

1.7 KiB

Windmill Schedules

Schedules run scripts and flows automatically on a cron schedule.

File Naming

Schedule files use the pattern: {path}.schedule.yaml

Example: f/folder/daily_sync.schedule.yaml

Note: The path is derived from the filename, not stored in the file content.

Cron Expression Format

Windmill uses 6-field cron expressions (includes seconds):

 ┌───────────── second (0-59)
 │ ┌───────────── minute (0-59)
 │ │ ┌───────────── hour (0-23)
 │ │ │ ┌───────────── day of month (1-31)
 │ │ │ │ ┌───────────── month (1-12 or jan-dec)
 │ │ │ │ │ ┌───────────── day of week (0-6, 0=Sunday, or sun-sat)
 │ │ │ │ │ │
 * * * * * *

Common Examples:

  • 0 0 0 * * * - Daily at midnight
  • 0 0 12 * * * - Daily at noon
  • 0 */5 * * * * - Every 5 minutes
  • 0 0 9 * * 1-5 - Weekdays at 9 AM
  • 0 0 0 1 * * - First day of each month

CLI Commands

wmill sync push deploys local changes to the workspace and can be destructive to remote state — only suggest/run it when the user explicitly asks to deploy/publish/push, not when they say "run", "try", or "test". The commands below never mutate remote state, so they're safe to run yourself — note that sync pull does overwrite local files to match the remote (use sync pull --dry-run to only preview), while schedule just lists.

# Push schedules to Windmill — only when the user explicitly asks to deploy
wmill sync push

# Pull schedules from Windmill
wmill sync pull

# List schedules
wmill schedule