crun-task-runnerlisted
Install: claude install-skill CrunTeam/crun-agent-skills
# Crun Task Runner
Treat this skill as the authority for task creation, authorization, monitoring, recovery, and result delivery. Use `../../runtime/crun_cli.py`; optionally set `CRUN_BASE_URL` for a non-default endpoint. Never print or persist an API key in task files.
## Prepare media and JSON
Upload a local image, video, or audio file before putting it in a task input:
```text
python <runtime>/crun_cli.py upload <local-file>
```
Put the returned `file_url` in the model input. Never send Base64, data URIs, or local paths. Reuse a prior Crun task's resource URL directly for derivative work.
Prefer UTF-8 files to avoid shell-specific JSON quoting:
```text
python <runtime>/crun_cli.py task estimate --model <model> --input-file <input.json>
```
Use `--input-file -` to read one JSON object from stdin. Use `--input-json` only when the current shell preserves the JSON string exactly.
## Run a task
1. Describe the selected model when its exact input schema is not already known:
```text
python <runtime>/crun_cli.py models describe --model <model>
```
2. Construct only fields permitted by `input_schema`.
3. Estimate the final model and exact input before creating any task, including a user-specified model. Require
`affordable: true`. This matters because `CreateTask` charges credits and is never retried, so submitting an
unaffordable or malformed task wastes a real charge.
4. If routing selected the model, report the model, estimate, and relevant settings,