{"slug":"data-5","title":"data","summary":"Data sourcing strategy for robotics and physical-AI: choose between offline datasets (HuggingFace hub, Open X-Embodiment and similar), simulation-generated data, and teleop/real-robot collection; plan storage formats, episode structure, and dataset versioning. Use when: 'where do","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-09-20T17:07:59.26477Z","repo":{"url":"https://github.com/robium-ai/robium","stars":14,"forks":0,"license":"MIT","updatedAt":"2026-09-19T21:00:59Z"},"bodyHtml":"<hr>\n<h2>name: data\nversion: 1.0.0\ndescription: &gt;\nData sourcing strategy for robotics and physical-AI: choose between offline\ndatasets (HuggingFace hub, Open X-Embodiment and similar), simulation-generated\ndata, and teleop/real-robot collection; plan storage formats, episode\nstructure, and dataset versioning. Use when: 'where do we get data', 'training\ndata for the robot', 'dataset for manipulation', 'generate data in sim',\n'collect demonstrations', planning any data pipeline for robot learning.\nUmbrella skill — mechanics live downstream: hub operations in huggingface,\nLeRobot formats in lerobot, synthetic generation in isaac-sim/gazebo. Not for:\nmodel training itself (lerobot, isaac-lab).</h2>\n<h1>data</h1>\n<p>The data-sourcing umbrella for robium. Before any policy gets trained, something\nhas to decide where the training data comes from — an existing hub dataset, data\ngenerated in simulation, or demonstrations collected via teleop on a real robot —\nand how it will be stored and versioned once it exists. This skill owns that\nselection and the cross-cutting sourcing rules; it does not own hub mechanics\n(<code>huggingface</code>), the LeRobotDataset format (<code>lerobot</code>), or the mechanics of\ngenerating synthetic data inside a simulator (<code>isaac-sim</code>, <code>gazebo</code>). It also\ndoes not own training itself — that is <code>lerobot</code> and <code>isaac-lab</code>'s territory.</p>\n<h2>When to use this skill</h2>\n<ul>\n<li>Starting any robot-learning task and the data source isn't decided yet — this\nis a required early step for the manipulation vertical, the same way\n<code>environments</code> is a required early step for reproducibility.</li>\n<li>The trigger phrases in the description: 'where do we get data', 'training\ndata for the robot', 'dataset for manipulation', 'generate data in sim',\n'collect demonstrations'.</li>\n<li>Planning storage format, episode structure, or dataset versioning before a\ncollection or generation effort starts, not after.</li>\n<li>Cross-references — go to the sibling skill instead when the question is:\n<ul>\n<li>Actually pulling, pushing, or browsing a dataset on the Hub → <code>huggingface</code>.\nThis skill decides <em>which</em> dataset or source strategy to use; it does not\nown hub auth or transfer mechanics.</li>\n<li>The LeRobotDataset directory/Parquet+MP4 shape, recording CLI, or dataset\nediting tools → <code>lerobot</code>. This skill decides <em>whether</em> to record real\ndemonstrations at all; <code>lerobot</code> owns how a recording actually happens.</li>\n<li>The mechanics of generating synthetic data inside a simulator (Replicator,\ndomain randomization, writers) → <code>isaac-sim</code> or <code>gazebo</code>. This skill\ndecides <em>whether</em> sim-generated data is the right call for a task.</li>\n<li>Training a policy on the data once sourced → <code>lerobot</code> (or <code>isaac-lab</code> for\nthe NVIDIA RL stack).</li>\n<li>The whole-stack decision this feeds into → <code>architect</code> (routes here).</li>\n</ul>\n</li>\n</ul>\n<h2>Key directives</h2>\n<ul>\n<li><strong>Delegation posture: route + embed the decision logic.</strong> The sourcing\n<em>decision</em> (offline vs sim-generated vs teleop, and how much of each) lives\nhere; the <em>how-to</em> for each source lives in the skill it routes to. Never\nre-teach hub operations, LeRobot dataset internals, or simulator synthetic-\ndata pipelines here — link to the owning skill instead.</li>\n<li><strong>Offline-first: search before you collect.</strong> Before generating or recording\na single new episode, search the Hub (and Open X-Embodiment specifically for\nmanipulation) for an existing dataset that already covers the task and\nembodiment. Collection and generation both cost real time and compute;\nskipping the search step is the most common way a project re-collects data\nthat already exists.</li>\n<li><strong>Verify embodiment match before committing to a dataset.</strong> A dataset with\nthe right task but the wrong action space, camera viewpoint(s), gripper type,\nor degrees of freedom does not transparently transfer — check the dataset's\nstate/action features and camera configuration against the target robot\nbefore planning a project around it, not after a training run underperforms.\nA near-match is a candidate for co-training or fine-tuning, not a drop-in\nreplacement.</li>\n<li><strong>Weigh sim-generation against teleop by cost and fidelity, not habit.</strong>\nNeither is a universal default — see Decision guidance for the trade-off.</li>\n<li><strong>Never write dataset facts (episode counts, formats, licensing) from\nmemory.</strong> Hub dataset cards and the Open X-Embodiment dataset list change as\nnew contributions land; confirm the current shape of a specific dataset\nagainst its Hub page or the source repo before planning a project around it.</li>\n</ul>\n<h2>Quick start</h2>\n<p><strong>1. Define the task and embodiment precisely</strong> — robot morphology, action\nspace, camera views, task description. This is the search key for step 2 and\nthe compatibility check for step 3.</p>\n<p><strong>2. Search for an existing dataset first.</strong> Check the Hub's robotics/LeRobot\ntags and Open X-Embodiment for a dataset matching the task and embodiment\n(mechanics: <code>huggingface</code>). If one exists and the embodiment matches, use it\ndirectly — skip to step 5.</p>\n<p><strong>3. If no match, decide sim-generation vs teleop</strong> using the trade-off table\nin Decision guidance. Route to <code>isaac-sim</code> or <code>gazebo</code> for sim-generation\nmechanics, or <code>lerobot</code> for teleop-based recording mechanics.</p>\n<p><strong>4. Plan storage and versioning before collecting anything.</strong> Decide the\ntarget dataset format (LeRobotDataset, mechanics in <code>lerobot</code>) and where it\nwill be versioned (a Hub repo with explicit revisions, mechanics in\n<code>huggingface</code>) so episodes land in their final shape from the first one\nrecorded, not migrated after the fact.</p>\n<p><strong>5. Record the chosen source strategy</strong> in the project's architecture brief\n(the section <code>architect</code> maintains) so later phases don't re-litigate it.</p>\n<h2>Decision guidance</h2>\n<p><strong>Offline-first funnel:</strong></p>\n<pre><code>Search Hub + Open X-Embodiment for the task/embodiment\n│\n├─ Match found, embodiment matches   → use it directly (huggingface + lerobot)\n├─ Partial match (task ✓, embodiment ✗) → candidate for co-training/fine-tune,\n│                                          not a drop-in; still need new data\n└─ No match                          → choose sim-generation or teleop below\n</code></pre>\n<p><strong>Sim-generation vs teleop/real-robot collection trade-offs:</strong></p>\n<table>\n<thead>\n<tr>\n<th>Factor</th>\n<th>Sim-generated</th>\n<th>Teleop / real-robot</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Cost per episode</td>\n<td>Low — scales to thousands of episodes with compute, not human time</td>\n<td>High — a human operator per episode, hardware wear</td>\n</tr>\n<tr>\n<td>Scale</td>\n<td>Easy to get large volumes via domain randomization</td>\n<td>Bounded by operator time; large datasets are expensive</td>\n</tr>\n<tr>\n<td>Realism / sim-to-real gap</td>\n<td>Real risk — visual and physics gaps unless deliberately closed (domain randomization, matched sensor noise)</td>\n<td>Ground truth by construction — no sim-to-real gap</td>\n</tr>\n<tr>\n<td>When to prefer</td>\n<td>Early iteration, pretraining, cases where large scale matters more than perfect fidelity</td>\n<td>Final validation, tasks with contact-rich or hard-to-simulate dynamics, or when the sim-to-real gap can't be closed cheaply</td>\n</tr>\n<tr>\n<td>GPU requirement</td>\n<td><code>isaac-sim</code> route needs the NVIDIA RTX GPU floor; <code>gazebo</code> route does not</td>\n<td>None beyond the target robot and a recording workstation</td>\n</tr>\n</tbody>\n</table>\n<p>A common effective pattern is both: bulk sim-generated episodes for scale and\ncoverage, plus a smaller teleop set for real-world validation and to measure\n(and later close) the sim-to-real gap. Decide the mix explicitly and record it\nrather than defaulting to only one source.</p>\n<h2>Platform gotchas</h2>\n<ul>\n<li><strong>The sim-generation route inherits its simulator's gates.</strong> Choosing\n<code>isaac-sim</code> for data generation means meeting its NVIDIA RTX GPU floor first\n(see that skill's Key directives); choosing <code>gazebo</code> does not require a GPU.\nDon't plan a sim-generation-heavy data strategy around Isaac Sim before the\nGPU question is confirmed — fall back to <code>gazebo</code> or a teleop-heavy plan\notherwise.</li>\n<li><strong>Real-robot teleop collection has no headless shortcut.</strong> It requires a\nphysical robot, an operator, and (per <code>lerobot</code>'s own gotchas) a working\nkeyboard/input teleop path that doesn't fully work over a headless/Wayland\nsession — plan collection sessions on a machine with a real display and\ninput device attached.</li>\n</ul>\n<h2>Customization</h2>\n<ul>\n<li><strong>Different task domain (navigation vs manipulation):</strong> the offline-first\nfunnel applies either way, but Open X-Embodiment is manipulation-specific —\nfor navigation data, search the Hub's general robotics/SLAM datasets instead\nand lean more heavily on <code>gazebo</code>-generated data, since teleop collection for\nnavigation is comparatively cheap (no arm/gripper precision required).</li>\n<li><strong>Multi-embodiment projects:</strong> treat each embodiment's data need separately\nthrough the same funnel rather than assuming one sourced dataset covers every\nrobot in the fleet — verify the embodiment-match step per robot.</li>\n</ul>\n<h2>References</h2>\n<ul>\n<li>Upstream: <a href=\"https://huggingface.co/docs/hub/en/datasets-overview\">Hugging Face Hub dataset docs</a>,\n<a href=\"https://huggingface.co/docs/datasets/en/index\">Hugging Face Datasets library docs</a>,\n<a href=\"https://robotics-transformer-x.github.io/\">Open X-Embodiment project page</a>,\n<a href=\"https://github.com/google-deepmind/open_x_embodiment\">Open X-Embodiment GitHub repo</a>,\n<a href=\"https://huggingface.co/docs/lerobot/index\">LeRobot documentation</a> (dataset\nformat detail, owned downstream by <code>lerobot</code>).</li>\n<li>Sibling skills: <code>huggingface</code> (hub operations), <code>lerobot</code> (LeRobotDataset\nformat and recording mechanics), <code>isaac-sim</code> and <code>gazebo</code> (synthetic-data\ngeneration mechanics), <code>isaac-lab</code> (RL training that consumes this data),\n<code>architect</code> (routes here, records the sourcing decision in the brief).</li>\n</ul>\n<h2>Changelog</h2>\n\n","files":[{"path":"SKILL.md","sizeBytes":9725,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-09-20T17:09:11.256798Z","sha256":"A3A208C6F43170A1A6AABDA44ED9B9127B4E7A7195CEB45A330B9EE42FE53F67","sizeBytes":4071},"review":null,"source":{"repositoryUrl":"https://github.com/robium-ai/robium","path":"archive/data/1.0.0","license":"MIT","commit":"498ea4e4beab472e999287e9d628d892c206a8a1","subtreeSha":"FF7BA4E93410C48AAC34B6045FB78E0C671CD8AAEEA4B42B1553D1435FC1F099","lastSyncedAt":"2026-09-20T17:07:51.565883Z"},"reviewedAt":"2026-09-20T17:11:10.156393Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/robium-ai/robium/tree/main/archive/data/1.0.0"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install robium-ai-robium@llmmart"},{"target":"git","command":"git clone https://github.com/robium-ai/robium.git"}]}