kleinkram-upload

Uploads ROS/RO2 bag datasets (.mcap, .bag, .db3 with metadata.yaml to Kleinkram projects using the klein CLI.

1|Updated Feb 3, 2026
One-click install
npx skills add https://github.com/Idate96/codex_skills --skill kleinkram-upload
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: kleinkram-upload
Source: https://github.com/Idate96/codex_skills/tree/main/skills/kleinkram-upload
Command: npx skills add https://github.com/Idate96/codex_skills --skill kleinkram-upload

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill automates the process of uploading ROS/ROS2 bag datasets to Kleinkram, a platform for managing and analyzing sensor data, especially when dealing with potential filename collisions.

Core Features & Use Cases

  • Automated Upload: Uploads .mcap, .bag, and .db3 files along with metadata.yaml to Kleinkram projects.
  • Mission Naming: Provides strategies to avoid filename collisions, particularly with metadata.yaml, by creating separate missions for subfolders or individual bags.
  • Bulk Upload Script: A helper script (scripts/klein_upload_rosbags.py) resolves project names to UUIDs, creates missions, and handles splitting subfolders to prevent collisions.
  • Use Case: Uploading multiple ROS2 bag folders from different sensors (camera, lidar) collected during a single autonomous driving test run into distinct Kleinkram missions to keep data organized and prevent metadata.yaml overwrites.

Quick Start

Use the kleinkram-upload skill to upload the bag folder located at /home/user/bags/run_01 to the 'mole_estimator' project, naming the mission 'run_01_camera'.

Frequently Asked Questions about kleinkram-upload

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I upload ROS2 bag files to Kleinkram without causing metadata.yaml collisions?

You can upload ROS2 bag files to Kleinkram without collisions by using a Python helper script that splits nested bag directories into separate missions, preventing metadata.yaml overwrites while keeping related sensor data organized within a single project.

Can I bulk upload multiple ROS bag folders containing different sensor data at once?

You can bulk upload multiple ROS bag folders by running a helper script that resolves project names to UUIDs, creates distinct missions for each subfolder, and processes the datasets to keep different sensor outputs organized in Kleinkram.

What file formats are supported for uploading ROS bag datasets to Kleinkram?

The supported file formats for uploading ROS bag datasets to Kleinkram include .mcap, .bag, and .db3 files, which are transferred alongside their corresponding metadata.yaml files to ensure proper dataset structure.

Do I need the klein CLI installed and authenticated to upload ROS bags?

You must have the klein CLI installed and authenticated on your system to upload ROS bags, because the upload process relies on this command-line interface to communicate with Kleinkram and manage project and mission data.

What is the best way to organize autonomous driving sensor data in Kleinkram?

The best way to organize autonomous driving sensor data in Kleinkram is to create distinct missions for separate sensor folders, such as camera and lidar, ensuring that metadata.yaml files from different runs do not overwrite each other.

Why does uploading nested ROS bag directories require creating separate missions?

Uploading nested ROS bag directories requires creating separate missions to avoid filename collisions, specifically preventing multiple metadata.yaml files from overwriting each other during the bulk upload process to Kleinkram.