Run governed Modal sandbox jobs through OpenScience's compute_job JobBroker. Use for one-off CPU/GPU commands, explicit file uploads and captures, dependency provisioning, resource selection, approval, dispatch, and results. This skill does not install or invoke the Modal Python SDK or CLI.
70
86%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
OpenScience uses Modal as a trusted control-plane provider. The agent prepares ordinary project files and calls compute_job with target { kind: "modal" }. The JobBroker presents an exact paid-dispatch approval card, resolves credentials only after approval, creates the sandbox through OpenScience's JavaScript adapter, and returns status and logs.
This is different from developing a standalone Modal Python application. For the OpenScience path:
MODAL_TOKEN_ID, MODAL_TOKEN_SECRET, or ~/.modal.toml.modal run, modal deploy, modal serve, or modal setup.modal.App, Modal decorators, functions, volumes, or Python SDK sandboxes.yes is not dispatch authorization; the compute_job plan card owns approval.compute_job is available.Use the current <compute-capability> system section as the authority:
compute_job with the Modal target.When the user asks to run work on Modal:
compute_job with action: "start", target { kind: "modal" }, the job name, purpose, ordinary command, explicit uploads, artifacts, and packages, plus image/GPU/resources when needed.Commands execute inside the configured sandbox image. They are ordinary shell commands:
python analysis.pyThey are not Modal launch commands.
Use GPU type none for CPU-only work. Do not request a GPU for small data processing, linear regression, or other CPU-sufficient jobs merely because Modal supports GPUs.
Common GPU starting points:
| Workload | Suggested GPU |
|---|---|
| CPU-only analysis | none |
| Small inference or CUDA smoke test | T4 |
| Cost-conscious modern inference | L4 |
| Medium training or inference | A10G or L40S |
| Large-model training | A100-80GB or H100 |
Treat GPU prices and availability as provider-controlled and time-sensitive. Do not invent a precise cost or duration estimate.
Only files matching Files to upload are copied into the sandbox. Secrets, .git, node_modules, and .openscience are denied. List every required script, configuration file, and small data input explicitly.
Use Files to capture for outputs that must return to the project, for example:
outputs/**/*.csv, outputs/**/*.pngThe default image does not promise third-party Python packages. Put requirements such as numpy==2.3.2 and scikit-learn==1.7.1 in the tool's packages field. OpenScience installs them into an image layer before the sandbox starts; package installation is part of the signed approval plan and does not depend on runtime network access.
For a CPU-only regression script already created at linear_regression.py:
{
"action": "start",
"name": "Linear regression smoke test",
"purpose": "Fit the regression model and save its reviewed evaluation metrics.",
"command": "python linear_regression.py",
"target": { "kind": "modal" },
"uploads": ["linear_regression.py"],
"artifacts": ["outputs/results.json"],
"packages": ["numpy==2.3.2", "scikit-learn==1.7.1"],
"gpu": "none",
"resources": { "time_minutes": 10 }
}If the user explicitly asks to author an independent Modal Python application, explain that it is a separate workflow outside governed OpenScience Compute. You may discuss architecture conceptually, but do not install the SDK, access credentials, execute Modal CLI commands, or imply that OpenScience's enabled provider authorizes that workflow. The legacy reference files in this skill directory are not execution instructions for OpenScience Compute.
3a6c3a9
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.