| name | cosmos3writer-conditioning |
| description | Run Cosmos3Writer conditioning captures from Isaac Sim and verify the resulting depth, edge, segmentation, blur or RGB artefacts. Uses discovery to connect to a running isaacsim.code_editor.python_server instance or launch a discovered Isaac Sim Python runtime. Use when a user asks to generate Cosmos 3 transfer controls, validate conditioning videos, target a camera such as Camera03 or prepare Replicator outputs for Cosmos.
|
| license | Apache-2.0 |
| allowed-tools | ["Read","Shell","Write"] |
| metadata | {"author":"Chris von Csefalvay (HCLTech)","tags":["isaac-sim","replicator","cosmos3writer","conditioning"],"domain":"physical-ai","languages":["python"]} |
Cosmos3Writer conditioning
Run Cosmos3Writer in Isaac Sim, write conditioning streams and verify the files
that were produced. The workflow supports two execution paths:
server: send the capture script to an already-running Isaac Sim instance
with isaacsim.code_editor.python_server enabled.
launch: start a discovered Isaac Sim Python runtime and run the capture as a
standalone SimulationApp job.
First action
Run discovery before deciding how to execute:
python skills/cosmos3writer-conditioning/scripts/discover_isaac.py --output outputs/isaac_discovery.json
Prefer a running python-server instance when the requested stage is already
open. If a Kit process is running but port 8226 is closed, do not claim it can
be controlled remotely. Either ask for a relaunch with
--enable isaacsim.code_editor.python_server, use the console loader manually
or run launch mode against a discovered Isaac Python runtime.
Read references/discovery.md when discovery fails or when a user provides a
custom Isaac installation, container or remote host.
Main workflow
Use the orchestrator script for normal work:
python skills/cosmos3writer-conditioning/scripts/run_conditioning.py \
--mode auto \
--usd-path path/to/scene.usd \
--camera Camera03 \
--stream depth \
--stream edge \
--output-dir outputs/camera03_conditioning
Useful options:
--mode server: require an existing python-server connection.
--mode launch: run a standalone Isaac Python job using discovery or
--isaac-python.
--visible: launch a visible SimulationApp; default launch mode is
headless.
--create-demo-scene: create a small cube scene only when the user explicitly
wants a smoke test rather than conditioning from their stage.
--stream: repeat for depth, edge, seg, blur, rgb or
shaded_seg.
--camera: accept a camera prim path, exact camera name or numeric camera
name such as Camera03.
The orchestrator writes:
cosmos3writer_capture_config.json
cosmos3writer_conditioning_run.json
clip_0000/cosmos3_writer_manifest.json
clip_0000/<stream>.mp4
clip_0000/<stream>/<stream>_NNNN.png
cosmos3writer_conditioning_report.json
Verification
run_conditioning.py verifies by default. To re-check an existing output:
python skills/cosmos3writer-conditioning/scripts/verify_conditioning.py \
outputs/camera03_conditioning \
--stream depth \
--stream edge \
--frames 60 \
--report outputs/camera03_conditioning/verify.json
The verifier checks that the writer manifest exists, the expected streams are
listed, PNG frame counts match, PNG signatures are valid and each MP4 has real
container markers and non-trivial size.
Hard rules
- Do not hardcode an Isaac Sim install path. Use
--isaac-python,
--isaac-root, ISAAC_SIM_DIR, ISAACSIM_PATH, ISAAC_SIM_PATH,
ISAAC_SIM_ROOT, ISAACSIM_ROOT or PATH discovery.
- Do not replace or alias
CosmosWriter; register and use Cosmos3Writer.
- Do not save or mutate the source USD unless the user explicitly asks for
authoring. This workflow opens, renders and writes external conditioning
outputs.
- Do not rely on GUI paste as the primary automation path. Use python-server or
standalone launch. Provide a console loader only as a manual fallback.
- Do not mark a run successful from console text alone. Success requires the
verification report to pass.
Failure modes
| Symptom | Cause | Recovery |
|---|
| Discovery finds a running Kit process but no server port | Isaac was not launched with isaacsim.code_editor.python_server | Relaunch with --enable isaacsim.code_editor.python_server or use --mode launch. |
| No Isaac Python runtime is discovered | No environment variable, PATH shim or common Omniverse package root resolves to Isaac | Ask for --isaac-python or --isaac-root; do not guess a machine path. |
| Camera not found | Camera name, path or numeric suffix does not match the open stage | List available cameras from the failure report and rerun with an exact prim path. |
| MP4s are missing but PNGs exist | omni.videoencoding failed or was unavailable | Preserve PNG outputs, report verification failure and inspect Isaac logs for the video encoding extension. |
| Depth or edge stream is missing from the manifest | Wrong --stream set or writer initialisation failed | Rerun with explicit --stream depth --stream edge and inspect cosmos3writer_capture.log. |
Output response
Report the mode used, camera, output directory, streams, frame count and
verification status. Include the path to cosmos3writer_conditioning_report.json
when handing results back to the user.