isaac-scriptinglisted
Install: claude install-skill kickthemoon0817/simul
# Isaac Sim Scripting via execute_isaac_script
## When to Use This Tool vs Granular MCP Tools
**Prefer granular MCP tools first.** The simul plugin exposes purpose-built tools for the most common operations:
| Need | Use Instead |
|------|-------------|
| Create a prim | `create_isaac_prim` |
| Move/rotate/scale | `set_isaac_prim_transform` |
| Set an attribute | `set_isaac_prim_attribute` |
| Add rigid body | `add_isaac_rigid_body` |
| Add collision | `add_isaac_collision` |
| Physics material | `set_isaac_physics_material` |
| Start/stop sim | `start_isaac_simulation`, `stop_isaac_simulation` |
| Query scene | `get_isaac_scene_summary`, `get_isaac_prim_info` |
**Use `execute_isaac_script` when:**
- The required API is not exposed by any granular tool (e.g. creating lights, querying rigid body velocities, custom material shaders, bounding box computations, raycasting)
- You need to batch multiple low-level USD operations in a single round-trip to reduce latency
- You need full `pxr.*`, `omni.*`, or `isaacsim.*` API access
- You are iterating over many prims (stage traversal, bulk attribute reads)
## Execution Model
Scripts are sent over TCP to port **8226** (the stock `isaacsim.code_editor.vscode` extension). The executor runs your code with `compile()` inside Kit's Python process, giving full access to the global namespace including `omni.*`, `pxr.*`, and `isaacsim.*`.
Key rules:
- `stdout` is captured and returned — use `print()` for all output
- For structured resu