Skip to main content
A skill is a plain Python program that drives your robot through GRID’s APIs. You develop it against a live robot in a generated notebook, save it as a script, and deploy it from the shell. No environment setup — the CLI provisions the Python environment for you.

1. Open a dev session

Pick your robot, then choose Create a new skill. The CLI opens a VS Code workspace with a generated notebook whose first cell already holds the live connection:

2. Explore, then act

See every method your robot exposes:
Then drive it — state, motion, camera, and Cortex calls all work from the notebook:
Motion cells move the robot physically. Make sure it has clearance, and run robot.shutdown() when you’re done — it releases the session cleanly.

3. Save it as a skill

When the notebook logic works, turn it into a program: a function decorated with @program() that takes the robot (and a Cortex client, if it calls models) plus your own parameters. while tick(hz=...) is the control loop — the body runs at that rate, decisions live in small @func helpers, and the program ends by breaking on a condition. This skill spins in place until the camera sees the prompt, then stops:
connect(robot_id, program=find_object) opens the connection in deployment mode — the platform stages your program, streams its camera and state topics, and shows the run live in the session monitor. (A bare connect(robot_id) is the direct mode you used in the notebook; deployments always pass program=.) The deploy runner supplies GRID_ROBOT_ID and your Cortex API key through the environment.

4. Deploy it

This time choose Deploy an existing skill and pick your script. The CLI:
  • provisions the workflow Python environment (GRID’s client packages install from a private index with credentials fetched from your cluster — don’t pip install them by hand),
  • prompts for your script’s arguments,
  • exports GRID_ROBOT_ID and your Cortex API key, then runs the script against the robot you selected, streaming logs live. Press Esc to cancel a run.

Where next