Azure AI ML Py
microsoft/skills
Azure Machine Learning SDK v2 for Python. An agent skill from microsoft/skills.
Submit, monitor, analyze, and evaluate LeRobot imitation learning training jobs on OSMO with Azure ML MLflow integration and inference evaluation - Brought to you by microsoft/physical-ai-toolchain
$ npx skills add microsoft/physical-ai-toolchain --skill osmo-lerobot-training -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install microsoft/physical-ai-toolchain osmo-lerobot-training --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/microsoft/physical-ai-toolchain.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.github/skills/osmo-lerobot-training .claude/skills/osmo-lerobot-training && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "osmo-lerobot-training" agent skill from https://github.com/microsoft/physical-ai-toolchain/tree/main/.github/skills/osmo-lerobot-training into .claude/skills/osmo-lerobot-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "osmo-lerobot-training", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/microsoft/physical-ai-toolchain/tree/main/.github/skills/osmo-lerobot-trainingType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add microsoft/physical-ai-toolchain --skill osmo-lerobot-training -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install microsoft/physical-ai-toolchain osmo-lerobot-training --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/physical-ai-toolchain.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.github/skills/osmo-lerobot-training .agents/skills/osmo-lerobot-training && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "osmo-lerobot-training" agent skill from https://github.com/microsoft/physical-ai-toolchain/tree/main/.github/skills/osmo-lerobot-training into .agents/skills/osmo-lerobot-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "osmo-lerobot-training", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/physical-ai-toolchain --skill osmo-lerobot-training -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install microsoft/physical-ai-toolchain osmo-lerobot-training --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/physical-ai-toolchain.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.github/skills/osmo-lerobot-training .cursor/skills/osmo-lerobot-training && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "osmo-lerobot-training" agent skill from https://github.com/microsoft/physical-ai-toolchain/tree/main/.github/skills/osmo-lerobot-training into .cursor/skills/osmo-lerobot-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "osmo-lerobot-training", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/microsoft/physical-ai-toolchain.git --path .github/skills/osmo-lerobot-training--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add microsoft/physical-ai-toolchain --skill osmo-lerobot-training -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install microsoft/physical-ai-toolchain osmo-lerobot-training --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/physical-ai-toolchain.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.github/skills/osmo-lerobot-training .gemini/skills/osmo-lerobot-training && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "osmo-lerobot-training" agent skill from https://github.com/microsoft/physical-ai-toolchain/tree/main/.github/skills/osmo-lerobot-training into .gemini/skills/osmo-lerobot-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "osmo-lerobot-training", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install microsoft/physical-ai-toolchain osmo-lerobot-trainingInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add microsoft/physical-ai-toolchain --skill osmo-lerobot-training -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/microsoft/physical-ai-toolchain.git skills-src && mkdir -p .github/skills && cp -r skills-src/.github/skills/osmo-lerobot-training .github/skills/osmo-lerobot-training && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "osmo-lerobot-training" agent skill from https://github.com/microsoft/physical-ai-toolchain/tree/main/.github/skills/osmo-lerobot-training into .github/skills/osmo-lerobot-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "osmo-lerobot-training", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add microsoft/physical-ai-toolchain --skill osmo-lerobot-training -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install microsoft/physical-ai-toolchain osmo-lerobot-training --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/microsoft/physical-ai-toolchain.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.github/skills/osmo-lerobot-training .opencode/skills/osmo-lerobot-training && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "osmo-lerobot-training" agent skill from https://github.com/microsoft/physical-ai-toolchain/tree/main/.github/skills/osmo-lerobot-training into .opencode/skills/osmo-lerobot-training/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "osmo-lerobot-training", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
osmo-lerobot-trainingSubmit, monitor, analyze, and evaluate LeRobot imitation learning training jobs on OSMO with Azure ML MLflow integration and inference evaluation - Brought to you by microsoft/physical-ai-toolchain
Osmo Lerobot Training is an agent skill from microsoft/physical-ai-toolchain, published by the product's own GitHub organization. Submit, monitor, analyze, and evaluate LeRobot imitation learning training jobs on OSMO with Azure ML MLflow integration and inference evaluation - Brought to you by microsoft/physical-ai-toolchain
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/DEFAULTS.md` and `references/REFERENCE.md`).
It sits in DevOps & Cloud. It works with Azure Machine Learning, Playwright, MLflow and Microsoft Azure. The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit bedd855. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
azpythonFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
ml.azure.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Osmo Lerobot Training loads about 3.8k tokens when it runs, and up to ~9.7k if it reads all its reference files. Until then it costs about 55 tokens; SKILL.md has 1,339 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
Azure environment variables in `scripts/.env`:ge account | `--storage-account` | (from .env) | Azure Storage account |Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from microsoft/physical-ai-toolchain at commit bedd855, republished under its MIT licence (© microsoft). 1,339 words, ~3,763 tokens.
.claude/skills/osmo-lerobot-training/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Submit, monitor, analyze, and evaluate LeRobot behavioral cloning training workflows on the OSMO platform. Covers the full lifecycle: job submission, log streaming, Azure ML metric retrieval, training summary generation, and post-training inference evaluation.
Read the skill file .github/skills/osmo-lerobot-training/SKILL.md for parameter defaults, GPU configuration, and training duration estimates. Read references/DEFAULTS.md for known datasets, GPU profiles, and Azure environment auto-resolution.
| Requirement | Purpose |
|---|---|
osmo CLI | Workflow submission and monitoring |
az CLI | Azure authentication and model registry |
terraform | Infrastructure output resolution |
zip | Training payload packaging |
Python 3.12+ with azure-ai-ml, mlflow | Metric retrieval from Azure ML |
Authentication must be configured before any OSMO or Azure ML operations:
az login
osmo login <service-url> --method dev --username guestscripts/submit-osmo-lerobot-training.sh \
-d my-robot-dataset \
--from-blob \
--storage-account mystorageaccount \
--blob-prefix my-robot-dataset \
--no-val-split \
--steps 100000 \
--batch-size 32 \
--learning-rate 1e-4 \
--save-freq 10000 \
-j my-robot-act-train \
--experiment-name my-robot-training \
-r my-robot-act-modelscripts/submit-osmo-lerobot-training.sh -d lerobot/aloha_sim_insertion_humanStart the background poller immediately after submitting training. It watches AzureML for new checkpoint versions and submits an inference job per version automatically, stopping when training reaches a terminal state.
# Launch in the background — runs until training completes
nohup scripts/poll-and-eval-checkpoints.sh \
--model-name my-robot-act-model \
--training-workflow-id lerobot-training-32 \
--blob-prefix my-robot-dataset \
--job-prefix my-robot-eval \
--experiment-name my-robot-inference \
--poll-interval 60 \
--max-concurrent 2 \
> /tmp/my-robot-eval.log 2>&1 & disown
# Monitor the poller
tail -f /tmp/my-robot-eval.logThe poller caps concurrent inference workflows at --max-concurrent (default 2) to avoid cluster saturation. Submitted versions are tracked in /tmp/<model-name>-submitted-versions.txt.
# OSMO inference (GPU, evaluates against the same dataset)
scripts/submit-osmo-lerobot-inference.sh \
--from-aml-model \
--model-name my-robot-act-model \
--model-version 3 \
--from-blob-dataset \
--storage-account mystorageaccount \
--blob-prefix my-robot-dataset \
--mlflow-enable \
--eval-episodes 10 \
-j my-robot-eval \
--experiment-name my-robot-inference
# Local inference (CPU/MPS, for quick validation)
python scripts/run-local-lerobot-inference.py \
--model-name my-robot-act-model \
--model-version 3 \
--dataset-dir /path/to/local/dataset \
--episodes 5 \
--output-dir outputs/local-eval \
--device cpuAfter every successful training or inference submission, open the OSMO workflow page in VS Code's SimpleBrowser so the user can track progress and access logs directly.
Steps:
Workflow ID - <id>).osmo login: <service-url>/workflows/<workflow-id>. Don't rely on the Workflow Overview line, which can show an in-cluster address that a browser can't reach.open_browser_page tool (VS Code SimpleBrowser).lerobot-train, lerobot-infer).Example after a training submission:
Workflow ID - lerobot-training-31
Workflow Overview - <service-url>/workflows/lerobot-training-31Open: <service-url>/workflows/lerobot-training-31
Example after an inference submission:
Workflow ID - lerobot-inference-20
Workflow Overview - <service-url>/workflows/lerobot-inference-20Open: <service-url>/workflows/lerobot-inference-20
The page has a Logs tab with per-task log streams. For training, select the
lerobot-traintask. For inference, select thelerobot-infertask. Use the OSMO CLI (osmo workflow logs <id> -t <task> -n 100) as a fallback when the browser is not reachable.
After submitting a training job, and whenever the background eval poller reports a new inference job, open the Azure ML portal with Playwright to view live metrics and trajectory plots. Use mcp_playwright_browser_navigate, mcp_playwright_browser_snapshot, mcp_playwright_browser_click, and mcp_playwright_browser_take_screenshot.
After the training job is submitted, navigate to the training experiment page and open the Metrics tab:
Construct the experiment URL from Azure environment variables in scripts/.env:
https://ml.azure.com/experiments/{experiment_name}?wsid=/subscriptions/{AZURE_SUBSCRIPTION_ID}/resourceGroups/{AZURE_RESOURCE_GROUP}/providers/Microsoft.MachineLearningServices/workspaces/{AZUREML_WORKSPACE_NAME}Call mcp_playwright_browser_navigate with that URL.
Call mcp_playwright_browser_snapshot to confirm the page loaded and identify the latest run row in the table.
Click the first (most recent) run link.
On the run detail page, call mcp_playwright_browser_snapshot to locate the Metrics tab.
Click Metrics.
Call mcp_playwright_browser_take_screenshot and show the live training curves to the user.
Key metrics to surface: train/loss, train/learning_rate (confirm 1e-04, not 1e-05), train/grad_norm, gpu_percent.
Refresh by calling mcp_playwright_browser_navigate again on the same URL at any time.
See references/REFERENCE.md for exact click paths, tab selectors, and screenshot guidance.
While the background eval poller is running, monitor the poller log and navigate to Azure ML to view trajectory plots as each inference job completes:
Tail the poller log to detect a new inference submission:
tail -n 30 /tmp/<model-name>-eval.log | grep -E "Submitting|Workflow ID"Construct the inference experiment URL using the --experiment-name passed to the poller:
https://ml.azure.com/experiments/{inference_experiment_name}?wsid=/subscriptions/{AZURE_SUBSCRIPTION_ID}/resourceGroups/{AZURE_RESOURCE_GROUP}/providers/Microsoft.MachineLearningServices/workspaces/{AZUREML_WORKSPACE_NAME}Call mcp_playwright_browser_navigate with that URL.
Call mcp_playwright_browser_snapshot to identify the latest run row (most recently submitted checkpoint eval).
Click that run.
On the run detail page, click the Images tab.
Call mcp_playwright_browser_take_screenshot and show the trajectory plots to the user.
The Images tab contains per-episode trajectory plots logged by the inference job (
episode_NNN_trajectory.pngandeval_summary.png). They appear after the OSMO inference workflow reachescompletedstatus. If images are not yet present, checkosmo workflow query <inference-workflow-id>and wait forcompleted.
| Parameter | Flag | Default | Description |
|---|---|---|---|
| Dataset repo ID | -d, --dataset | (required) | HuggingFace dataset or blob dataset name |
| Policy type | -p, --policy | act | act or diffusion |
| Job name | -j, --job-name | lerobot-act-training | Unique job identifier |
| Training steps | --steps | 100000 | Total training iterations |
| Batch size | --batch-size | 32 | Training batch size (64 for 48GB GPUs) |
| Learning rate | --learning-rate | 1e-4 | Maps to --policy.optimizer_lr internally |
| Save frequency | --save-freq | 5000 | Checkpoint interval (model registered at each) |
| Validation split | --val-split | 0.1 | Ratio for train/val split |
| No val split | --no-val-split | — | Disable validation splitting |
| Register checkpoint | -r | (none) | Model name for Azure ML registration |
| From blob | --from-blob | false | Use Azure Blob Storage as data source |
| Storage account | --storage-account | (terraform) | Azure Storage account name |
| Blob prefix | --blob-prefix | (none) | Blob path prefix for dataset |
| Parameter | Flag | Default | Description |
|---|---|---|---|
| Policy repo ID | --policy-repo-id | (required) | HuggingFace repo, or use --from-aml-model |
| From AML model | --from-aml-model | false | Load from AzureML model registry |
| Model name | --model-name | (none) | AzureML model registry name |
| Model version | --model-version | (none) | AzureML model version |
| Dataset repo ID | -d, --dataset-repo-id | (none) | HuggingFace dataset |
| From blob dataset | --from-blob-dataset | false | Download dataset from Azure Blob |
| Eval episodes | --eval-episodes | 10 | Number of episodes to evaluate |
| MLflow enable | --mlflow-enable | false | Log trajectory plots to AzureML |
poll-and-eval-checkpoints.sh)| Parameter | Flag | Default | Description |
|---|---|---|---|
| Model name | --model-name | (required) | AzureML model registry name to watch |
| Training workflow | --training-workflow-id | (required) | OSMO workflow ID of the training job |
| Blob prefix | --blob-prefix | (required) | Blob path prefix for the evaluation dataset |
| Storage account | --storage-account | (from .env) | Azure Storage account |
| Eval episodes | --eval-episodes | 10 | Episodes per inference run |
| Job prefix | --job-prefix | (from model name) | Prefix for inference job names |
| Experiment name | --experiment-name | (from model name) | MLflow experiment for inference runs |
| Poll interval | --poll-interval | 60 | Seconds between AzureML registry polls |
| Max concurrent | --max-concurrent | 2 | Max simultaneous inference workflows |
| GPU | VRAM | Recommended Batch Size | Notes |
|---|---|---|---|
| A10 | 24GB | 32 | Standard configuration |
| RTX PRO 6000 | 96GB (whole GPU) | 64 | Requires mig.strategy: single; fractional sizes have 48GB or 24GB |
| H100 | 80GB | 128 | Standard MIG disabled |
Resolved from CLI flags > environment variables > Terraform outputs:
| Variable | Flag | Env Var |
|---|---|---|
| Subscription ID | --azure-subscription-id | AZURE_SUBSCRIPTION_ID |
| Resource group | --azure-resource-group | AZURE_RESOURCE_GROUP |
| Workspace name | --azure-workspace-name | AZUREML_WORKSPACE_NAME |
Estimate training duration based on dataset and configuration:
| Dataset Size | Steps | GPU | Approximate Duration |
|---|---|---|---|
| 20K frames / 64 episodes | 10,000 | A10 | ~30 minutes |
| 20K frames / 64 episodes | 100,000 | A10 | ~5 hours |
| 80K frames / 174 episodes | 100,000 | A10 | ~8 hours |
| 20K frames / 64 episodes | 100,000 | RTX PRO 6000 | ~3 hours |
Checkpoints are registered to AzureML at every --save-freq interval. Jobs may be evicted on spot GPU instances — checkpoints already registered remain available for inference even if the job is interrupted.
See references/REFERENCE.md for full CLI and SDK documentation.
osmo workflow query <workflow-id>
osmo workflow logs <workflow-id> -n 100
osmo workflow logs <workflow-id> --error
osmo workflow list
osmo workflow cancel <workflow-id># Start continuous eval loop in background
nohup scripts/poll-and-eval-checkpoints.sh \
--model-name <model-name> \
--training-workflow-id <workflow-id> \
--blob-prefix <dataset-blob-prefix> \
> /tmp/<model-name>-eval.log 2>&1 & disown
# Monitor poller
tail -f /tmp/<model-name>-eval.log
# Check which versions have been submitted
cat /tmp/<model-name>-submitted-versions.txt
# Stop the poller early
pkill -f poll-and-eval-checkpoints| Metric | Description |
|---|---|
train/loss | Training loss per step |
train/grad_norm | Gradient norm |
train/learning_rate | Current learning rate (verify 1e-4 not 1e-5) |
val/loss | Validation loss (when val split enabled) |
gpu_percent | GPU utilization (when system metrics enabled) |
| Symptom | Likely Cause | Resolution |
|---|---|---|
lr: 1e-05 in logs | LEARNING_RATE not mapped | Verify train.py maps to --policy.optimizer_lr |
KeyError: chunk_index | v3.0 dataset not converted | Verify download_dataset.py has patch_info_paths() |
codebase_version warning | Dataset still marked v3.0 | Verify patch_info_paths() sets codebase_version = "v2.1" |
CUDA_ERROR_NO_DEVICE | MIG strategy misconfigured | Set mig.strategy: single for vGPU nodes |
| VM eviction mid-training | Spot GPU preempted | Checkpoints already registered to AML survive eviction |
ImportError: patch_info_paths | Payload missing training fixes | Ensure training/il/ includes download_dataset.py with patch_info_paths |
| OOM during training | Batch size too large | Reduce --batch-size (32 for 24GB, 64 for 48GB) |
| Poller exits immediately | Training workflow already terminal | Check osmo workflow query <id>; rerun poller or submit inference manually |
| Poller stalls at max-concurrent | Inference jobs not finishing | Check inference workflow status; increase --max-concurrent or cancel stuck jobs |
| Many pending inference jobs after stopping poller | Poller submitted jobs faster than cluster could drain | osmo workflow list only returns the last 12 — iterate over expected ID range to cancel all: for id in $(seq <first> <last>); do osmo workflow cancel lerobot-inference-$id; done |
info: command not found in poller | common.sh not sourced | Verify scripts/lib/common.sh exists and is readable |
See references/REFERENCE.md for detailed debugging commands.
Brought to you by microsoft/physical-ai-toolchain
© microsoft, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in .github/skills/osmo-lerobot-training of microsoft/physical-ai-toolchain.
Open the folder on GitHubat commit bedd855
Osmo Lerobot Training next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Osmo Lerobot Training this skillmicrosoft/physical-ai-toolchain | 123 | — | ~3.8k | Automated safety check: Notes | MIT | |
| Azure AI ML Pymicrosoft/skills | 3.1k | 5 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Azure Data Science VmMicrosoftDocs/Agent-Skills | 777 | — | ~1.8k | Automated safety check: Pass | CC-BY-4.0 | |
| Aspiremicrosoft/aspire.dev | 196 | 4 repos | ~1.1k | Automated safety check: Pass | MIT | |
| Azure AI Contentsafety Pymicrosoft/skills | 3.1k | 5 repos | ~2.2k | Automated safety check: Pass | MIT | |
| Azure AI Contentunderstanding Pymicrosoft/skills | 3.1k | 5 repos | ~2.6k | Automated safety check: Pass | MIT |
microsoft/skills
Azure Machine Learning SDK v2 for Python. An agent skill from microsoft/skills.
MicrosoftDocs/Agent-Skills
Expert knowledge for Azure Data Science Virtual Machines development including troubleshooting, decision making, architecture & design patterns, security, configuration, integrations & coding…
microsoft/aspire.dev
Orchestrates Aspire distributed applications using the Aspire CLI for running, debugging, and managing distributed apps.
microsoft/skills
Azure AI Content Safety SDK for Python. An agent skill from microsoft/skills.
microsoft/skills
Azure AI Content Understanding SDK for Python. An agent skill from microsoft/skills.
microsoft/skills
Azure Bot Service Management SDK for Python. An agent skill from microsoft/skills.
microsoft/physical-ai-toolchain
Set up a K3s cluster on an NVIDIA GPU host, connect it to Azure Arc, and configure Azure ML to use it as a Kubernetes compute target.
microsoft/physical-ai-toolchain
Generate, transfer, and consume environment-specific Azure, AKS, OSMO, ACR, and Azure ML deployment bundles.
microsoft/physical-ai-toolchain
Deploy trained robot policies to edge fleets via FluxCD GitOps, image automation, and deployment gating
microsoft/physical-ai-toolchain
Monitor robot fleet telemetry via Azure IoT Operations, drift detection, Grafana dashboards, and Fabric analytics
microsoft/physical-ai-toolchain
Deploy and manage Azure infrastructure for the Physical AI Toolchain including Terraform IaC, Kubernetes setup, GPU configuration, and network topology
microsoft/physical-ai-toolchain
Generate synthetic training data using NVIDIA Cosmos world foundation models for SDG pipelines
Categories
Submit, monitor, analyze, and evaluate LeRobot imitation learning training jobs on OSMO with Azure ML MLflow integration and inference evaluation - Brought to you by microsoft/physical-ai-toolchain. Osmo Lerobot Training is an agent skill from microsoft/physical-ai-toolchain, published by the product's own GitHub organization.
Osmo Lerobot Training fits situations like: devOps & Cloud work in your project.
Run `npx skills add microsoft/physical-ai-toolchain --skill osmo-lerobot-training -a claude-code`. Or copy the skill folder (.github/skills/osmo-lerobot-training in microsoft/physical-ai-toolchain) into .claude/skills/osmo-lerobot-training in your project. Claude Code loads it when a task matches its description.
Run `npx skills add microsoft/physical-ai-toolchain --skill osmo-lerobot-training -a codex`. Or copy the skill folder (.github/skills/osmo-lerobot-training in microsoft/physical-ai-toolchain) into .agents/skills/osmo-lerobot-training in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add microsoft/physical-ai-toolchain --skill osmo-lerobot-training -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/osmo-lerobot-training, .gemini/skills/osmo-lerobot-training, .github/skills/osmo-lerobot-training and .opencode/skills/osmo-lerobot-training in your project.
Going by SKILL.md and its folder, Osmo Lerobot Training needs the command-line tools its instructions call (az and python). Our summary lists: Python 3.
SKILL.md names 1 domain. In commands or code: ml.azure.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Osmo Lerobot Training is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.9k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Osmo Lerobot Training: Azure AI ML Py (microsoft/skills, 3.1k stars), Azure Data Science Vm (MicrosoftDocs/Agent-Skills, 777 stars), Aspire (microsoft/aspire.dev, 196 stars) and Azure AI Contentsafety Py (microsoft/skills, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
microsoft (a GitHub organization, an official publisher) maintains it in microsoft/physical-ai-toolchain, which has 123 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.
Source: microsoft/physical-ai-toolchain on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.