From ultralytics
Use when the user mentions Ultralytics or YOLO — training a detector/segmenter/classifier/pose/OBB model, dataset YAML files, .pt weights, predicting on images/video, or exporting to ONNX/CoreML/TensorRT/TFLite/OpenVINO. Provides the conceptual model and dispatches to the matching slash command (/train, /predict, /export, /dataset-check) for actions.
How this skill is triggered — by the user, by Claude, or both
Slash command
/ultralytics:yoloThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
A concise reference for working with Ultralytics YOLO via the `yolo` CLI. The four slash commands (`/train`, `/predict`, `/export`, `/dataset-check`) do the work; this skill explains the concepts and dispatches.
A concise reference for working with Ultralytics YOLO via the yolo CLI. The four slash commands (/train, /predict, /export, /dataset-check) do the work; this skill explains the concepts and dispatches.
The user mentions: Ultralytics, YOLO, yolo11n/s/m/l/x (or yolov8/yolov9/yolov10), training a detector, data.yaml, .pt weights, ONNX/CoreML/TensorRT/TFLite/OpenVINO export, segmentation/classification/pose/OBB tasks.
Every Ultralytics workflow is model + data + task → operation:
.pt file or pretrained name (yolo11n.pt, yolo11s-seg.pt, yolo11m-cls.pt, yolo11l-pose.pt, yolo11x-obb.pt).detect, -seg = segment, -cls = classify, -pose = pose, -obb = obb.data.yaml. For classify: a directory in ImageFolder layout.train, val, predict, export, track, benchmark.| arg | meaning | typical |
|---|---|---|
model | weights path or pretrained name | yolo11n.pt |
data | dataset yaml or class-dir | coco8.yaml |
epochs | training epochs | 100 |
imgsz | input size | 640 |
batch | batch size; -1 = auto | 16 |
device | 0, 0,1, cpu, mps | auto |
project / name | output dir | runs/detect/train |
resume | resume last run | False |
conf | predict confidence threshold | 0.25 |
source | predict input (img/dir/video/URL/0) | — |
format | export target | onnx |
Minimum viable:
path: /abs/or/rel/dataset/root
train: images/train
val: images/val
names:
0: person
1: car
Labels live alongside images at labels/train/...txt and labels/val/...txt. Each line: class_id cx cy w h (normalized 0–1).
When the user asks to:
/ultralytics:train (parses args or asks for model/data/epochs)./ultralytics:predict./ultralytics:export./ultralytics:dataset-check.Pass any key=value tokens the user already provided through to the command verbatim.
YOLO work is GPU-bound; users commonly run training/prediction/export on a remote GPU box and read/write code locally. The four commands honor a remote configuration so Claude transparently wraps invocations with ssh.
Configuration sources, in order of precedence:
ULTRALYTICS_REMOTE (required, e.g. pose), ULTRALYTICS_WORKDIR (optional, defaults to ~)..ultralytics.yml in the cwd or any ancestor directory:
remote: pose # ssh host alias from ~/.ssh/config
workdir: ~/yolo # remote cwd for runs
If neither is set, commands run locally as before.
Wrapping pattern. When a remote is configured, transform any yolo … invocation into:
ssh <remote> 'bash -lc "cd <workdir> && yolo <args>"'
Use bash -lc so the user's login PATH (conda/pyenv/etc.) is loaded. Apply the same wrapping to preflight probes — for example, command -v yolo becomes ssh <remote> 'bash -lc "command -v yolo"', and the torch.cuda.is_available() GPU check runs on the remote.
What does NOT cross the SSH boundary automatically:
data=coco8.yaml and any local image/video source= path must already exist on the remote. If a path is local, ask the user whether to rsync it up (e.g. rsync -av ./mydata/ <remote>:<workdir>/mydata/) or whether the data is already on the remote. URL sources (source=https://…) and named datasets that Ultralytics auto-downloads (coco8.yaml, coco128.yaml) work without sync.runs/<task>/<name>/ lives on the remote. After training/export completes, surface the remote path and offer rsync -av <remote>:<workdir>/runs/<task>/<name>/ ./runs/<task>/<name>/ so the user can pull weights/artifacts back.yolo11n.pt etc. auto-download on first use — once per remote.When to NOT wrap: /ultralytics:dataset-check validates a YAML on the local filesystem; do not wrap it with ssh. It's a static check, not a yolo invocation.
Two conventions to make experiments self-describing:
name= (always on, no config). When the user doesn't pass name=, /ultralytics:train synthesizes <YYYYMMDD-HHMM>_<model-stem>_<data-stem>_e<epochs>_b<batch>[_<git-sha7>][_<tag>] and passes it to yolo. Result lands at runs/<task>/<that-name>/. Users can override by passing name=…, or refine by passing tag=<slug> (which appends _<slug> to the auto name; tag is NOT forwarded to yolo)..ultralytics.yml sets experiment_log: <path> (e.g. runs/EXPERIMENTS.md), /ultralytics:train and /ultralytics:export append a row per run with command, parsed metrics (mAP50-95, mAP50), weights path, and a _(fill in)_ notes placeholder. The log lives on the LOCAL filesystem even when execution is remote.See the relevant command's "Run naming" / "Experiment log" sections for exact format.
batch (try 8, 4) or imgsz (512, 416).class_id higher than len(names) - 1. Run /dataset-check.path in YAML can be relative; train/val are joined to path. Prefer absolute path if running from different cwds.yolo command not found → pip install ultralytics.yolo train … and from ultralytics import YOLO; YOLO('yolo11n.pt').train(...) are equivalent. The slash commands use the CLI.runs/<task>/<name>/weights/.yolo tune (hyperparameter search), tracking, benchmarks, solutions, Hub login. Defer to upstream docs at https://docs.ultralytics.com.
npx claudepluginhub bovey0809/claude-code-ultralytics --plugin ultralyticsSearches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.