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