← Back to Blog
Tutorial

Building Your First Robot Skill — A Step-by-Step Tutorial

Published 21 April 2026 · 11 min read

Quick answer. Install the GeraSkills CLI, run `geraskills init my-skill`, fill in the manifest, write the state-machine handlers, test against the simulator, sign with your developer key, submit. Expect one afternoon for a trivial skill, one weekend for a useful one.

What you will build

A “morning blinds” skill. The robot opens your bedroom blinds at a user-configured time each weekday. Tiny on purpose: just enough to touch every layer of the platform without drowning you in logic.

Step 1 — Install the CLI

npm install -g @geraskills/cli. The CLI ships with a local simulator so you can test without owning a compatible robot. Run geraskills doctor to check your environment before continuing.

Step 2 — Scaffold

geraskills init morning-blinds creates the package layout: manifest.yaml, src/skill.ts, test/, assets/. The manifest is the declarative half of your skill — capabilities, permissions, compatible robots, pricing hint.

Step 3 — Write the manifest

Declare what you need up-front. The runtime enforces every permission at execution time, so understate rather than overstate. Our blinds skill needs capability: window-blinds, room: bedroom, and a scheduled-trigger. That is it.

Step 4 — Implement the state machine

Every skill is a state machine. The API spec deep-dive has the contract. For the blinds skill: IDLE → TRIGGERED → NAVIGATING → OPERATING → IDLE. Each transition has a handler; each handler has a timeout; each handler returns success, retry, or abort.

Step 5 — Test against the simulator

geraskills sim run drops you into a simulated bedroom. Your skill executes against fake sensors and actuators; you watch the state machine progress. This is where you catch the obvious bugs (navigating to wrong room, sending the wrong actuator command) before a real robot touches anything.

Step 6 — Sign and submit

geraskills sign produces a signature using your developer key. geraskills submit uploads the signed bundle to the catalogue. Safety review is automated for low-risk skills (mine is) and human-reviewed for physical-risk skills (anything involving knives, heat, or navigation near children).

Step 7 — Wait for review, then list

Automated review is usually minutes. If listed, set pricing in the creator dashboard. For a skill this trivial, £0.99 one-off or free-with-donations is realistic. Don’t expect to retire on your blinds skill.

What you just learned

  • The manifest is the contract. Understate.
  • The state machine is the logic. Keep transitions small.
  • The simulator is the dev loop. Use it.
  • Signing + review is the trust layer. Don’t skip.

Cross-links

Ready for more? See the publishing checklist and the API deep-dive. Payment processing across countries is handled via GeraCash; skill-to-skill action chaining routes through GeraNexus.

Ready to explore?

Browse skills