.claude/skills/irobot-mqtt-dock-requires-stop/SKILL.md
iRobot Roomba MQTT dock command is silently ignored during active cleaning (run phase). Use when: (1) dock commands return ok but robot keeps cleaning, (2) repeated dock calls have no effect, (3) dorita980 dock not working. Must send stop first, wait 2s, then dock.
npx skillsauth add Dbochman/dotfiles irobot-mqtt-dock-requires-stopInstall 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.
iRobot's local MQTT API (used by dorita980) silently ignores dock commands while the robot is in the active run phase. The command returns {"ok":null} (success) but the robot continues cleaning. This caused a dog walk return monitor to loop infinitely — detecting return, sending dock, robot ignoring it, detecting return again.
phase: "run" and operatingMode: 6 (active cleaning)dock commands via dorita980 return {"ok":null} but robot continuesAlways send stop before dock:
stop commandrun to stop phase)dock commandIn the crosstown-roomba wrapper:
if [[ "$action" == "dock" ]]; then
run_one "$robot" "stop" >/dev/null 2>&1 || true
sleep 2
fi
run_one "$robot" "$action"
After stop+dock, check status — phase should transition from run → stop → hmUsrDock (returning to dock).
stop command itself always works, even during active cleaningdevelopment
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".