Skip to main content
A skill is one thing the robot can do: drive somewhere, pick up a sock, send an email. An agent chains skills together, and you can also run them by hand. Both types are called the same way, so agents and other skills don’t need to know which kind they use.

Code skills

Write a skill in Python: the Skill class, results, cancellation, composition.

Policy-defined skills

Trained policies and recorded replays.

Where skills live

Defining a Skill subclass in any .py file registers it. No config file needed. To use a skill in an agent or another skill, import its class. The class name in snake_case is the name the apps show, so VictorySpin appears as victory_spin. Everything reloads on save, and a file that fails to import shows up in the web app with its error. A policy-defined skill is a folder with a metadata.json and a checkpoint, for example custom_skills/pick_socks/. To install a skill pack stored elsewhere, symlink it into workspace/:

Shipped skills

Don’t edit these in place, because updates overwrite them. Copy one into custom_skills/ and rename the class.

Run a skill manually

Running a skill by hand skips the agent. It’s the fastest way to test one.
On the Teleop page, click Skills and pick one.