# ManiSkill Panda PickCube Python recipe: robotics skill example

Grasp a cube and move it to a target with the official Panda motion planner.

## Task and environment

maniskill | 3.0.0b22 | panda | pd_joint_pos | linux | 3.10

## Example input

```json
{
  "task": "PickCube-v1",
  "seed": 0,
  "robot": "panda",
  "controller": "pd_joint_pos",
  "obs_mode": "state",
  "sim_backend": "cpu",
  "render_backend": "none",
  "max_episode_steps": 1000
}
```

## Retrieve and prepare

Read https://hub.superfastrobotics.com/skills/maniskill-panda-pick-cube/skill.json or https://api.superfastrobotics.com/v1/skills/maniskill-panda-pick-cube?hub_commit=ede75c00118e9808e5099da43c26f4619cc3bc37&record_version=1.1.0&include=experience without installing a client. Inspect the license, exact environment and evidence before preparation. Preparation and execution remain separate.

Source: https://github.com/haosulab/ManiSkill at 33967b9e3ead1f841eec57cc9f31d0d8b8cf0907. Record version: 1.1.0.

## Success condition

PickCube-v1 env info.success is true after the upstream solver finishes, truncated is false, and 0 < elapsed_steps < max_episode_steps=1000; only then status is task_complete and exit is 0. The 1000-step motion-planning horizon is a Hub recipe condition, not the upstream default benchmark horizon. Success means cube at its goal and robot static; gripper release or placement on a support surface is not verified.

## Recorded evidence

task_complete: PickCube-v1 seed 0 completed in the explicit Hub 1000-step motion-planning episode: success=true, terminated=true, truncated=false, elapsed_steps=74, exit=0 and no process timeout. One invocation was made for this task in the LLM-selected revalidation run. This verifies only the recorded CPU/state configuration and one seed, not the upstream default 50-step benchmark, hardware or camera modes. The cube was carried to the goal with a stationary arm; gripper release or support-surface placement is not required.

This page is a data-only example and performs no execution.
