skills$openclaw/skylight
riyadchowdhury13

by riyadchowdhury

skylight – OpenClaw Skill

skylight is an OpenClaw Skills integration for coding workflows. Interact 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.

13 stars2.7k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026coding

Skill Snapshot

nameskylight
descriptionInteract 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. OpenClaw Skills integration.
ownerriyadchowdhury
repositoryriyadchowdhury/skylight-skill
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @riyadchowdhury/skylight-skill
last updatedFeb 7, 2026

Maintainer

riyadchowdhury

riyadchowdhury

Maintains skylight in the OpenClaw Skills directory.

View GitHub profile
File Explorer
3 files
.
_meta.json
282 B
README.md
2.0 KB
SKILL.md
6.7 KB
SKILL.md

name: skylight description: Interact 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. homepage: https://ourskylight.com metadata: clawdbot: emoji: 📅 requires: bins: - curl env: - SKYLIGHT_FRAME_ID primaryEnv: SKYLIGHT_EMAIL

Skylight Calendar

Control Skylight Calendar frame via the unofficial API.

Setup

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 email
  • SKYLIGHT_PASSWORD: Your Skylight account password

Option B - Pre-captured token:

  • SKYLIGHT_TOKEN: Full Authorization header value (e.g., Basic abc123...)

Option A: Login with Email/Password (Recommended)

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 ID
  • data.attributes.token: User token

Combine as {user_id}:{user_token} and base64 encode for Basic auth.

Option B: Capture Token via Proxy

If you prefer to capture a token manually:

  1. Install Proxyman/Charles/mitmproxy and trust root certificate
  2. Enable SSL proxying for app.ourskylight.com
  3. Log into Skylight app and capture any API request
  4. Copy Authorization header value (e.g., Basic <token>)

Tokens rotate on logout; recapture after re-login.

API Format

Responses use JSON:API format with data, included, and relationships fields.

Calendar Events

List events

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-DD
  • date_max (required): End date YYYY-MM-DD
  • timezone: Timezone string (optional)
  • include: CSV of related resources (categories,calendar_account,event_notification_setting)

List source calendars

curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/source_calendars" \
  -H "Authorization: $SKYLIGHT_TOKEN"

Chores

List chores

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-DD
  • before: End date YYYY-MM-DD
  • include_late: Include overdue chores (bool)
  • filter: Filter by linked_to_profile

Create chore

curl -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 title
  • status: pending or completed
  • start: Date YYYY-MM-DD
  • start_time: Time HH:MM (optional)
  • recurring: Boolean
  • recurrence_set: RRULE string for recurring chores
  • reward_points: Integer (optional)
  • emoji_icon: Emoji (optional)

Lists (Shopping/To-Do)

List all lists

curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/lists" \
  -H "Authorization: $SKYLIGHT_TOKEN"

Get list with items

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 text
  • status: pending or completed
  • section: Section name (optional)
  • position: Sort order

Task Box

Create task box item

curl -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 title
  • emoji_icon: Emoji (optional)
  • routine: Boolean (optional)
  • reward_points: Integer (optional)

Categories

List categories

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 #RRGGBB
  • profile_pic_url: Avatar URL

Rewards

List rewards

curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/rewards" \
  -H "Authorization: $SKYLIGHT_TOKEN"

Optional query: redeemed_at_min (datetime) to filter by redemption date.

List reward points

curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/reward_points" \
  -H "Authorization: $SKYLIGHT_TOKEN"

Frame Info

Get frame details

curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID" \
  -H "Authorization: $SKYLIGHT_TOKEN"

List devices

curl -s "$SKYLIGHT_URL/api/frames/$SKYLIGHT_FRAME_ID/devices" \
  -H "Authorization: $SKYLIGHT_TOKEN"

Notes

  • API is unofficial and reverse-engineered; endpoints may change
  • Tokens expire on logout; recapture as needed
  • Responses return 304 Not Modified when data unchanged
  • Use jq to parse JSON:API responses
  • Frame ID is your household identifier; all resources are scoped to it
README.md

Skylight Calendar Skill

ClawdHub skill for interacting with Skylight Calendar smart displays.

Quick Start

Option A: Email/Password Authentication (Recommended)

export SKYLIGHT_EMAIL="your_email@example.com"
export SKYLIGHT_PASSWORD="your_password"
export SKYLIGHT_FRAME_ID="your_frame_id"
export SKYLIGHT_URL="https://app.ourskylight.com"

The skill will automatically login and generate an auth token.

export SKYLIGHT_TOKEN="Basic your_base64_token_here"
export SKYLIGHT_FRAME_ID="your_frame_id"
export SKYLIGHT_URL="https://app.ourskylight.com"

Capture tokens using an HTTPS proxy (Proxyman/Charles/mitmproxy).

Features

  • Calendar Events - View upcoming events from synced calendars
  • Chores - List, create, and manage family chores
  • Lists - Access shopping and to-do lists
  • Task Box - Quick task creation
  • Categories - Family member profiles for chore assignment
  • Rewards - Track reward points and redemptions

Authentication Methods

MethodEnvironment VariablesNotes
Email/PasswordSKYLIGHT_EMAIL, SKYLIGHT_PASSWORDRecommended; auto-generates token
Pre-captured TokenSKYLIGHT_TOKENManual capture via HTTPS proxy

Both methods require SKYLIGHT_FRAME_ID (your household ID).

Finding Your Frame ID

  1. Log into ourskylight.com
  2. Click on your calendar name
  3. Look at the URL - the Frame ID is the number at the end

Example: In the URL https://ourskylight.com/calendar/1234567, the Frame ID is 1234567

Requirements

  • SKYLIGHT_FRAME_ID environment variable (household frame ID)
  • Either SKYLIGHT_EMAIL + SKYLIGHT_PASSWORD OR SKYLIGHT_TOKEN
  • curl and jq for API requests

Version

0.1.0

Disclaimer

This skill uses an unofficial, reverse-engineered API. It is not affiliated with or endorsed by Skylight. Use responsibly and only with your own account.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install skylight?

Run openclaw add @riyadchowdhury/skylight-skill in your terminal. This installs skylight into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/riyadchowdhury/skylight-skill. Review commits and README documentation before installing.