canvas-cronlisted
Install: claude install-skill X-isdoingreat/canvas-pilot
# canvas-cron — interactive Canvas-cron builder
This skill is the user-facing control plane for `scripts/canvas_cron.py` + the
action-template framework. The student never edits `_private/cron_instances.yaml`
by hand, never copies CLI snippets, never picks routine names from memory.
**The skill is course-agnostic by design.** It never names a specific course,
template, or instance in its source text. All such names come from the CLI's
runtime output (list-courses / list-templates / list) and are surfaced via
AskUserQuestion options.
## §0 — preflight: discover what's available
Run three readonly Bash commands. Memo-ize the parsed outputs for later steps:
```bash
python scripts/canvas_cron.py list-courses
python scripts/canvas_cron.py list-templates
python scripts/canvas_cron.py list
```
If any command fails with `ModuleNotFoundError` or the framework files
(`scripts/canvas_cron.py`, `scripts/cron_base.py`, `scripts/cron_registry.py`)
don't exist, **stop and tell the student**:
> canvas-cron framework not installed in this repo. Ask CEO to deploy the
> canvas-cron MVP plan.
If `list-courses` returns "(no courses ...)", tell the student to run
canvas-setup first. If `list-templates` returns "(no templates ...)", the
framework was installed incomplete — ask CEO.
## §1 — parse student intent
Match the student's prose against one of:
| Student says (any language, paraphrased) | Intent |
|---|---|
| 装个 cron / 加个 cron / install / set up / create | `install` (new instance)