openclaw/skills/petlibro/SKILL.md
Inspect and safely control location-specific Petlibro feeders and fountains at Crosstown or Cabin. Use for Petlibro device status, feeding schedules, water intake, or an explicit request to dispense a bounded amount of food. Require an exact location and device selector for every device-specific command. Do not use for Litter-Robot devices.
npx skillsauth add Dbochman/dotfiles petlibroInstall 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.
Use the petlibro CLI for Petlibro cloud devices. Treat manual feeding as a
physical, state-changing action: require the user to specify the location and
portions, then report the recorded request ID.
Use only these complete selectors; aliases and fuzzy names are rejected:
crosstown-feedercrosstown-fountaincabin-feedercabin-fountainEach selector maps through a machine-local configuration entry to one exact Petlibro device name or serial. The command fails closed if a mapping is missing, ambiguous, offline, or resolves to the wrong device type. Never pick the first feeder or fountain returned by the API.
petlibro status
petlibro devices
petlibro water crosstown-fountain
petlibro schedule crosstown-feeder
status and devices label configured devices with their exact selectors and
show unconfigured devices as unmapped.
petlibro feed crosstown-feeder 1
petlibro feed cabin-feeder 2
Before feeding:
The CLI writes a protected attempt record before contacting the manual-feed endpoint and holds an exclusive lock through the outcome. A repeated request for the same feeder is rejected during the default five-minute cooldown, including when the earlier network outcome was uncertain. There is no agent override: wait for the cooldown and physically reconcile the feeder before a new request.
If the result contains feed_outcome_unknown, food may have dispensed. Never
retry automatically.
Keep credentials and exact device mappings in
~/.config/petlibro/config.yaml on the Mac Mini:
email: <account-email>
password: <account-password>
device_crosstown_feeder: <exact-device-name-or-serial>
device_crosstown_fountain: <exact-device-name-or-serial>
device_cabin_feeder: <exact-device-name-or-serial>
device_cabin_fountain: <exact-device-name-or-serial>
Only mappings for installed devices are required. PETLIBRO_APPSN remains in
the protected OpenClaw secret environment. Never display configuration values,
authentication responses, or token-cache contents.
The configuration must be a regular non-symlink file owned by the current user
with mode 0600; unsafe ownership, type, or permissions fail closed.
The token cache is replaced atomically with mode 0600 only after successful
authentication. Authentication, HTTP, network, malformed JSON, and API errors
return structured nonzero failures without deleting the previous cache.
feed_outcome_unknown and feed_cooldown as non-retryable.device_mapping_missing: add the exact selector mapping locally.device_not_found: inspect petlibro devices; do not guess another device.device_offline: verify power and connectivity at the named location.environment_missing: refresh the protected OpenClaw secret cache.config_unsafe: repair the local config ownership/type and set mode 0600.auth_failed: verify the secondary Petlibro account credentials locally.network_error, http_error, or invalid_response: preserve state and
retry read-only commands later; never retry an uncertain feed.tools
Use exact configured Reolink cameras through the local Home Hub for availability and power status, fresh stills, visual commentary, protected Dylan/Julia/household sharing, and reversible spotlight control. Supports trusted owner tasks and explicitly scoped proactive automations; not for Nest or Ring cameras, arbitrary recipients, recordings, account changes, or raw camera APIs.
data-ai
Privately manage Dylan and Julia's household plant inventory and care history by physical location, bed, and exact Flower Cam view. Use for confirmed plant onboarding from camera conversations, camera- or bed-filtered inventory, record corrections, individual or whole-bed care, and private filtered exports. Pair with reolink-camera when an owner asks about plants visible in Flower Cam images.
testing
Inspect and control the physically secured Reachy Mini at Crosstown through ClawBody. Use for requests to check Reachy, look around, express an emotion, play any official emotion or dance preset, speak proactively, mute or unmute its microphone, stop movement, or describe what its camera sees.
tools
Handle Reachy/iMessage handoffs, selective durable memory, forgetting, and diagnostics; automatic context comes from the gateway plugin.