"Integrate LeRobot-format StarVLA datasets, modality schemas, robot
Scanned 9/9/2026
Install to Claude Code
npx -y skills add VectorSpaceLab/AREX-Skill --skill data-integration --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Data Integration?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/vectorspacelab-data-integration)More formats (shields.io, HTML) on the badges page.
---
name: data-integration
description: "Integrate LeRobot-format StarVLA datasets, modality schemas, robot
DataConfig classes, mixtures, and registry discovery."
disable-model-invocation: true
metadata:
disco-role: operating
license: NOASSERTION
---
# StarVLA data integration
Use this sub-skill when the task is to add, debug, or review StarVLA robot-action data sources: LeRobot-format datasets, `meta/modality.json`, robot `DataConfig` classes, dataset mixtures, embodiment tags, registry discovery, statistics caches, and safe custom-dataset templates.
## Route elsewhere
- Training command construction, YAML launch overrides, Accelerate/DeepSpeed, or checkpoint resume: [training-config](../training-config/SKILL.md).
- Policy request/response schemas, server-side unnormalization, deployment clients, or real-robot bridge calls: [policy-deployment](../policy-deployment/SKILL.md).
- Simulator installation, benchmark evaluator loops, rendering, or benchmark environment setup: [benchmark-evaluation](../benchmark-evaluation/SKILL.md).
## Operating map
1. Confirm that each dataset is a LeRobot dataset with `meta/modality.json`, LeRobot metadata files, parquet data, and task metadata. Use [LeRobot data format](references/lerobot-data-format.md) for the expected shape.
2. Draft or edit the robot `DataConfig`: define `video_keys`, `state_keys`, `action_keys`, `language_keys`, `observation_indices`, optional `state_indices`, and `action_indices`; implement `modality_config()` and `transform()`. Use [dataset registry](references/dataset-registry.md).
3. Register the robot and mixture by exporting `ROBOT_TYPE_CONFIG_MAP` and `DATASET_NAMED_MIXTURES` from an auto-discovered `examples/**/train_files/data_registry/data_config.py` module. Prefer an `embodiment_tag` class variable on the `DataConfig`; legacy `ROBOT_TYPE_TO_EMBODIMENT_TAG` overrides still work.
4. Keep `len(action_indices)` aligned with the model/training `action_horizon` for the selected framework. If you are editing launch YAML, route to [training-config](../training-config/SKILL.md).
5. Validate candidate `modality.json` files before data loading with `scripts/validate_modality_json.py` from this sub-skill.
6. If the user starts from the bundled custom-dataset assets, adapt only the dataset and registry pieces here; route the training launcher and benchmark/policy bridge pieces as described in [dataset integration templates](references/dataset-integration-templates.md).
## Must-know StarVLA contracts
- StarVLA data loading uses `data_root_dir` plus `DATASET_NAMED_MIXTURES[data_mix]`; each mixture entry is `(dataset_subdir, sampling_weight, robot_type)`.
- `ROBOT_TYPE_CONFIG_MAP[robot_type]` must produce a `DataConfig` instance whose modality keys match the `meta/modality.json` subkeys.
- Language keys are StarVLA keys such as `annotation.human.task_description` or `annotation.human.action.task_description`; the corresponding `modality.json` annotation entry must read task ids with `original_key: "task_index"`.
- State/action `start` and `end` slices are end-exclusive slices into the LeRobot column named by `original_key` or the schema default.
- `StateActionTransform` owns training-time normalization (`min_max`, `q99`, `mean_std`, or `binary`) and reads dataset statistics generated from LeRobot parquet files.
- StarVLA may rebuild `meta/stats_gr00t.json` when cache format or action-mode configuration changes; keep the training-output `dataset_statistics.json` paired with checkpoints for deployment.
## References
- [LeRobot data format](references/lerobot-data-format.md)
- [Dataset registry](references/dataset-registry.md)
- [Dataset integration templates](references/dataset-integration-templates.md)
- [Troubleshooting](references/troubleshooting.md)
## Safe helper
- `scripts/validate_modality_json.py` validates the JSON shape without importing StarVLA or opening data files. It catches missing top-level modalities, invalid state/action slices, and the common language-conditioning error where the annotation field does not use `task_index`.
## Evidence notes
Distilled from StarVLA dataloader and registry sources (`starVLA/dataloader/__init__.py`, `lerobot_datasets.py`, `gr00t_lerobot/registry.py`, `data_config.py`, `datasets.py`, `schema.py`, `transform/*`), representative benchmark/robot data registries, the custom integration asset templates, and the README/guideline data sections.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!