Agent Skillsfcakyon/claude-codex-settings › ultralytics-platform

ultralytics-platform

GitHub

用于将模型、数据集上传至Ultralytics平台,执行云端训练、导出及部署等操作。涵盖REST API调用、ul:// URI解析及SDK回调集成,解决认证与数据同步问题。

plugins/ultralytics-dev/skills/ultralytics-platform/SKILL.md fcakyon/claude-codex-settings

Trigger Scenarios

上传模型到Ultralytics Platform 推送训练记录到平台 上传或下载数据集 搜索平台数据集 启动云端训练 在平台GPU上训练 导出模型或部署端点 提及platform.ultralytics.com或ul:// URIs

Install

npx skills add fcakyon/claude-codex-settings --skill ultralytics-platform -g -y
More Options

Non-standard path

npx skills add https://github.com/fcakyon/claude-codex-settings/tree/main/plugins/ultralytics-dev/skills/ultralytics-platform -g -y

Use without installing

npx skills use fcakyon/claude-codex-settings@ultralytics-platform

指定 Agent (Claude Code)

npx skills add fcakyon/claude-codex-settings --skill ultralytics-platform -a claude-code -g -y

安装 repo 全部 skill

npx skills add fcakyon/claude-codex-settings --all -g -y

预览 repo 内 skill

npx skills add fcakyon/claude-codex-settings --list

SKILL.md

Frontmatter
{
    "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\", \"why is my run not showing on platform\", or mentions platform.ultralytics.com, ul:\/\/ URIs, or ULTRALYTICS_API_KEY."
}

Ultralytics Platform

REST API at https://platform.ultralytics.com, auth Authorization: Bearer ul_.... Interactive spec: GET /openapi.json (needs the bearer header).

The auth shape and the four gotchas below were run against the live API on 2026-08-04. Endpoint shapes not covered by those runs come from /openapi.json and are marked unverified in references/.

Get the key first

export ULTRALYTICS_API_KEY=ul_... # Settings > API Keys on platform.ultralytics.com

The ultralytics package reads ULTRALYTICS_API_KEY env first, then api_key in settings.json (yolo settings api_key=ul_...). Check both before assuming the key is missing.

Pick the path before writing any code

Goal Path
Track a run that has not started yet Package callback, no REST
Push a run that already finished REST retro upload
Read a platform dataset or model in training code ul:// URI
Upload/download datasets, search, cloud train, export, deploy REST

Package callback (live runs)

Set the key and pass project=, then train normally. ultralytics/utils/callbacks/platform.py streams per-epoch metrics, system metrics, console output, PR/F1/confusion-matrix plots, and uploads best.pt at the end.

model.train(data="coco8.yaml", epochs=100, project="my-project", name="run1")

project= is mandatory. The callback returns early without it, so no key and no project= both produce the same silent nothing. That is the #1 cause of "I trained but the platform is empty". See references/recipes.md for the full enablement gate and the other failure modes.

ul:// URIs

Resolve to signed URLs inside data= and model=, no manual download:

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

REST

Read references/recipes.md before writing a request. It carries working code for retro upload of a finished run, dataset upload and download, search, cloud training, export, deployment, and cleanup. Each section states whether it was run live or derived from the spec.

references/api-reference.md is the endpoint table plus the request shapes.

Four things that break first-time requests

  1. POST /api/models and GET /api/models need the 24-char project ID, not the slug. Every other endpoint accepts a slug in the path. These two return 400 Invalid project ID for a slug even though the parameter is documented as "name or ID". Create the project first and keep the returned projectId.
  2. Top-level metrics is a closed key set, listed in references/api-reference.md. Posting a raw results.csv key like metrics/mAP50-95(B) returns 400 Unrecognized key. trainResults[].metrics is free-form, so csv rows go in there as is.
  3. Uploads are three calls, not one. POST /api/upload/signed-url to get the URL, plain PUT of the bytes to that URL with no auth header, then POST /api/upload/complete. Skipping the third call leaves the file unattached.
  4. Deletes are soft. DELETE /api/projects/{id} moves to trash and cascades to its models. DELETE /api/trash/empty makes it permanent.

Cost and destructive actions

POST /api/training/start, POST /api/exports, and POST /api/deployments spend credits. The cost comes back in the create response, not from a lookup beforehand, so report billing.estimatedCostDisplay from the POST result before letting the job run. Confirm with the user before any create-with-cost or any delete.

Version History

  • c4b9424 Current 2026-08-20 04:54

Same Skill Collection

plugins/adhd-output-style/skills/adhd-output-style/SKILL.md
plugins/anthropic-office-skills/skills/pdf/SKILL.md
plugins/azure-tools/skills/azure-usage/SKILL.md
plugins/azure-tools/skills/setup/SKILL.md
plugins/cloudflare-skills/skills/cloudflare-deploy/SKILL.md
plugins/codex-advisor/skills/codex-advisor/SKILL.md
plugins/dokploy-skills/skills/dokploy-deploy/SKILL.md
plugins/fable-advisor/skills/fable-advisor/SKILL.md
plugins/frontend-design-skills/skills/anthropic-frontend-design/SKILL.md
plugins/frontend-design-skills/skills/openai-frontend-design/SKILL.md
plugins/gcloud-tools/skills/gcloud-usage/SKILL.md
plugins/gcloud-tools/skills/setup/SKILL.md
plugins/github-dev/skills/clean-gone-branches/SKILL.md
plugins/github-dev/skills/commit-staged/SKILL.md
plugins/github-dev/skills/create-pr/SKILL.md
plugins/github-dev/skills/resolve-pr-comments/SKILL.md
plugins/github-dev/skills/review-pr/SKILL.md
plugins/github-dev/skills/setup/SKILL.md
plugins/github-dev/skills/update-pr-summary/SKILL.md
plugins/hetzner-skills/skills/hetzner-deploy/SKILL.md
plugins/humanize/skills/humanize/SKILL.md
plugins/livekit-skills/skills/livekit-skills/SKILL.md
plugins/mongodb-skills/skills/mongodb-atlas-stream-processing/SKILL.md
plugins/mongodb-skills/skills/mongodb-mcp-setup/SKILL.md
plugins/mongodb-skills/skills/mongodb-query-optimizer/SKILL.md
plugins/openai-office-skills/skills/doc/SKILL.md
plugins/openai-office-skills/skills/pdf/SKILL.md
plugins/openai-office-skills/skills/slides/SKILL.md
plugins/openai-office-skills/skills/spreadsheet/SKILL.md
plugins/openobserve-skills/skills/openobserve-api/SKILL.md
plugins/overleaf-skills/skills/review-overleaf/SKILL.md
plugins/overleaf-skills/skills/setup/SKILL.md
plugins/paper-search-tools/skills/paper-search-usage/SKILL.md
plugins/paper-search-tools/skills/setup/SKILL.md
plugins/polar-skills/skills/polar-billing/SKILL.md
plugins/polar-skills/skills/polar-local-environment/SKILL.md
plugins/python-skills/skills/python-guidelines/SKILL.md
plugins/react-skills/skills/composition-patterns/SKILL.md
plugins/react-skills/skills/react-best-practices/SKILL.md
plugins/react-skills/skills/react-native-skills/SKILL.md
plugins/react-skills/skills/web-design-guidelines/SKILL.md
plugins/simplify/skills/simplify/SKILL.md
plugins/supabase-skills/skills/supabase-cli/SKILL.md
plugins/supabase-skills/skills/supabase-js/SKILL.md
plugins/tavily-tools/skills/setup/SKILL.md
plugins/tavily-tools/skills/tavily-usage/SKILL.md
plugins/ultralytics-branding/skills/ultralytics-branding/SKILL.md
plugins/ultralytics-dev/skills/yolo-training/SKILL.md
plugins/web-performance-skills/skills/web-performance-optimization/SKILL.md

Metadata

Files
0
Version
c4b9424
Hash
d2e2c075
Indexed
2026-08-20 04:54

- 위키
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-20 23:53
浙ICP备14020137号-1 $방문자$