tao-validate-dataset-format — Claude Code skill for DAFT validation
This skill runs tao-daft validate on NVIDIA TAO DAFT data and helps interpret the results. Use it to check dataset structure, schemas, and cross-references.
npx skills add NVIDIA/skills --skill tao-validate-dataset-format -a claude-codeWhat tao-validate-dataset-format does
The skill chooses a format and its options, runs tao-daft validate against a local dataset or directory tree, then explains the outcome. The format is a positional argument; the dataset location goes after --path. Check --help for supported formats and their flags, since the available choices depend on the installed version.
You need Python 3.10+, the nvidia-tao-daft package, and DAFT data on local disk. A directory with meta.json beside media/ and text/ points to cosmos-reason-v1.0; a contextual/ directory is a marker for metropolis-v3.0. Without either marker, the skill asks rather than guessing.
This skill handles DAFT only, not COCO, YOLO, or Data Factory JSONL. It covers validate, not tao-daft info or tao-daft convert. For CI, --strict turns warnings into failures, so check that this behavior matches your pipeline.
What it helps with
- validate the structure of a DAFT dataset
- catch schema errors in TAO data
- find broken cross-references in a dataset
- identify a DAFT format from directory markers
- make CI fail when validation reports warnings
Example prompts for the agent
- Validate the DAFT dataset in
./datasetand explain any errors. - Infer the format from the directory layout, then check
./data. - Set up DAFT validation in CI so warnings cause a failure.
How to install tao-validate-dataset-format
1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-validate-dataset-format -a claude-code2Manually: put the files in place
~/.claude/skills/tao-validate-dataset-format/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/tao-validate-dataset-format/
1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-validate-dataset-format -a codex2Manually: put the files in place
.agents/skills/tao-validate-dataset-format/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-validate-dataset-format -a cursor2Manually: put the files in place
.cursor/skills/tao-validate-dataset-format/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install NVIDIA/skills tao-validate-dataset-format2Manually: put the files in place
.github/skills/tao-validate-dataset-format/SKILL.md1Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-validate-dataset-format -a gemini-cli2Platform CLI
gemini skills install https://github.com/NVIDIA/skills --path skills/tao-validate-dataset-formatManually: put the files in place
.devin/skills/tao-validate-dataset-format/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add NVIDIA/skills --skill tao-validate-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-validate-dataset-format
How do I install tao-validate-dataset-format in Claude Code?
Run npx skills add NVIDIA/skills --skill tao-validate-dataset-format -a claude-code. The skill file is placed at ~/.claude/skills/tao-validate-dataset-format/SKILL.md.
What does tao-validate-dataset-format do?
It runs tao-daft validate on DAFT data and helps interpret checks for dataset structure, schema, and cross-references.
What do I need to validate a DAFT dataset?
Install Python 3.10+ and nvidia-tao-daft with pip install nvidia-tao-daft. The dataset, or its parent directory, must be available on local disk.
Source text
SKILL.md · Apache-2.0
---
name: tao-validate-dataset-format
description: Run `tao-daft validate` to check NVIDIA TAO DAFT datasets for structure, schema, and cross-reference errors. Do
not use for non-DAFT formats. Use when the user asks to validate a DAFT dataset, check DAFT schema, validate a TAO dataset
format, or run `tao-daft validate`.
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
- validation
- schema
---
# Validate 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 validate <format> --path <dataset-or-parent-dir>
```
`<format>` is a positional subcommand (e.g. `metropolis-v3.0`, `cosmos-reason-v1.0`);
`--path` is required. Discover supported formats and per-format flags via
`tao-daft validate --help` and 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 validator formats before choosing a format slug, then
run validation with the target passed through `--path`:
```bash
tao-daft --version
tao-daft validate --help
tao-daft validate <format> --help
tao-daft validate <format> --path /path/to/daft-dataset
```
## Purpose
Drive `tao-daft validate` against a DAFT dataset (or a tree of them).
The CLI is the spec; the skill picks subcommand + flags and explains
the result.
Trigger when the user mentions "TAO DAFT", "DAFT format", validating a
DAFT dataset, schema/cross-reference errors, or `tao-daft validate`.
Do **not** trigger for non-DAFT layouts (COCO, YOLO, Data Factory JSONL),
or for `tao-daft info` / `tao-daft convert` — those have their own skills.
If the user's opening is ambiguous, run a few `--help` commands first
to ground yourself, then come back and confirm the task.
## Prerequisites
- `nvidia-tao-daft` installed (`pip install nvidia-tao-daft`; the wheel
is enough, no source repo). Confirm with `tao-daft --version`.
- A DAFT dataset, or a parent directory of them, on local disk.
## Instructions
### CLI conventions
`tao-daft` is nested argparse subcommands. Names and flags drift across
versions, so **discover the current surface from `--help`** rather than
trusting any list in this doc.
1. **Format is a positional subcommand**, not `--format`:
`tao-daft validate <format> [flags]`. List current formats via
`tao-daft validate --help`; slugs look like `metropolis-v3.0`,
`cosmos-reason-v1.0`.
2. **Target is `--path PATH`**, not positional. It accepts a single
dataset/scene or a parent directory — the validator walks the tree.
3. **Flags are per-format**; run the leaf help, e.g.
`tao-daft validate metropolis-v3.0 --help`, before choosing them.
Don't assume a flag from one format exists on another.
So the loop is: `tao-daft --version` → `tao-daft validate --help` →
pick format (infer if unspecified, see below) →
`tao-daft validate <format> --help` → run → interpret.
### Format inference
Use directory markers, not filenames:
- `meta.json` next to `media/` and `text/` ⇒ `cosmos-reason-v1.0`.
- A directory (or nested directories) containing `contextual/`,
typically alongside `raw/` and `task/` ⇒ `metropolis-v3.0`.
- Neither marker present ⇒ ask the user; do not guess.
### Reading errors
The CLI ends every run with a `VALIDATION RESULTS` block, then
`✅ VALIDATION PASSED` or `❌ VALIDATION FAILED`, and exits non-zero on
failure (safe to chain in scripts).
Output can be large on big trees — capture the full output to a file
and read it in slices rather than scrolling inline.
## Limitations
- Validates DAFT only. Non-DAFT layouts (COCO, YOLO, Data Factory
JSONL, etc.) belong in the upstream converter skills.
- Supported formats are whatever `tao-daft validate --help` reports
for the installed version; older slugs may have been retired.
- Covers `validate` only. Defer to the dedicated skills for
`tao-daft info` and `tao-daft convert`.
- Don't reimplement validation in Python; the CLI is the spec.
## Troubleshooting
- **`tao-daft: command not found`** — wheel not installed in the active
env. `pip install nvidia-tao-daft`; verify `tao-daft --version`.
- **`error: argument --path is required`** — path passed positionally.
Move it behind `--path`.
- **`invalid choice: '<format>'`** — slug isn't wired up in this
version. Re-run `tao-daft validate --help` and pick from the list.
- **Auto-detection (raw type / contextual set) is wrong** — override
via the format's scope-restriction flag; discover the name from the
leaf `--help`.
- **CI wants warnings to fail** — add `--strict`.
© NVIDIA Corporation · Apache-2.0 · NVIDIA/skills