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

criteria.jsonevals/scenario-2/

{
  "context": "Tests whether the agent reads a live schedule's `tessl schedule view --json` output and writes the equivalent repo-defined entry in tessl.json: correct field mapping (skillRef->skill, environment.name->environment, cron/agent/model), a kebab-case key, dropping/flagging fields with no file home (timeoutMs, label), and a passing `tessl schedule validate`.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "schedules entry added",
      "description": "tessl.json now has a top-level `schedules` object with one entry, keyed by a lowercase kebab-case slug (e.g. `nightly-report`), and the original `name`/`mode`/`dependencies` are preserved.",
      "max_score": 15
    },
    {
      "name": "Skill and cron mapped",
      "description": "The entry's `skill` is `acme/reports#nightly` (from `config.skillRef`) and `cron` is `0 2 * * *`.",
      "max_score": 20
    },
    {
      "name": "Environment mapped by name",
      "description": "The entry's `environment` is `reports-prod` — the environment NAME from `environment.name`, NOT the environment id (`018f2c0e-...`).",
      "max_score": 25
    },
    {
      "name": "Optional fields mapped, defaults omittable",
      "description": "`agent` (claude) and `model` (claude-sonnet-4-6) and `description` are carried across. It is acceptable to omit `timezone` (UTC) and `baseBranch` (main) as defaults. No unknown/misspelled field names are present (strict schema).",
      "max_score": 15
    },
    {
      "name": "Unmappable fields flagged, not invented",
      "description": "result.md notes that non-schema fields are dropped or not carried — at least `timeoutMs` (non-default 5400000) and/or `label` — rather than inventing file fields for them. The agent did not add `timeoutMs`, `label`, `inputs`, or `instructions` to the entry.",
      "max_score": 15
    },
    {
      "name": "Validation run and passing",
      "description": "The agent ran `tessl schedule validate` from the repo root and result.md reports it passed.",
      "max_score": 10
    }
  ]
}

README.md

tile.json