Multimodal Media Feature Extraction
TyrealQ/q-skills
Extracts pixel, video-frame, speech, music and visual-semantic features from image, video and audio files for research datasets, using local tools or the Gemini API.
Convert robot trajectory datasets between formats — currently agibot v1 → LeRobot v2.1 (parquet + HEVC/PNG-encoded MP4).
$ npx skills add AgibotTech/genie_sim --skill convert-dataset -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AgibotTech/genie_sim convert-dataset --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/AgibotTech/genie_sim.git skills-src && mkdir -p .claude/skills && cp -r skills-src/source/geniesim_benchmark/skills/convert-dataset .claude/skills/convert-dataset && 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 "convert-dataset" agent skill from https://github.com/AgibotTech/genie_sim/tree/main/source/geniesim_benchmark/skills/convert-dataset into .claude/skills/convert-dataset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "convert-dataset", 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/AgibotTech/genie_sim/tree/main/source/geniesim_benchmark/skills/convert-datasetType 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 AgibotTech/genie_sim --skill convert-dataset -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AgibotTech/genie_sim convert-dataset --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgibotTech/genie_sim.git skills-src && mkdir -p .agents/skills && cp -r skills-src/source/geniesim_benchmark/skills/convert-dataset .agents/skills/convert-dataset && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "convert-dataset" agent skill from https://github.com/AgibotTech/genie_sim/tree/main/source/geniesim_benchmark/skills/convert-dataset into .agents/skills/convert-dataset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "convert-dataset", 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 AgibotTech/genie_sim --skill convert-dataset -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AgibotTech/genie_sim convert-dataset --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgibotTech/genie_sim.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/source/geniesim_benchmark/skills/convert-dataset .cursor/skills/convert-dataset && 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 "convert-dataset" agent skill from https://github.com/AgibotTech/genie_sim/tree/main/source/geniesim_benchmark/skills/convert-dataset into .cursor/skills/convert-dataset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "convert-dataset", 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/AgibotTech/genie_sim.git --path source/geniesim_benchmark/skills/convert-dataset--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 AgibotTech/genie_sim --skill convert-dataset -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AgibotTech/genie_sim convert-dataset --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgibotTech/genie_sim.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/source/geniesim_benchmark/skills/convert-dataset .gemini/skills/convert-dataset && 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 "convert-dataset" agent skill from https://github.com/AgibotTech/genie_sim/tree/main/source/geniesim_benchmark/skills/convert-dataset into .gemini/skills/convert-dataset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "convert-dataset", 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 AgibotTech/genie_sim convert-datasetInstalls 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 AgibotTech/genie_sim --skill convert-dataset -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AgibotTech/genie_sim.git skills-src && mkdir -p .github/skills && cp -r skills-src/source/geniesim_benchmark/skills/convert-dataset .github/skills/convert-dataset && 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 "convert-dataset" agent skill from https://github.com/AgibotTech/genie_sim/tree/main/source/geniesim_benchmark/skills/convert-dataset into .github/skills/convert-dataset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "convert-dataset", 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 AgibotTech/genie_sim --skill convert-dataset -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AgibotTech/genie_sim convert-dataset --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AgibotTech/genie_sim.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/source/geniesim_benchmark/skills/convert-dataset .opencode/skills/convert-dataset && 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 "convert-dataset" agent skill from https://github.com/AgibotTech/genie_sim/tree/main/source/geniesim_benchmark/skills/convert-dataset into .opencode/skills/convert-dataset/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "convert-dataset", 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.
convert-datasetConvert robot trajectory datasets between formats — currently agibot v1 → LeRobot v2.1 (parquet + HEVC/PNG-encoded MP4).
Convert Dataset is an agent skill from AgibotTech/genie_sim. Convert robot trajectory datasets between formats — currently agibot v1 → LeRobot v2.1 (parquet + HEVC/PNG-encoded MP4). Uses the geniesim dataset convert agibot-to-lerobot CLI verb, which wraps the geniesimbenchmark.dataset.convert.agibottolerobot Python API. Trigger: When the user asks to "convert agibot to lerobot", "convert dataset", "transcode trajectory data", "build a LeRobot dataset", "把 agibot 数据转成 lerobot", or provides an agibot episode dir / batch dir and wants the LeRobot v2.1 layout…
Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in Data & Analytics, covering DataFrames. It works with Python and FFmpeg. The repository describes itself as: Simulation Platform from AgiBot. The licence is MPL-2.0.
Read from SKILL.md and the folder at commit 6ca11c7. 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:
python3aptbrewffmpegFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From 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.
Convert Dataset loads about 1.5k tokens when it runs. Until then it costs about 145 tokens; SKILL.md has 427 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.
missing it surfaces the install hint (`sudo apt install ffmpeg` onAutomated 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 AgibotTech/genie_sim at commit 6ca11c7, republished under its MPL-2.0 licence (© AgibotTech). 427 words, ~1,539 tokens.
.claude/skills/convert-dataset/SKILL.md (or your agent's skills folder).Do not use for:
run-benchmark skill.check-inference skill.geniesim_benchmark installed (tier-1 peer — comes with geniesim bootstrap).ffmpeg on PATH. Used for both RGB encoding (HEVC / libx265) and
depth encoding (PNG / gray16le). The converter pre-flights ffmpeg; if
missing it surfaces the install hint (sudo apt install ffmpeg on
Debian/Ubuntu, brew install ffmpeg on macOS).h5py, numpy, pyarrow are declared deps of geniesim_benchmark;
nothing to install separately.geniesim dataset convert agibot-to-lerobot \
--agibot-dir ./agibot/episode_000 \
--output-dir ./lerobot_out--agibot-dir is treated as a single episode iff it contains
aligned_joints.h5 directly. The resulting dataset has
total_episodes = 1.
geniesim dataset convert agibot-to-lerobot \
--agibot-dir ./agibot \
--output-dir ./lerobot_outWhen --agibot-dir does not contain aligned_joints.h5 directly, the
converter scans for episode subdirectories (each must contain
aligned_joints.h5). Episodes are indexed in sorted order of their
directory name.
geniesim dataset convert agibot-to-lerobot \
--agibot-dir ./agibot \
--output-dir ./lerobot_out \
--lerobot-ref-dir /path/to/reference/lerobot_datasetWhen the agibot episode is missing the fisheye / head_back extrinsics
(common — those cameras aren't on every rig), the converter pulls the
missing columns from
<lerobot-ref-dir>/data/chunk-000/episode_000000.parquet. Omit
--lerobot-ref-dir to leave those columns empty.
--fps 60 # default is 30--fps is passed to ffmpeg (-r, -framerate) and baked into the
v2.1 timestamps (frame_index / fps). The meta/info.json always records
fps: 30 regardless — match this if you need consistency across a
collection.
The same conversion is callable from Python:
from pathlib import Path
from geniesim_benchmark.dataset.convert.agibot_to_lerobot import convert_agibot_to_lerobot
manifest = convert_agibot_to_lerobot(
agibot_dir=Path("./agibot"),
output_dir=Path("./lerobot_out"),
lerobot_ref_dir=Path("./ref_lerobot"), # optional
fps=30.0,
)
print(manifest["total_episodes"], manifest["total_frames"])The Python API raises RuntimeError for missing ffmpeg, missing heavy
deps, or no detected episodes. The CLI wrapper catches those and prints
the error to stderr with exit code 1.
ls -R lerobot_out/
# → data/chunk-000/episode_000000.parquet, ...
# → videos/chunk-000/{top_head,hand_left,hand_right,top_head_depth,...}/episode_*.mp4
# → meta/{info.json,tasks.jsonl,episodes.jsonl,episodes_stats.jsonl}
python3 -c "
import pyarrow.parquet as pq
t = pq.read_table('lerobot_out/data/chunk-000/episode_000000.parquet')
print(t.schema)
print('rows:', t.num_rows)
"observation.state must be a fixed_size_list<float32, 159> and action
a fixed_size_list<float32, 40> — those widths are part of the v2.1
contract and the converter writes them literally.
ffmpeg is not on PATH — install ffmpeg; see Prerequisites.No episode directories found — --agibot-dir neither contains
aligned_joints.h5 directly nor has any subdir containing one. Re-check
the path; common mistake is pointing at a parent that's one level too
high.ERROR encoding <key>: … — ffmpeg printed something to stderr.
Common causes: missing input frames (camera/<N>/<stem>.jpg glob is
sparse), unsupported codec (older ffmpeg without libx265 — install
ffmpeg with HEVC support, e.g. the nasm/libx265 variant), or write
permission errors on --output-dir.episodes_stats.jsonl reads back the parquet
rows; if the parquet wasn't written the stats entry is {}. Inspect
the parquet first.lerobot repo (search for
info.json codebase_version: v2.1).© AgibotTech, MPL-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in source/geniesim_benchmark/skills/convert-dataset of AgibotTech/genie_sim.
Open the folder on GitHubat commit 6ca11c7
Convert Dataset 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 |
|---|---|---|---|---|---|---|
| Convert Dataset this skillAgibotTech/genie_sim | 1.4k | — | ~1.5k | Automated safety check: Notes | MPL-2.0 | |
| Multimodal Media Feature ExtractionTyrealQ/q-skills | 108 | — | ~2k | Automated safety check: Notes | MIT | |
| Chdb Datastorevemetric/vemetric | 394 | 2 repos | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Polar Python SDKpolarsource/polar | 10k | — | ~1.8k | Automated safety check: Pass | Apache-2.0 | |
| CSV Data Summarizercoffeefuelbump/csv-data-summarizer-claude-skill | 468 | 2 repos | ~1.4k | Automated safety check: Pass | None | |
| Python Executorcortega26/chile-hub | 113 | 2 repos | ~1.5k | Automated safety check: Pass | MIT |
TyrealQ/q-skills
Extracts pixel, video-frame, speech, music and visual-semantic features from image, video and audio files for research datasets, using local tools or the Gemini API.
vemetric/vemetric
A skill your agent uses when the user has tabular data (pandas DataFrame, parquet, csv, Arrow, json) and wants to filter, group, aggregate, join, or speed up slow pandas.
polarsource/polar
Integrate Polar billing in server-side Python applications using the versioned Polar and PolarAsync clients.
coffeefuelbump/csv-data-summarizer-claude-skill
Analyzes CSV files, generates summary stats, and plots quick visualizations using Python and pandas.
cortega26/chile-hub
Execute Python code in a safe sandboxed environment via [inference.sh](https://inference.sh).
retentioneering/retentioneering-tools
Analyze event logs, clickstreams, user paths, product funnels, retention, behavioral segments, transition graphs, step matrices, sequence patterns, and customer journeys using Retentioneering.
AgibotTech/genie_sim
Provision and launch the Simulation Challenge baseline inference model end to end: clone the inference code from a given git repo/branch, download the checkpoints from ModelScope into the repo's…
AgibotTech/genie_sim
Download the Simulation Challenge LeRobot v2.1 training datasets from ModelScope using ./scripts/downloaddataset.sh.
AgibotTech/genie_sim
Bring a custom robot into the Genie Sim RT Engine — author / fix a xacro / URDF in geniesimrobotmodel, prep meshes with the offline tools (normalizeobjnames.py, diagnoseurdf.py, recomputeinertia.py…
AgibotTech/genie_sim
Build the geniesimros colcon workspace inside the Genie Sim Docker container using the geniesim ros build CLI verb.
AgibotTech/genie_sim
Reference for the Simulation Challenge inference wire protocol — the exact obs (input) and action (output) message format exchanged between the gateway/genie-sim simulator and the contestant's…
AgibotTech/genie_sim
A skill your agent uses when the contestant needs to obtain or refresh their Simulation Challenge JWT (CHALLENGETOKEN), or wants to inspect the current logged-in user.
Categories
Convert robot trajectory datasets between formats — currently agibot v1 → LeRobot v2.1 (parquet + HEVC/PNG-encoded MP4). Convert Dataset is an agent skill from AgibotTech/genie_sim.1 (parquet + HEVC/PNG-encoded MP4).
Convert Dataset fits situations like: asks to convert agibot to lerobot; convert dataset; transcode trajectory data; build a LeRobot dataset.
Run `npx skills add AgibotTech/genie_sim --skill convert-dataset -a claude-code`. Or copy the skill folder (source/geniesim_benchmark/skills/convert-dataset in AgibotTech/genie_sim) into .claude/skills/convert-dataset in your project. Claude Code loads it when a task matches its description.
Run `npx skills add AgibotTech/genie_sim --skill convert-dataset -a codex`. Or copy the skill folder (source/geniesim_benchmark/skills/convert-dataset in AgibotTech/genie_sim) into .agents/skills/convert-dataset 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 AgibotTech/genie_sim --skill convert-dataset -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/convert-dataset, .gemini/skills/convert-dataset, .github/skills/convert-dataset and .opencode/skills/convert-dataset in your project.
Going by SKILL.md and its folder, Convert Dataset needs the command-line tools its instructions call (python3, apt, brew and ffmpeg). Our summary lists: Python 3.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (runs commands with sudo), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Convert Dataset is published under the MPL-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Convert Dataset: Multimodal Media Feature Extraction (TyrealQ/q-skills, 108 stars), Chdb Datastore (vemetric/vemetric, 394 stars), Polar Python SDK (polarsource/polar, 10k stars) and CSV Data Summarizer (coffeefuelbump/csv-data-summarizer-claude-skill, 468 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
AgibotTech (a GitHub organization) maintains it in AgibotTech/genie_sim, which has 1,413 GitHub stars. The repository holds 26 skills in this directory. The repository was last updated on September 7, 2026.
Source: AgibotTech/genie_sim on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.