openclaw/skills/red-apple-events/SKILL.md
Fetch upcoming events from Red Apple Farm and Brew Barn (near the cabin in Phillipston, MA), then sync them to the clawdbotbochman calendar. Use when asked about farm events, Brew Barn events, or cabin-area happenings.
npx skillsauth add Dbochman/dotfiles red-apple-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.
Fetch upcoming events from two sources near the cabin in Phillipston, MA, and sync them to the ${OPENCLAW_EMAIL} Google Calendar.
| Source | URL | Type | |--------|-----|------| | Red Apple Farm | https://www.redapplefarm.com/events | Static HTML (Squarespace) | | Brew Barn | https://www.brewbarnma.com/events | Wix (requires JS rendering) |
Red Apple Farm's events page is static HTML. Use curl to fetch it:
curl -s https://www.redapplefarm.com/events
Parse the event listing. Events are in a .user-items-list-item-container structure with:
.list-item-content__title — event name.list-item-content__description — date and detailsAnnual events typically include:
Brew Barn is a Wix site — events are rendered inside an iframe (Boom Calendar widget) that standard snapshots cannot read. You must use the screenshot approach:
https://www.brewbarnma.com/eventsThe calendar shows an "Upcoming Events" agenda view with columns: date, time range, and event name + description.
IMPORTANT: The snapshot tool (aria/accessibility tree) will NOT show events — they are inside a cross-origin iframe from calendar.boomte.ch. You MUST use screenshot to visually read the events.
Brew Barn typically hosts live music nights (Thu-Sun), trivia, bingo, fish fry, and seasonal events. Events are usually:
Some events appear on both sites (e.g., major festivals). Deduplicate by matching event names and dates before creating calendar entries.
Create events on the ${OPENCLAW_EMAIL} calendar using gws:
gws calendar events insert --params '{"calendarId": "primary"}' --json '{
"summary": "🍎 [Event Name]",
"description": "Source: Red Apple Farm / Brew Barn\nhttps://www.redapplefarm.com/events",
"location": "Red Apple Farm, 455 Highland Ave, Phillipston, MA 01331",
"start": {"date": "2026-07-19"},
"end": {"date": "2026-07-20"}
}' --account ${OPENCLAW_EMAIL}
gws calendar events insert --params '{"calendarId": "primary"}' --json '{
"summary": "🍺 Live Music at Brew Barn - [Artist]",
"description": "Source: Brew Barn\nhttps://www.brewbarnma.com/events",
"location": "Brew Barn at Red Apple Farm, 455 Highland Ave, Phillipston, MA 01331",
"start": {"dateTime": "2026-07-19T19:00:00-04:00", "timeZone": "America/New_York"},
"end": {"dateTime": "2026-07-19T22:00:00-04:00", "timeZone": "America/New_York"}
}' --account ${OPENCLAW_EMAIL}
Use the current year dynamically:
YEAR=$(date +%Y)
gws calendar events list --params "{
\"calendarId\": \"primary\",
\"q\": \"Red Apple\",
\"timeMin\": \"${YEAR}-01-01T00:00:00-05:00\",
\"timeMax\": \"${YEAR}-12-31T23:59:59-05:00\",
\"singleEvents\": true,
\"orderBy\": \"startTime\"
}" --account ${OPENCLAW_EMAIL}
Use these prefixes in event summaries for quick identification:
${OPENCLAW_EMAIL} (OpenClaw's calendar), NOT Dylan's personal calendargws outputs JSON — pipe through jq if needed for parsingtools
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.