openclaw/skills/crosstown-network/SKILL.md
Access the 19 Crosstown Ave local network via the MacBook Pro. Use when needing to reach Crosstown LAN devices, run commands at Crosstown, scan the local network, interact with the AmpliFi router, Hue Bridge, Ring Doorbell, or any device on the 192.168.165.x subnet. Also use for presence detection at Crosstown.
npx skillsauth add Dbochman/dotfiles crosstown-networkInstall 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.
The OpenClaw gateway runs on the cabin Mac Mini (dylans-mac-mini). To reach devices on the 19 Crosstown Ave local network, SSH into the MacBook Pro there.
ssh dylans-macbook-pro "<command>"
dylans-macbook-pro (Tailscale, resolves to 100.107.209.85)~/.ssh/id_mini_to_mbp (auto-selected via Match originalhost — bypasses 1Password agent which hangs under launchd)dbochman/usr/bin/python3 (system)/opt/homebrew/bin/brew/opt/homebrew/bin/node (v25.6.1)/opt/homebrew/bin/npm (v11.9.0)dbochman192.168.165.0/24192.168.165.1 (amplifi.lan)192.168.165.110 (mac.lan)| IP | Hostname | Device |
|---|---|---|
| .1 | amplifi.lan | AmpliFi router |
| .110 | mac.lan | MacBook Pro (this machine) |
| .117 | movie-room.lan | Apple TV (Movie Room) |
| .119 | ys-l16030313e8.lan | Yeelight / smart light |
| .124 | dylans-iphone.lan | Dylan's iPhone (MAC: 6c:3a:ff:5f:fc:ba) |
| .129 | huesyncbox.lan | Philips Hue Sync Box |
| .142, .162, .164, .178, .236 | espressif.lan | ESP32 smart home devices |
| .4 | irobot-81039f...lan | iRobot Roomba Combo 10 Max |
| .3 | irobot-195efa...lan | iRobot Roomba J5 (scoomba) |
| .132 | ? | Petlibro Granary Smart Feeder (MAC: E0:09:CF:01:05:20) |
| .225 | ? | Petlibro Dockstream 2 Fountain (MAC: E0:08:BF:00:21:62) |
| .155 | litter-robot4.lan | Litter Robot 4 |
| .171 | mac.lan | Dylan's Mac (desktop) |
| .195 | 001788284a36.lan | Philips Hue Bridge |
| .241 | ringdoorbell-5b.lan | Ring Doorbell |
ARP scan from the MacBook Pro (ping sweep first to populate ARP table):
ssh dylans-macbook-pro "for i in \$(seq 1 254); do ping -c1 -W1 192.168.165.\$i >/dev/null 2>&1 & done; wait; arp -a | grep -v incomplete | grep '192.168.165'"
Check a specific device:
ssh dylans-macbook-pro "ping -c3 -W2 192.168.165.124; arp -a | grep 192.168.165.124"
Track phone presence by pinging known MAC addresses and hostnames:
| Person | Hostname | MAC (Crosstown WiFi) | IP |
|---|---|---|---|
| Dylan | dylans-iphone | 6c:3a:ff:5f:fc:ba | 192.168.165.124 |
| Julia | julias-iphone | 38:e1:3d:c0:40:63 | 192.168.165.248 |
Matching priority: MAC → IP → hostname (mDNS .lan name from ARP table). Hostname is most durable — survives iOS MAC/IP rotation.
iPhones in sleep mode may not respond to the first ping — use ping -c3 for reliability.
Find Apple devices broadcasting on the Crosstown LAN:
ssh dylans-macbook-pro "dns-sd -B _companion-link._tcp local. & PID=\$!; sleep 5; kill \$PID 2>/dev/null"
Find Google/Nest speakers:
ssh dylans-macbook-pro "dns-sd -B _googlecast._tcp local. & PID=\$!; sleep 5; kill \$PID 2>/dev/null"
ssh dylans-macbook-pro "..."/opt/homebrew/bin is in the system PATH via /etc/paths.d/homebrew, but for npm use PATH=/opt/homebrew/bin:$PATH npm ...pmset disablesleep 1 is set so the machine stays reachabledevelopment
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".