Skip to content
Development
Skill

/ultralytics-platform

This skill should be used when user asks to "upload my model to Ultralytics Platform", "push this run to the platform", "upload a dataset to platform", "download a dataset from platform", "search platform datasets", "start cloud training", "train on platform GPUs", "export a

From plugin
claude-codex-settings
1.2k112 skills4 agents5 commands4 MCP

Claude Code

$ npx -y skills add fcakyon/claude-codex-settings --skill ultralytics-platform --agent claude-code

SKILL.md

ultralytics-platform.SKILL.md
name: ultralytics-platform
description: This skill should be used when user asks to "upload my model to Ultralytics Platform", "push this run to the platform", "upload a dataset to platform", "download a dataset from platform", "search platform datasets", "start cloud training", "train on platform GPUs", "export a model on platform", "deploy a model endpoint", "run Moondream on Platform", "auto-annotate a Platform dataset", "run hosted AI inference", "why is my run not showing on platform", or mentions platform.ultralytics.com, ul:// URIs, ultralytics-platform, or ULTRALYTICS_API_KEY.

Ultralytics Platform

Use `ultralytics` for local YOLO training and inference. Use the generated `ultralytics-platform` Python SDK for Platform resources, hosted inference, and AI annotation. It handles authentication, typed responses, retries, and errors.

Read the live contract

Before API work, check the generated [API reference](https://platform.ultralytics.com/api/docs) or `GET https://platform.ultralytics.com/openapi.json`. Treat the live OpenAPI document as authoritative when examples disagree. These recipes were checked against API and SDK v0.1.62 on 2026-09-24. Check the [SDK source](https://github.com/ultralytics/sdk) for generated method signatures.

uv pip install -U "ultralytics-platform>=0.1.62"
export ULTRALYTICS_API_KEY=ul_... # Settings > API Keys

`Platform()` reads `ULTRALYTICS_API_KEY`. The `ultralytics` package also reads the key saved by `yolo login`. Never print or commit a key.

Choose the interface

| Goal | Interface | | ---------------------------------------------------------- | -------------------------------- | | Track a run that has not started | `ultralytics` training callback | | Train with a Platform dataset or model | `ultralytics` with a `ul://` URI | | Manage datasets, models, training, exports, or deployments | `ultralytics-platform` SDK | | Predict with model weights or a dedicated endpoint | `client.models.predict` / `client.deployments.predict` | | Preview Moondream or other AI labels on a stored image | `client.images.predict` | | Save AI labels across a dataset | `client.datasets.create_batch` | | Use another language or inspect a new field | Live OpenAPI |

Live training and `ul://` URIs

Pass an owner-qualified project to stream a run:

from ultralytics import YOLO

YOLO("yolo26n.pt").train(data="coco8.yaml", epochs=100, project="owner/project", name="run1")

`project=` is required. Without it, the callback exits before creating a Platform run. Use the owner prefix for a team workspace.

YOLO("ul://owner/project/model").train(data="ul://owner/datasets/dataset", epochs=100)

SDK

Use a context manager and owner/name paths. Keep returned IDs for operations that require them, including image operations, upload `assetId`, training `modelId`, and export IDs.

Responses have resource-specific shapes, not a generic envelope. Create calls return `id`, `owner`, and the URL name at the top level. Detail calls wrap the resource under its type, such as `dataset`. A rename changes the URL name, so use the name returned by the update response.

Read [references/recipes.md](references/recipes.md) for live-run diagnosis, finished-run upload, dataset upload, hosted inference, Moondream and other AI annotation, and billable jobs.

Invariants

  • Confirm the target workspace with `client.account.summary()` and read the exact resource before a

mutation. Team work requires an API key created in that workspace.

  • Upload with a signed URL and `PUT` using the returned `headers`. Dataset ingest now verifies and

completes the upload itself, so `upload.complete` is optional for datasets. Models still require it.

  • Dataset ingest accepts one source: `sessionId`, `sourceUrl`, or a connected-storage `reference`.

Set `targetSplit` when every incoming image must enter one split.

  • Top-level model `metrics` accepts only the contract's named summary metrics. Per-epoch

`trainResults[].metrics` accepts numeric metric names from `results.csv`.

  • Hosted AI annotation uses a stored image ID and dataset class names. It is not a free-form chat or

caption API. Single-image predictions are unsaved, while batch annotation writes labels.

  • On `429`, wait for `Retry-After` before retrying. Do not invent fixed sleeps.

Cost and destructive actions

Cloud training, model exports, deployments, and batch image processing can spend credits. Confirm the requested scope and cost before an unapproved billable launch. Do not ask again when the user has already authorized it. Check `client.billing.usage_summary()` for current usage and plan limits. Training returns cost estimates, but not every create response includes a price.

Get approval for deletes outside the user's authorized scope. Project, dataset, and model deletes move resources to 30-day trash. Image deletion and `client.lifecycle.delete_trash` are permanent.

Read more
@fcakyon
Ships withclaude-codex-settings

Battle-tested Claude Code, OpenAI Codex, Cursor configs, plugins, hooks and agents with Kimi, MiniMax and GLM API support.

1.2k112 skills4 agents4 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.2k
Star history of fcakyon/claude-codex-settings on GitHub, a chart by star-history.com

Other skills on claude-codex-settings.

aeo

aeo

This skill should be used when the user asks to "build an AEO strategy", "improve AI search visibility", "track buyer prompts",…

dogfood

dogfood

Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to "dogfood", "QA",…

electron

electron

Automate Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify, etc.) using agent-browser via Chrome DevTools…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about ultralytics-platform.

Which coding agents can use ultralytics-platform?
ultralytics-platform installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.