Agent skill

Record Episode

by AgibotTech in AgibotTech/genie_sim

Capture a Genie Sim RT Engine episode while a scene runs — record the canonical ROS 2 topics (/jointstates, /jointcommand, /tf, /clock, cameras) with ros2 bag, or pair the recording with the teleop…

MPL-2.0Auto-check passed

Install Record Episode

skills CLI
$ npx skills add AgibotTech/genie_sim --skill record-episode -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install AgibotTech/genie_sim record-episode --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/AgibotTech/genie_sim.git skills-src && mkdir -p .claude/skills && cp -r skills-src/source/geniesim_ros/skills/record-episode .claude/skills/record-episode && rm -rf skills-src

Use ~/.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/

Facts

Skill name
record-episode
GitHub stars
1.4k
Token cost
~1.4k tokens
SKILL.md length
429 words
Files
1
Skills in repo
26
Repo updated
First seen
Licence
MPL-2.0

At a glance

Capture a Genie Sim RT Engine episode while a scene runs — record the canonical ROS 2 topics (/jointstates, /jointcommand, /tf, /clock, cameras) with ros2 bag, or pair the recording with the teleop…

  • Works in 5 steps: Confirm the scene is up → Pick a topic list → Start the bag → …
  • Asks to record an episode
  • SKILL.md covers When to Use, Critical Patterns, What to record and Workflow, plus 3 more sections
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Record Episode is an agent skill from AgibotTech/genie_sim. Capture a Genie Sim RT Engine episode while a scene runs — record the canonical ROS 2 topics (/jointstates, /jointcommand, /tf, /clock, cameras) with ros2 bag, or pair the recording with the teleop / benchmark loops that have their own per-episode output hooks. Trigger: When the user asks to "record an episode", "录制一段数据", "save the run", "dump rosbags", "capture trajectories", or wants to persist the world state during a launch-scene / teleop / benchmark run for later replay or training.

Its SKILL.md is about 1.4k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

The repository describes itself as: Simulation Platform from AgiBot. The licence is MPL-2.0.

When your agent uses it

  • Asks to record an episode
  • Capture trajectories
  • Wants to persist the world state during a launch-scene / teleop / benchmark run for later replay

Example prompts

  • “record an episode”
  • “录制一段数据”
  • “save the run”
  • “/record-episode”

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Confirm the scene is up
  2. Pick a topic list
  3. Start the bag
  4. Verify
  5. (alternative) Let the loop record for you

What it can do on your machine

Read from SKILL.md and the folder at commit 6ca11c7. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • docs.ros.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Record Episode loads about 1.4k tokens when it runs. Until then it costs about 130 tokens; SKILL.md has 429 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~130
When it runs · the whole SKILL.md, loaded when a task matches
~1.4k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated 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.

SKILL.md

The full file from AgibotTech/genie_sim at commit 6ca11c7, republished under its MPL-2.0 licence (© AgibotTech). 429 words, ~1,408 tokens.

Download SKILL.mdSave it as .claude/skills/record-episode/SKILL.md (or your agent's skills folder).
name
record-episode
description
Capture a Genie Sim RT Engine episode while a scene runs — record the canonical ROS 2 topics (`/joint_states`, `/joint_command`, `/tf`, `/clock`, cameras) with `ros2 bag`, or pair the recording with the teleop / benchmark loops that have their own per-episode output hooks. Trigger: When the user asks to "record an episode", "录制一段数据", "save the run", "dump rosbags", "capture trajectories", or wants to persist the world state during a `launch-scene` / teleop / benchmark run for later replay or training.
license
MPL-2.0
metadata.author
genie-sim
metadata.version
1.0
prerequisites
geniesim_ros:launch-scene

When to Use

  • A scene is up (launch-scene skill) and the user wants to persist topic streams for later replay or dataset assembly.
  • Teleop is running (run-teleop skill in geniesim_teleop) and the user wants ROS-side recording on top of the teleop loop's own per-episode artifacts.
  • Benchmark run wants extra raw-topic capture beyond what --benchmark.record=true writes.

Do not use for:

  • Replaying an already-recorded bag → just use ros2 bag play.
  • Recording from a stopped sim — ros2 bag needs live publishers.

Critical Patterns

  1. use_sim_time:=true is set engine-side, so every bag captures /clock and replays cleanly at simulation rate. Don't override the topic with wall-clock.
  2. Always record /clock in addition to your topic list — replay without it falls back to wall-clock pacing and timing breaks for downstream learners.
  3. Camera topics are heavy. A G2 scene with three cameras at 30 Hz easily clocks 200+ MB/min. Either narrow the topic list or use --max-bag-size to roll over bags.
  4. One recording per run. Restart the scene between recordings — the engine's init_* blocks run only at startup, and a fresh reset is the only way to guarantee a deterministic t0.
  5. ros2 bag is the canonical path. There is no dedicated "recorder" distribution in the stack — the teleop and benchmark loops have their own per-episode writers (see below), and everything else goes through ros2 bag.

What to record

TopicWhy
/clockSim time — required for deterministic replay
/tf, /tf_staticWorld pose tree (robot links, free objects)
/joint_statesRobot state from the engine
/joint_commandWhatever a teleop / planner pushed in
/odomMobile base (if applicable)
/camera/*RGB / depth / fisheye streams (heavy, narrow if you can)
/tf_renderOVRtx render-layer transforms (only if you'll replay rendering)
Show full SKILL.md (149 more words)Show less

Workflow

Step 1 — Confirm the scene is up
bash
ros2 topic list | grep -E "joint_states|tf|clock"
ros2 topic hz /clock                       # sim-time pacing should be live
Step 2 — Pick a topic list

For a typical G2 manipulation run:

bash
TOPICS=(
  /clock
  /tf /tf_static
  /joint_states
  /joint_command
  /odom
)
# add cameras if you want pixels:
TOPICS+=(/camera/head/rgb /camera/head/depth)
Step 3 — Start the bag
bash
# inside the container, in a second shell:
source devel/setup.bash
ros2 bag record \
  --output ./runs/$(date +%Y%m%d_%H%M%S)_${USER}_pnp \
  --max-bag-size 1073741824 \
  --storage mcap \
  "${TOPICS[@]}"

Stop with Ctrl-C. The bag dir contains metadata.yaml + chunked .mcap files.

Step 4 — Verify
bash
ros2 bag info ./runs/<dir>
ros2 bag play ./runs/<dir> --clock          # replay sim-time
Step 5 — (alternative) Let the loop record for you

For teleop:

bash
geniesim teleop run --device_type=pico --record-dir ./runs
# writes per-episode artifacts under ./runs/<episode>/

For benchmark:

bash
geniesim benchmark run <CONFIG> --infer-host=<IP>:<PORT> \
  --benchmark.record=true
# output_dir comes from the config; check the run banner

Commands (copy-paste summary for the user)

bash
# Inside the container, alongside a running scene:
source devel/setup.bash
ros2 bag record \
  --output ./runs/$(date +%Y%m%d_%H%M%S)_demo \
  --storage mcap \
  /clock /tf /tf_static /joint_states /joint_command /odom

# Replay:
ros2 bag play ./runs/<dir> --clock

Notes

  • --storage mcap is preferred over the legacy sqlite3 storage — faster random access, smaller files, and the standard for ROS 2 Jazzy.
  • If you plan to feed the bag to a dataset pipeline, also pin the manifest.json (under assets/scenes/<scene>/) alongside the bag — it records the exact USD + robot variant the bag was captured against.
  • For dataset-scale recording, the geniesim_generator skills (generate-scene, search-assets) plus the benchmark record=true flag are the closer fit — they write episode-indexed artifacts, not raw bags.

Resources

© 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

Files

Just SKILL.md in source/geniesim_ros/skills/record-episode of AgibotTech/genie_sim.

Open the folder on GitHubat commit 6ca11c7

Compare with similar skills

Record Episode 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.

Record Episode compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Record Episode this skillAgibotTech/genie_sim1.4k—~1.4kAutomated safety check: PassMPL-2.0
Recordingcodewhale-hq/Codewhale41k—~540Automated safety check: PassMIT
Architecture Decision Recordsaffaan-m/ECC276k4 repos~1.8kAutomated safety check: PassMIT
Capturealirezarezvani/claude-skills28k1 repos~2.8kAutomated safety check: PassMIT
Architecture Decision Recordsdavila7/claude-code-templates32k12 repos~3.2kAutomated safety check: PassMIT
macOS Screen Recordersickn33/agentic-awesome-skills47k1 repos~727Automated safety check: PassMIT

Similar skills

  • Recording

    codewhale-hq/Codewhale

    Capture screenshots on registered computers, record on macOS or HarmonyOS, and manage saved captures.

    41k GitHub stars~540 tokensUpdated today
    Productivity & AutomationAuto-check passed
  • Capture architectural decisions as numbered ADR markdown files in docs/adr/ with context, alternatives considered, consequences, and an index README.

    276k GitHub starsUsed in 4 repos~1.8k tokens
    DevelopmentAuto-check passed
  • Capture

    alirezarezvani/claude-skills

    Captures and organizes chaotic brain dumps into a structured, actionable system with zero information loss.

    28k GitHub starsUsed in 1 repo~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Architecture Decision Records

    davila7/claude-code-templates

    Comprehensive patterns for creating, maintaining, and managing Architecture Decision Records (ADRs) that capture the context and rationale behind significant technical decisions.

    32k GitHub starsUsed in 12 repos~3.2k tokens
    DevelopmentAuto-check passed
  • macOS Screen Recorder

    sickn33/agentic-awesome-skills

    macOS screen recorder that captures the main display PLUS system audio via ScreenCaptureKit — no BlackHole/loopback driver, no sudo, just the standard Screen Recording permission.

    47k GitHub starsUsed in 1 repo~727 tokens
    Auto-check passed
  • 在Claude Code会话期间,将做出的架构决策捕获为结构化的架构决策记录(ADR)。自动检测决策时刻,记录上下文、考虑的替代方案和理由。维护一个ADR日志,以便未来的开发人员理解代码库为何以当前方式构建。

    276k GitHub starsUsed in 1 repo~863 tokens
    DevelopmentAuto-check passed

More from AgibotTech/genie_sim

All 26 skills in this repo
  • Challenge Baseline Model

    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…

    1.4k GitHub stars~2.4k tokensUpdated 1 mo ago
    Auto-check passed
  • Challenge Download Datasets

    AgibotTech/genie_sim

    Download the Simulation Challenge LeRobot v2.1 training datasets from ModelScope using ./scripts/downloaddataset.sh.

    1.4k GitHub stars~960 tokensUpdated 1 mo ago
    Auto-check passed
  • Add Robot

    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…

    1.4k GitHub stars~2.1k tokensUpdated 1 mo ago
    Auto-check passed
  • Build Workspace

    AgibotTech/genie_sim

    Build the geniesimros colcon workspace inside the Genie Sim Docker container using the geniesim ros build CLI verb.

    1.4k GitHub stars~1.2k tokensUpdated 1 mo ago
    Auto-check passed
  • Challenge Inference Protocol

    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…

    1.4k GitHub stars~1.7k tokensUpdated 1 mo ago
    Auto-check passed
  • Challenge Login

    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.

    1.4k GitHub stars~1.6k tokensUpdated 1 mo ago
    Auto-check passed

Questions about Record Episode

What does Record Episode do?

Capture a Genie Sim RT Engine episode while a scene runs — record the canonical ROS 2 topics (/jointstates, /jointcommand, /tf, /clock, cameras) with ros2 bag, or pair the recording with the teleop…. Record Episode is an agent skill from AgibotTech/genie_sim. Capture a Genie Sim RT Engine episode while a scene runs — record the canonical ROS 2 topics (/jointstates, /jointcommand, /tf, /clock, cameras) with ros2 bag, or pair the recording with the teleop / benchmark loops that have their own per-episode output hooks.

When should I use Record Episode?

Record Episode fits situations like: asks to record an episode; capture trajectories; wants to persist the world state during a launch-scene / teleop / benchmark run for later replay.

How do I install Record Episode in Claude Code?

Run `npx skills add AgibotTech/genie_sim --skill record-episode -a claude-code`. Or copy the skill folder (source/geniesim_ros/skills/record-episode in AgibotTech/genie_sim) into .claude/skills/record-episode in your project. Claude Code loads it when a task matches its description.

How do I install Record Episode in Codex?

Run `npx skills add AgibotTech/genie_sim --skill record-episode -a codex`. Or copy the skill folder (source/geniesim_ros/skills/record-episode in AgibotTech/genie_sim) into .agents/skills/record-episode in your project. Codex loads it when a task matches its description.

Can I use Record Episode in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AgibotTech/genie_sim --skill record-episode -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/record-episode, .gemini/skills/record-episode, .github/skills/record-episode and .opencode/skills/record-episode in your project.

What does Record Episode need to run?

SKILL.md names no scripts, command-line tools or credentials: Record Episode is instructions for the agent only.

Does Record Episode access the network?

SKILL.md names 1 domain. As links in the text: docs.ros.org. This is read from the text; nothing was executed.

Is Record Episode safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Record Episode use?

Record Episode 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.

How many tokens does Record Episode use?

About 1.4k tokens (SKILL.md is roughly 5.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Record Episode?

Skills that share tags, products or a category with Record Episode: Recording (codewhale-hq/Codewhale, 41k stars), Architecture Decision Records (affaan-m/ECC, 276k stars), Capture (alirezarezvani/claude-skills, 28k stars) and Architecture Decision Records (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Record Episode?

AgibotTech (a GitHub organization) maintains it in AgibotTech/genie_sim, which has 1,415 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.