Menlo

Coding Agents

Give a coding agent the menlo-sdk skill and the docs, so the scripts it writes use the SDK the way it expects.

A coding agent writes better scripts for Asimov when it knows how the SDK behaves: which command does what, what the robot must be doing first, and that guards are the script's job. Two things give it that: the menlo-sdk skill, a usage guide the agent loads when you ask it for robot code, and the docs as plain text in llms.txt.

The agent drives a real robot

A script an agent writes moves the robot like any other script. Read it before you run it, and follow Safety: support the robot, hanging from its gantry hook or seated on a stool or bench, and keep the E-Stop in Asimov Manager open, or be ready to cut power at the battery unit.

Install the Skill

The skill is in the skills/menlo-sdk folder of the SDK repository, in the Agent Skills format, so most coding agents can load it.

Claude Code

Add the repository as a plugin marketplace, then install the plugin:

/plugin marketplace add menloresearch/menlo-sdk
/plugin install menlo-sdk@menlo

/plugin then lists menlo-sdk@menlo, and the skill is menlo-sdk:menlo-sdk. To get a newer version later, run /plugin update menlo-sdk@menlo.

Codex, pi, oh-my-pi and Other Agents

Install it with the skills installer:

npx skills add menloresearch/menlo-sdk

It copies the skill to ~/.agents/skills/menlo-sdk, the folder Codex, pi and oh-my-pi read, and links it for the other agents it finds on your computer. Add -g -y to skip the questions.

By Hand

Copy the skills/menlo-sdk folder from the repository into the skills folder your agent reads: ~/.agents/skills/ for Codex, pi and oh-my-pi, or ~/.claude/skills/ for Claude Code.

Try It

Ask your agent for a script, for example:

Using menlo-sdk, walk my Asimov forward at 0.3 m/s for 3 s and end balancing in place.

With the skill, the answer uses the SDK's own calls:

robot.set_velocity(vx=0.3, duration=3.0)  # walks for 3 s, then sends zero velocity
robot.balance()                           # stays in MOVE, balancing in place

What the Skill Teaches

  • How to connect in each connection mode and what each one carries.
  • The commands, what each waits for, and the errors they raise.
  • That the SDK does not refuse a command because of what the robot reports, so a script writes its own guard from robot.get_state(), as guard.py does.
  • The order to bring the robot up and down: support it before MOVE to STAND and before DAMP.
  • Where the full documentation is.

Give an Agent the Docs

For an agent without the skill, or for questions the skill does not cover, point it at the docs as plain text:

FileWhat it holds
llms.txtEvery docs page, one line each; the SDK pages are under "Python SDK"
llms-full.txtThe full text of every docs page in one file
  • Quickstart: the first walk, step by step
  • Safety: what to check before a script moves the robot, and writing a guard
  • Examples: the scripts the skill points to

How is this guide?

On this page