openclaw/skills/crosstown-roomba/SKILL.md
Control the iRobot Roombas at Crosstown (Boston — 19 Crosstown Ave). Two robots available. Use when asked to vacuum, mop, start/stop/dock the Roomba at Crosstown, clean the house, or anything about the Roombas at Crosstown. NOT for Cabin Roombas (use roomba skill for Floomba/Philly).
npx skillsauth add Dbochman/dotfiles crosstown-roombaInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Control two iRobot Roombas at Crosstown (Boston — 19 Crosstown Ave) via local MQTT through the MacBook Pro.
| Name | Aliases | Model | Notes | |------|---------|-------|-------| | roomba | 10max, combo, max | Roomba Combo 10 Max | Vacuums + mops, has dock with auto-empty and tank | | scoomba | j5 | Roomba J5 | Vacuum only |
Use all to target both robots.
crosstown-roomba status # both robots
crosstown-roomba status roomba # just 10 Max
crosstown-roomba status scoomba # just J5
crosstown-roomba start all # start both
crosstown-roomba start roomba # just 10 Max
crosstown-roomba stop roomba
crosstown-roomba pause scoomba
crosstown-roomba resume scoomba
crosstown-roomba dock all
The dock command automatically sends stop first, then dock. This is necessary because iRobot's MQTT dock command alone does not interrupt an active cleaning cycle — the robot ignores it while in run phase.
If a robot is already on the dock charging (cleanMissionStatus.phase == "charge"), the CLI skips the stop+dock sequence for that robot and prints Already on dock — skipping.. With dock all, the other robot is still processed normally. This avoids redundant commands on the verify-retry path when only one robot needs a re-dock.
crosstown-roomba find roomba
crosstown-roomba wifi roomba
crosstown-roomba state roomba # requires specific robot name
crosstown-roomba list
Roomba 10 Max ←─MQTT:8883─→ roomba-cmd.js (MacBook Pro) ←─SSH─→ crosstown-roomba CLI (Mac Mini)
Roomba J5 ←─MQTT:8883─→ roomba-cmd.js (MacBook Pro) ←─SSH─→ (same CLI)
roomba-cmd.js on the MacBook Pro connects to the robot via dorita980 MQTT, runs the command, disconnectsIMPORTANT: During walk hours (8-10 AM, 11 AM-1 PM, 5-8 PM), ALWAYS use dog-walk-start instead of crosstown-roomba start. This starts Roombas AND activates return monitoring (Fi GPS + WiFi + Ring motion), so they auto-dock when Dylan/Julia return. Without this, Roombas run until battery dies.
dog-walk-start crosstown # Start Roombas + return monitoring
Use bare crosstown-roomba start ONLY for non-walk cleaning (cleaning day, routine, etc.) where you don't need auto-dock on return.
roomba skill (Google Assistant)This skill controls Roombas at Crosstown only (Combo 10 Max + J5 via MQTT through MacBook Pro).
For related tasks, switch to:
com.openclaw.vacancy-actions LaunchAgent) also starts Roombas when Crosstown becomes confirmed_vacant — this is independent of the dog walk systemMacBook Pro at Crosstown must be reachable via Tailscale:
ssh dylans-macbook-pro "echo ok"
crosstown-roomba wifi <name>Each command needs ~5-10s for SSH + MQTT handshake. This is normal for the connect-per-request architecture.
development
Search the web for current information, news, facts, and answers. Use when asked questions about current events, needing to look something up, finding websites, researching topics, or when you need up-to-date information beyond your training data.
development
Summarize any URL, YouTube video, podcast, PDF, or file into concise text. Use when asked to read an article, summarize a link, get the gist of a video or podcast, extract content from a URL, or when you need to understand what a web page or document contains.
development
Play music via Spotify and control Google Home speakers. Use when asked to play music, songs, artists, playlists, podcasts, or control speakers/volume/audio.
testing
Create new OpenClaw skills, modify and improve existing skills, and measure skill performance with evals. Use when users want to create a skill from scratch, update or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy. Also use when asked to "make a skill", "turn this into a skill", "improve this skill", or "test this skill".