CtrlK
BlogDocsLog inGet started
Tessl Logo

tessleng/schedule-management

Create and migrate repo-defined Tessl schedules in a project's tessl.json. Turns a plain-language cadence into a validated schedules entry, and moves an existing UI/CLI schedule into version control.

90

0.94x
Quality

97%

Does it follow best practices?

Impact

94%

0.94x

Average score across 2 eval scenarios

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

cron-cadence.mdskills/schedule-setup/references/

Writing the cron from a plain-language cadence

The user describes how often to run in plain words. You write the five-field cron. Never ask the user for a cron expression.

Field order

┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, Sunday = 0)
│ │ │ │ │
* * * * *

The cron is interpreted in the entry's timezone (UTC by default). If the user gives a local time ("9am Eastern"), set timezone to the matching IANA name (e.g. America/New_York) rather than converting the time to UTC by hand.

Common cadences

The user saysCronReading
every day at 2am0 2 * * *daily, 02:00
every morning at 90 9 * * *daily, 09:00
weekdays at 8am0 8 * * 1-5Mon to Fri, 08:00
every Monday at 1pm0 13 * * 1weekly, Mon 13:00
every Sunday night at 110 23 * * 0weekly, Sun 23:00
first of the month at midnight0 0 1 * *monthly, 1st 00:00
every hour0 * * * *top of every hour
every 6 hours0 */6 * * *00:00, 06:00, 12:00, 18:00
every 15 minutes*/15 * * * *:00, :15, :30, :45

The 5-minute floor

The tightest interval between two fires must be at least 5 minutes. A per-minute cron (* * * * *) or */1 * * * * is rejected by tessl schedule validate. If the user asks for something more frequent than every 5 minutes, tell them the floor and agree on the closest allowed cadence (e.g. */5 * * * *).

Confirm before writing

State the cron back in plain words so the user can catch a mistake, e.g. "0 2 * * * runs every day at 02:00 UTC." A wrong cron fires silently at the wrong time, so this readback is worth the extra line.

skills

README.md

tile.json