tao-convert-dataset-format — Claude Code skill for DAFT conversion
This skill runs tao-daft convert to move NVIDIA TAO DAFT datasets between supported formats. Use it when preparing DAFT data for VLM training.
npx skills add NVIDIA/skills --skill tao-convert-dataset-format -a claude-codeWhat tao-convert-dataset-format does
The skill checks which source and target formats the installed CLI accepts, then runs tao-daft convert with the required options. Format names are positional arguments; --path and --output specify the input and destination. The input can be one dataset or a parent directory containing several.
You need Python 3.10+, the nvidia-tao-daft package, and a DAFT dataset on local disk. The skill consults the CLI help before choosing a format pair because available pairs and flags depend on the installed version. An unsupported pair fails, while incorrect conversion options can produce output that looks valid but has the wrong meaning.
The CLI performs the conversion; the skill does not reimplement it in Python. You can check the result with the separate tao-validate-dataset-format skill. This converter is for DAFT data only.
What it helps with
- convert a DAFT dataset to another supported format
- prepare DAFT data for VLM training
- convert datasets beneath a parent directory
- check valid conversion options for the installed CLI
Example prompts for the agent
- Convert my DAFT dataset to a supported format for VLM training.
- Check which target formats this DAFT dataset can use, then convert it.
- Convert the DAFT datasets in this folder and save them to the destination I provide.
How to install tao-convert-dataset-format
1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-convert-dataset-format -a claude-code2Manually: put the files in place
~/.claude/skills/tao-convert-dataset-format/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/tao-convert-dataset-format/
1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-convert-dataset-format -a codex2Manually: put the files in place
.agents/skills/tao-convert-dataset-format/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-convert-dataset-format -a cursor2Manually: put the files in place
.cursor/skills/tao-convert-dataset-format/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install NVIDIA/skills tao-convert-dataset-format2Manually: put the files in place
.github/skills/tao-convert-dataset-format/SKILL.md1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-convert-dataset-format -a gemini-cli2Platform CLI
gemini skills install https://github.com/NVIDIA/skills --path skills/tao-convert-dataset-formatManually: put the files in place
.devin/skills/tao-convert-dataset-format/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-convert-dataset-format -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about tao-convert-dataset-format
How do I install tao-convert-dataset-format in Claude Code?
Run npx skills add NVIDIA/skills --skill tao-convert-dataset-format -a claude-code. The skill file is placed at ~/.claude/skills/tao-convert-dataset-format/SKILL.md.
What does tao-convert-dataset-format do?
It checks the available format options and uses tao-daft convert to transform a DAFT dataset. The CLI carries out the conversion.
What does the skill require?
It requires Python 3.10+, the nvidia-tao-daft package, and a DAFT dataset on local disk. The CLI help determines which format pairs and options are available.
Source text
SKILL.md · Apache-2.0
---
name: tao-convert-dataset-format
description: Run `tao-daft convert` to convert NVIDIA TAO DAFT datasets between supported formats. Do not use for non-DAFT data.
Use when the user asks to convert a DAFT dataset, change DAFT format, change a TAO dataset format, or run `tao-daft convert`.
license: Apache-2.0
compatibility: Requires Python 3.10+ and the nvidia-tao-daft package (pip install nvidia-tao-daft).
metadata:
author: NVIDIA Corporation
version: "0.1.0"
allowed-tools: Read Bash
tags:
- tao-daft
- dataset
- conversion
- vlm
- cosmos-reason
---
# Convert a TAO DAFT Dataset
> **Standalone install?** If this session was not initialized by the TAO skill bank plugin, run the `tao-setup` skill first (host preflight, credentials, cross-skill discovery).
## Quick start
```bash
tao-daft convert <source-format> <target-format> --path <input> --output <output>
```
Source and target are positional subcommands; `--path` and `--output` are flags.
Discover the supported formats and per-pair flags from the leaf `--help`
(see "CLI conventions" below).
## Preflight
```bash
python -c "import nvidia_tao_daft" 2>/dev/null || {
echo "MISSING: tao-daft not installed. Run:"
echo " pip install nvidia-tao-daft"
exit 1
}
```
## Quick Start
Discover the installed CLI surface before choosing format slugs, then run the
leaf conversion command with explicit `--path` and `--output` flags:
```bash
tao-daft --version
tao-daft convert --help
tao-daft convert <source-format> --help
tao-daft convert <source-format> <target-format> --path /path/to/daft --output /path/to/converted
```
## Purpose
Drives `tao-daft convert` to transform a DAFT dataset (or a tree of
them) between supported formats. The CLI does the real work; the
skill picks the right source/target pair and flags, then explains the
result.
Trigger on: converting a DAFT dataset, packaging DAFT QA /
summarization / temporal tasks for VLM training, producing a
`meta.json`-style training set, or the command `tao-daft convert`. Do
**not** trigger for non-DAFT → DAFT conversion (COCO, YOLO, Data
Factory JSONL) — redirect to the upstream `nvidia-tao-daft` repo's
converter skills.
If the user opens ambiguously, run a few `--help` calls first.
## Prerequisites
- `nvidia-tao-daft` installed (wheel only, not the source repo).
Confirm with `tao-daft --version`.
- A DAFT dataset, or a parent directory containing many, on local
disk.
## Instructions
### CLI conventions
`tao-daft` is nested argparse subcommands. The conventions below are
stable across versions even when format names or flags change, so
**always discover the current surface from `--help`** rather than
relying on names this doc happens to mention.
1. **Source and target are both positional subcommands**, not
`--from`/`--to`: `tao-daft convert <source> <target> [flags]`.
Format slugs are versioned, lowercase, dot-separated
(`metropolis-v3.0`, `cosmos-reason-v1.0`, ...).
2. **Path and output are flags** — `--path PATH` (source),
`--output OUTPUT` (destination). Both required at the leaf;
passing positionally fails.
3. **`--path` accepts both granularities** — a single scene/dataset
or a parent directory; the converter walks the tree.
4. **Per-pair flags live at the leaf** — flag sets differ between
targets (e.g. media-handling). Always check the leaf `--help`.
**Operating procedure:**
1. `tao-daft --version` — confirm install, pin version in any report.
2. `tao-daft convert --help` — list supported source formats.
3. `tao-daft convert <source> --help` — list valid targets for that
source.
4. Infer source from layout (same directory markers as the
`tao-validate-dataset-format` skill's "Format inference"). If you cannot infer
or the target is unspecified, ask.
5. `tao-daft convert <source> <target> --help` — pick flags for the
user's intent (task subset, media copy vs reference, metadata).
6. Execute, then interpret (see below).
### Reading output
Per-scene progress prints to stdout; non-zero exit on failure. The
converted dataset is written under `--output` — spot-check it with
the `tao-validate-dataset-format` skill before training. For large trees, capture
the full output and partial-read if huge.
## Limitations
- DAFT-supported source formats only. For non-DAFT layouts use the
upstream repo's converter skills.
- Supported pairs are whatever `--help` reports for the installed
version — don't pass an unconfirmed pair.
- Source and target are positional; `--path` / `--output` are flags.
- `convert` only — `validate` and `info` have their own skills.
- Do not reimplement conversion in Python; the CLI is the spec.
## Troubleshooting
- **`tao-daft: command not found`** — wheel not installed; `pip
install nvidia-tao-daft`, verify with `tao-daft --version`.
- **`error: argument --path/--output is required`** — passed
positionally; move behind the flag.
- **`invalid choice: '<format>'`** — slug not wired up in this
version. Re-run the relevant `--help`.
- **Output rejected by `tao-daft validate`** — re-check per-pair
flags (media handling, task subset) via leaf `--help`; a misset
flag often produces a structurally valid but semantically wrong
target.
© NVIDIA Corporation · Apache-2.0 · NVIDIA/skills