# Job Transforms :::{note} These transforms are currently duplicated by standalone Taskgraph and will likely be refactored / removed at a later date. ::: A job description says what to run in the task. It is a combination of a `run` section and all of the fields from a task description. The run section has a `using` property that defines how this task should be run; for example, `mozharness` to run a mozharness script, or `mach` to run a mach command. The remainder of the run section is specific to the run-using implementation. The effect of a job description is to say "run this thing on this worker". The job description must contain enough information about the worker to identify the workerType and the implementation (docker-worker, generic-worker, etc.). Alternatively, job descriptions can specify the `platforms` field in conjunction with the `by-platform` key to specify multiple workerTypes and implementations. Any other task-description information is passed along verbatim, although it is augmented by the run-using implementation. The run-using implementations are all located in `taskcluster/gecko_taskgraph/transforms/job`, along with the schemas for their implementations. Those well-commented source files are the canonical documentation for what constitutes a job description, and should be considered part of the documentation. following `run-using` are available - `hazard` - `mach` - `mozharness` - `mozharness-test` - `run-task` - `spidermonkey` or `spidermonkey-package` - `debian-package` - `ubuntu-package` - `toolchain-script` - `always-optimized` - `fetch-url` - `python-test` - `gradlew` - `mach-gradle` - `run-commands`