# Head Move

> Move the ChatterBot head — aim the pan/tilt camera or play an expressive gesture. The bot is a stationary companion head; this points its gaze, it does NOT drive or navigate. Use when the user asks you to look somewhere, turn toward/away, look up/down, re-center, or nod/shake/scan. Angles are degrees 0-180 with 90 centered (pan 0=full right, 180=full left; tilt 0=down, 180=up, mounting-dependent). Give pan and/or tilt for absolute aim, OR a gesture (not both). Returns the confirmed pose once the head settles.

- Skill: `bdambrosio/head-move` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add bdambrosio/head-move`
- Raw SKILL.md: https://api.skillmd.com/api/skills/bdambrosio/head-move/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: bdambrosio (https://skillmd.com/u/bdambrosio)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/bdambrosio/head-move

---


# head-move

Publishes a single `chatter/head/cmd` to the ChatterBot Pi and waits for the
head to report it has `arrived` before returning the settled pose. Either aim
(pan/tilt) or a gesture, never both — the Pi gives a gesture precedence and
ignores pan/tilt when a gesture is present.

This is gaze control for a stationary head, not locomotion. There is no
forward/back/drive — the bot does not move through the world.

If you want to *see* what the head is now pointing at, follow this with
`camera-capture`; the camera rides the head, so capture after the move settles.

## Examples

```json
{"thought": "user asked me to look up at them", "tool": "head-move", "tilt": 130}
```

```json
{"thought": "look toward the doorway on the left", "tool": "head-move", "pan": 150, "tilt": 95}
```

```json
{"thought": "agree warmly", "tool": "head-move", "gesture": "nod"}
```

