openclaw/skills/home-events/SKILL.md
Review durable normalized household activity and explain site-scoped incidents at the Cabin or Crosstown. Use when asked what happened, what activity was seen, who arrived at or left a residence, whether an incident is open, why the home-event correlator shadowed or suppressed activity, or whether the home-event system is healthy. For a current camera image, combine an explicit trusted-owner request with nest-camera. Use presence for a simple who-is-home check and ring-doorbell for raw Ring device status. Never use this skill to change presence, locks, adapters, delivery policy, or camera mode.
npx skillsauth add Dbochman/dotfiles home-eventsInstall 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.
Read the protected, normalized household event journal. Treat its incidents as an operational history, not as authority to change physical state.
Use JSON output so summaries are based on structured fields rather than logs.
home-events status --json
Report mode, bus-observed source health, queue depth, consumer lag, and safe
error codes. Treat unknown as unknown, and do not infer that a source is
healthy merely because its process is running.
home-events recent --since 24h --limit 20 --json
home-events recent --site cabin --since 2h --limit 20 --json
home-events recent --site crosstown --type door.opened --since 24h --json
Use the requested site and time window. Default to 24 hours and 20 events when the user does not specify them. Describe normalized evidence without exposing opaque keys or internal timestamps that do not help the answer.
Nest rows are metadata-only camera.person_detected or
camera.motion_detected records for an exact safe camera alias. They prove the
normalized provider classification, not what appeared in a frame. Never claim
that the journal contains an image, a visual description, or the Cabin
reviewer's model output. A Nest person event may participate in a site activity
incident; Nest motion remains recent-event context only and is deliberately
non-actionable.
Local network rows enrich the journal without replacing canonical presence:
presence.local_departure_inferred means one named resident's exact bound
device remained absent across the required successful observation window.
Describe it as an inferred departure during the recorded interval, not proof
of physical whereabouts or an exact departure time.presence.local_arrival_observed means that resident's exact bound device
reappeared after a confirmed local absence. Describe it as a network-observed
arrival at the named residence.presence.household_excursion_started and
presence.household_excursion_ended delimit a site-local all-residents-away
session. Use the end outcome to distinguish a return from a canonical move
to the other residence.Use person_alias, the event site, and the bounded observation interval when
answering who left or arrived. These rows are queryable context only: they do
not open or resolve incidents, establish vacancy, or authorize a physical
action.
home-events incidents --state open --json
home-events incidents --site crosstown --state all --since 24h --json
home-events explain 'inc_<opaque-id>' --json
Explain what evidence was correlated, the canonical presence state used by the
shadow policy, and why a prospective action was shadowed, rate-limited, or
suppressed. Never present that simulation as proof that the independent Nest,
Ring, or messaging path actually acted. The decisions array is durable
history; prefer its reason codes over the incident's latest summary when the
incident was later resolved. Do not reinterpret stale or ambiguous presence as
vacancy. Do not infer the Cabin reviewer's capture, vision, or delivery outcome
from a Nest bus row; that bridge operates independently and carries none of
those fields.
The event journal stores no historical media. If Dylan or Julia explicitly
asks for a current image while discussing an incident, use the separate
nest-camera workflow and all of its direct-conversation authorization,
same-route delivery, exact-camera, and cleanup rules.
Kitchen camera.Living Room or Living Room Wired
unless the request already gives one exact alias.home-eventctl, edit runtime policy, replay events, acknowledge
queues, or enable delivery.presence
skill for cached occupancy.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.