skylight-skillInteract with Skylight Calendar frame - manage calendar events, chores, lists, task box items, and rewards. Use when the user wants to view/create calendar events, manage family chores, work with shopping or to-do lists, check reward points, or interact with their Skylight smart display.
Install via ClawdBot CLI:
clawdbot install riyadchowdhury/skylight-skillControl Skylight Calendar frame via the unofficial API.
Set environment variables:
SKYLIGHT_URL: Base URL (default: https://app.ourskylight.com)SKYLIGHT_FRAME_ID: Your frame (household) ID β find this by logging into ourskylight.com, clicking your calendar, and copying the number from the URL (e.g., 4197102 from https://ourskylight.com/calendar/4197102)Authentication (choose one):
Option A - Email/Password (recommended):
SKYLIGHT_EMAIL: Your Skylight account emailSKYLIGHT_PASSWORD: Your Skylight account passwordOption B - Pre-captured token:
SKYLIGHT_TOKEN: Full Authorization header value (e.g., Basic abc123...)Generate a token by logging in with email and password:
# Login and get user credentials
LOGIN_RESPONSE=$(curl -s -X POST "$SKYLIGHT_URL/api/sessions" \
-H "Content-Type: application/json" \
-d '{
"email": "'"$SKYLIGHT_EMAIL"'",
"password": "'"$SKYLIGHT_PASSWORD"'",
"name": "",
"phone": "",
"resettingPassword": "false",
"textMeTheApp": "true",
"agreedToMarketing": "true"
}')
# Extract user_id and user_token from response
USER_ID=$(echo "$LOGIN_RESPONSE" | jq -r '.data.id')
USER_TOKEN=$(echo "$LOGIN_RESPONSE" | jq -r '.data.attributes.token')
# Generate Basic auth token (base64 of user_id:user_token)
SKYLIGHT_TOKEN="Basic $(echo -n "${USER_ID}:${USER_TOKEN}" | base64)"
# Now use $SKYLIGHT_TOKEN for all API requests
The login endpoint returns:
data.id: User IDdata.attributes.token: User tokenCombine as {user_id}:{user_token} and base64 encode for Basic auth.
If you prefer to capture a token manually:
app.ourskylight.comAuthorization header value (e.g., Basic )Tokens rotate on logout; recapture after re-login.
Responses use JSON:API format with data, included, and relationships fields.
curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/calendar_events?date_min=2025-01-27&date_max=2025-01-31" \
-H "Authorization: $SKYLIGHT_TOKEN" \
-H "Accept: application/json"
Query params:
date_min (required): Start date YYYY-MM-DDdate_max (required): End date YYYY-MM-DDtimezone: Timezone string (optional)include: CSV of related resources (categories,calendar_account,event_notification_setting)curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/source_calendars" \
-H "Authorization: $SKYLIGHT_TOKEN"
curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/chores?after=2025-01-27&before=2025-01-31" \
-H "Authorization: $SKYLIGHT_TOKEN"
Query params:
after: Start date YYYY-MM-DDbefore: End date YYYY-MM-DDinclude_late: Include overdue chores (bool)filter: Filter by linked_to_profilecurl -s -X POST "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/chores" \
-H "Authorization: $SKYLIGHT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"data": {
"type": "chore",
"attributes": {
"summary": "Take out trash",
"status": "pending",
"start": "2025-01-28",
"start_time": "08:00",
"recurring": false
},
"relationships": {
"category": {
"data": {"type": "category", "id": "CATEGORY_ID"}
}
}
}
}'
Chore attributes:
summary: Chore titlestatus: pending or completedstart: Date YYYY-MM-DDstart_time: Time HH:MM (optional)recurring: Booleanrecurrence_set: RRULE string for recurring choresreward_points: Integer (optional)emoji_icon: Emoji (optional)curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/lists" \
-H "Authorization: $SKYLIGHT_TOKEN"
curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/lists/{listId}" \
-H "Authorization: $SKYLIGHT_TOKEN"
Response includes data.attributes.kind (shopping or to_do) and included array with list items.
List item attributes:
label: Item textstatus: pending or completedsection: Section name (optional)position: Sort ordercurl -s -X POST "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/task_box/items" \
-H "Authorization: $SKYLIGHT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"data": {
"type": "task_box_item",
"attributes": {
"summary": "Pack lunches"
}
}
}'
Task box attributes:
summary: Task titleemoji_icon: Emoji (optional)routine: Boolean (optional)reward_points: Integer (optional)curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/categories" \
-H "Authorization: $SKYLIGHT_TOKEN"
Categories are used to assign chores to family members. Attributes include:
label: Category name (e.g., "Mom", "Dad", "Kids")color: Hex color #RRGGBBprofile_pic_url: Avatar URLcurl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/rewards" \
-H "Authorization: $SKYLIGHT_TOKEN"
Optional query: redeemed_at_min (datetime) to filter by redemption date.
curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/reward_points" \
-H "Authorization: $SKYLIGHT_TOKEN"
curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID" \
-H "Authorization: $SKYLIGHT_TOKEN"
curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/devices" \
-H "Authorization: $SKYLIGHT_TOKEN"
jq to parse JSON:API responsesAI Usage Analysis
Analysis is being generated⦠refresh in a few seconds.
Interact with Google Calendar via the Google Calendar API β list upcoming events, create new events, update or delete them. Use this skill when you need programmatic access to your calendar from OpenClaw.
Read, search, and manage Outlook emails and calendar via Microsoft Graph API. Use when the user asks about emails, inbox, Outlook, Microsoft mail, calendar events, or scheduling.
Google Calendar via gcalcli: today-only agenda by default, bounded meaning-first lookup via agenda scans, and fast create/delete with verification--optimized for low tool calls and minimal output.
This skill should be used when interacting with Apple Calendar on macOS. Use it for listing calendars, viewing events, creating/updating/deleting calendar events, and checking availability/free-busy times. Triggers on requests like "check my calendar", "schedule a meeting", "what's on my schedule", "am I free tomorrow", or any calendar-related operations.
Access and manage Google Calendar events with gogcli for cross-calendar agendas, keyword search, and filtered outputs avoiding unwanted calendars like holidays.
Daily morning rollup of important emails and calendar events at 8am with AI-generated summaries