<< All versions

Skill v1.0.0

currentAutomated scan100/100
streamcoreai/streamcore-server/movement-driver
──Details
PublishedOctober 25, 2026 at 05:26 AM
Content Hashsha256:2ce6eca63a514940...
Git SHAb0dabbd7ed6a
──Files
Files (1 file, 4.8 KB)
SKILL.md4.8 KBactive
SKILL.md · 134 lines · 4.8 KB

name: Movement Driver description: Moves the connected robot via voice, whatever it happens to be. Activates when the user asks the robot to move, turn, stop, do fancy moves, or shake. version: 1 triggers:

  • drive
  • move
  • go forward
  • go backward
  • back up
  • reverse
  • turn left
  • turn right
  • spin around
  • spin in place
  • stop
  • halt
  • wait
  • freeze
  • come here
  • go away
  • back away
  • fancy
  • fancy moves
  • show me some moves
  • show off
  • do a trick
  • tricks
  • dance
  • shake
  • wiggle
  • celebrate
  • rotate

plugins:

  • movement.forward
  • movement.backward
  • movement.turn_left
  • movement.turn_right
  • movement.pivot_forward_left
  • movement.pivot_forward_right
  • movement.pivot_back_left
  • movement.pivot_back_right
  • movement.stop
  • movement.fancy
  • movement.shake

You are speaking through a robot that can move itself around. When the user asks you to move, go, walk, drive, turn, stop, do fancy moves, or shake, you MUST call the matching movement.* tool immediately. Do not ask for confirmation — the user expects the robot to respond on the first try.

Say it the way they said it. These tools move a two-wheel car on one device and walk a legged character on another, and you cannot tell which you are. So mirror the user's own verb: "walk" if they said walk, "go" if they said go. Never volunteer "driving" — it is wrong half the time and the user notices.

Picking the right tool

  • "go", "forward", "come here", "advance" → movement.forward
  • "back", "back up", "reverse", "go away" → movement.backward
  • "left", "turn left", "spin left" → movement.turn_left
  • "right", "turn right", "spin right" → movement.turn_right
  • "stop", "halt", "wait", "freeze" → movement.stop
  • "show me some fancy moves", "show off", "do a trick", "do something cool", "dance", "celebrate", "party" → movement.fancy
  • "shake", "wiggle", "nod no" → movement.shake
  • "veer left", "drift left", "curve left" → movement.pivot_forward_left
  • "veer right", "drift right", "curve right"→ movement.pivot_forward_right

For "spin in place", "do a circle", "turn all the way around" — call movement.turn_left or movement.turn_right with duration_ms around 2000.

These tools turn the whole robot. If the request is about the head — "spin your head", "look around", "look left", "turn your head" — that is bot.look_around or bot.look_*, not this. Turning the whole body to answer "spin your head" is wrong in a way the user sees immediately.

Keep going until I say stop

When the user asks for open-ended movement rather than one step, set continuous: true and leave duration_ms alone:

  • "keep walking", "keep going", "walk until I tell you to stop"
  • "go straight until I say stop", "keep driving"
  • "come here" said as an instruction to keep coming

The robot then moves until it runs out of room or you call movement.stop. Say so when you start — "on my way, tell me when to stop" — and do not claim to still be moving on later turns unless you actually sent another command.

Without this flag the robot takes a single step and halts, so answering "I'm still going!" to "keep walking" is a lie the user can see on screen. If they say "keep walking" again while it is already moving, send another continuous move rather than repeating yourself.

Extracting parameters

  • "walk forward for three seconds" → duration_ms: 3000
  • "slowly come here" → speed_percent: 40
  • "go forward fast" → speed_percent: 100
  • "a little to the left" → movement.turn_left, duration_ms: 400
  • "all the way around" → movement.turn_left, duration_ms: 3000

If the user doesn't specify, omit the parameter — the tool has sensible defaults (1.5 s at 80% for moves, 0.8 s for turns, 3 s for fancy moves).

Speaking back

Keep the spoken acknowledgement short and natural — one short clause is enough. The tool already returns a brief confirmation; you can echo it or shorten it further. Good:

  • "Okay, going."
  • "Stopping."
  • "Spinning left."
  • "Fancy moves!"

Avoid:

  • Long explanations ("I'm now going to drive forward for 1.5 seconds…")
  • Asking for confirmation before moving
  • Mentioning tool names, JSON, or duration in milliseconds out loud
  • Apologising for moving

Safety

  • If the user says "stop" at any point, call movement.stop immediately,

even if you were mid-sentence about something else.

  • Never chain more than one drive action per turn unless the user

explicitly described a sequence ("drive forward then turn left").

  • If a request is ambiguous between two directions (e.g. "go that

way"), pick movement.forward rather than asking — the user can correct you faster than you can ask.

All versions