Stage and upload files to Kleinkram with mission creation and verification. Use when asked to upload datasets, run bags, or sysid artifacts to Kleinkram, especially from mixed folders that need extension filtering, filename normalization, source-to-upload mapping for traceability, and Moleworks canonical naming (`moleworks` project).
Resources
2Install
npx skillscat add idate96/codex-skills/kleinkram-upload Install via the SkillsCat registry.
SKILL.md
Kleinkram Upload
Overview
Prepare a Kleinkram-safe payload from one or more files/folders, then upload and verify it against a project/mission. Use project IDs when possible for stable targeting.
Moleworks Standard (2026-03)
- Canonical project for new Mole data:
moleworks - Canonical mission format:
track__scenario__YYYYMMDD[__run_id] - Suggested tracks:
est,dig,sysid,hwtest - Historical Mole projects may remain as legacy/archive if server-side move is unavailable
Quick Start
# 1) Build payload from one or more sources (recurses into directories).
/home/lorenzo/.codex/skills/kleinkram-upload/scripts/prepare_payload.py \
--input /path/to/source_a \
--input /path/to/source_b \
--output /path/to/payload_dir
# 2) Upload + verify to Kleinkram mission.
/home/lorenzo/.codex/skills/kleinkram-upload/scripts/upload_verify.sh \
--project moleworks \
--mission sysid__arm_ground_truth__20260224 \
--payload /path/to/payload_dirWorkflow
- Build payload with
prepare_payload.py. - Inspect mapping file at
<payload>/upload_name_map.yaml. - Upload and verify with
upload_verify.sh. - Confirm mission contents with
klein mission infoandklein list files.
On-Network Fallback
If this machine cannot reach Kleinkram (network/endpoint issue), hand off to an agent in the same network as the server with this runbook:
/home/lorenzo/ros2_ws/src/moleworks_ros/mole_utils/docs/KLEINKRAM_ON_NETWORK_AGENT_RUNBOOK.md
Constraints Enforced
- File extensions:
.bag,.mcap,.db3,.svo2,.tum,.yaml,.yml. - Filename stem normalization: only
A-Za-z0-9_-, max 50 chars, deterministic de-duplication (__01,__02, ...). - Upload includes a mapping YAML in the mission for provenance.
Common Patterns
YAML-only artifact upload:
/home/lorenzo/.codex/skills/kleinkram-upload/scripts/prepare_payload.py \
--input /path/to/stage \
--include-ext .yaml \
--include-ext .yml \
--output /tmp/klein_payload_yamlGround-truth bag/MCAP upload:
/home/lorenzo/.codex/skills/kleinkram-upload/scripts/prepare_payload.py \
--input /path/to/run_1 \
--input /path/to/run_2 \
--include-ext .mcap \
--include-ext .bag \
--output /tmp/klein_payload_gtResources
scripts/prepare_payload.py: Build filtered, renamed payload + traceability map.scripts/upload_verify.sh: Create mission (safe rerun), upload, verify hash+size, print mission summary.