About yolo
A skill guide to the Ultralytics YOLO lifecycle across Ultralytics Platform, the Python package, and command-line tools. It is for users building and running computer-vision workflows, with stage-specific references and operational checks for data, training, inference, export, and deployment.
Key features
- 01Platform data, training, and deployment
- 02YOLO CLI and Python API
- 03Detection, segmentation, and classification
- 04Model validation, tracking, and export
- 05Cloud runs and resource management
Use cases
- 01Train vision models locally or in the cloud
- 02Run inference on images, video, and streams
- 03Export models to deployment formats
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ ultralytics/ skills --skill yoloAfter installing, type/yoloin Claude Code to confirm it loaded.
Bundled filesagents/openai.yaml
Details
From the project READMEUltralytics YOLO
Run the same lifecycle on three complementary surfaces:
- Ultralytics Platform — the fastest start: upload or clone data, annotate in the browser, train on cloud GPUs, inspect metrics, test predictions, export, and deploy a dedicated endpoint without local setup.
ultralyticspackage /yoloCLI — use local or remote compute, scripts, notebooks, custom pipelines, and exported artifacts directly.ulCLI (Python 3.11+, installed byultralyticsorultralytics-platform) — script the Platform API itself:ul cloud <resource> <operation> key=valuelists, creates, clones, trains, exports, and deploys Platform resources from a terminal (seeplatform-cli).
ul cloud train|predict|export upload local inputs as needed and run on Platform. Training returns after submission; add watch to follow and download results. ul cloud download uses the printed model URI and waits if needed; Ctrl-C stops waiting without canceling training. All four shortcuts need ultralytics installed; the ul cloud <resource> <operation> commands do not.
ul cloud train model=yolo26n.pt data=ul://username/datasets/helmets epochs=100 project=helmets name=exp1 # → run URI and download command
ul cloud download model=ul://username/helmets/exp1 # → weights/best.pt and results
ul cloud predict model=ul://username/helmets/exp1 source=video.mp4 # → annotated output
ul cloud export model=ul://username/helmets/exp1 format=onnx # → downloaded artifact
Mix them freely. Set ULTRALYTICS_API_KEY, use a Platform dataset as data=ul://username/datasets/dataset-slug, and set project=username/project-slug name=experiment during local training to stream its metrics back to Platform.
The yolo CLI and Python share one API. The CLI grammar is yolo TASK MODE arg=value ..., and Python takes the same argument names:
yolo detect train data=data.yaml model=yolo26n.pt epochs=100 imgsz=640
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
model.train(data="data.yaml", epochs=100, imgsz=640)
- TASK ∈
detectsegmentsemanticdepthclassifyposeobb— usually inferred from the weights, so it can be omitted. - MODE ∈
trainvalpredicttrackexportbenchmark. - Install/upgrade:
pip install -U ultralytics. Environment check:yolo checks.
Whole lifecycle in five commands
yolo detect train data=data.yaml model=yolo26n.pt epochs=100 # → runs/detect/train/weights/best.pt
yolo val model=best.pt data=data.yaml # mAP, per-class metrics
yolo predict model=best.pt source=video.mp4 save=True # any source: image/dir/URL/RTSP/webcam
yolo track model=best.pt source=video.mp4 # + persistent object IDs
yolo export model=best.pt format=onnx # exported model loads back into YOLO()
Whole lifecycle in Platform
- Open Platform and choose the data region during onboarding.
- Clone a public dataset from Explore, or create one under Annotate and upload images, videos, an archive, or NDJSON.
- Label in the fullscreen editor; use SAM or a compatible YOLO model in Smart mode where available.
- Create a project, click New Model, select the dataset, pretrained model, GPU, and epochs, then monitor the run.
- Use the completed model's Predict, Export, or Deploy tab.
Start with the Platform quickstart. Use the stage skill below for both Platform and package details.
Route before coding
Read the skill for the stage you're working on BEFORE writing code — each is a sibling folder of this one (../<skill>/SKILL.md) and contains exact formats, argument tables with defaults, recipes, and symptom→fix tables. A request spanning stages ("train and deploy") → read each relevant skill.
| Working on | Skill |
|---|---|
| choosing a model family/size/task, YOLO26 vs YOLO11, YOLO-World/YOLOE, SAM, RT-DETR | yolo-models |
| data.yaml, labels, annotation conversion, auto-labeling, dataset analysis/errors, splits | yolo-datasets |
| training, fine-tuning, hyperparameters, augmentation, OOM / NaN / low mAP, reading runs | yolo-training |
| hyperparameter tuning, Ray Tune, systematic model improvement, "autotraining" | yolo-tuning |
| predict on images/video/streams, Results API, tracking IDs, counting/heatmaps/Solutions | yolo-inference |
| ONNX / TensorRT / CoreML / Core AI / OpenVINO / LiteRT / NCNN / NPUs, quantization, benchmarking | yolo-export |
Platform API from a terminal: ul cloud <resource> <operation> commands, ultralytics-platform, scripted changes to resources, trash, deployments, and cloud runs | platform-cli |
CLI specifics
Special commands (no TASK/MODE):
yolo help # full syntax reference
yolo checks # env report: version, torch, CUDA, disk — run when anything is weird
yolo version
yolo settings # view; `yolo settings key=value` to set; `yolo settings reset`
# keys incl. datasets_dir, runs_dir, wandb, mlflow, tensorboard, ...
yolo cfg # print every default argument (the ground truth for arg names)
yolo copy-cfg # copy default.yaml → default_copy.yaml to customize, use with cfg=
yolo solutions help # prebuilt apps: count, heatmap, speed, ... (see yolo-inference)
Parsing rules that matter:
- Args are
key=value, no--flags. A leading--and trailing commas are stripped with a warning; spaces around=are merged. - A bare boolean arg sets it True:
yolo predict ... show≡show=True. cfg=custom.yamlloads the file's values: CLI arguments before or after it win, and missing keys still use built-in defaults (start withyolo copy-cfg).- Missing args are auto-filled with warnings (sample source, task-default data/model,
format=torchscript). - Model stem selects the architecture:
rtdetr-*→ RT-DETR,sam_*/sam2*/sam3*/mobile_sam→ SAM,FastSAM-*→ FastSAM,yolo_nas_*→ NAS,yoloe-*/*-world*→ promptable YOLO (acceptsclasses="person, bus"), everything else → YOLO.
Global directives
- Validate the dataset before training — run the task-appropriate checks in
yolo-datasets, then a 1-epoch smoke test and inspectruns/<task>/train/train_batch0.jpg: annotations or targets must match each image. - Always fine-tune from pretrained
.pt— neverpretrained=False, never a YAML architecture from scratch, unless the user is explicitly doing research. stream=Truefor videos/streams in Python predict/track — the default list mode OOMs on long videos.- Use
best.pt(notlast.pt) fromruns/<task>/<name>/weights/after training. - After export, verify parity:
yolo valthe exported artifact against the.ptbaseline. - Prefer built-ins over custom code: dataset converters and checkers (
ultralytics.data), trackers, and Solutions modules replace whole categories of hand-written glue. - Trust the installed version over memory — if an argument is rejected, the API has moved:
yolo cfgand the error text list valid arguments, andyolo checksshows the version. Prefer them over any table in these skills.