# Send Skylight to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "skylight-skill",
    "name": "Skylight",
    "source": "tencent",
    "type": "skill",
    "category": "效率提升",
    "sourceUrl": "https://clawhub.ai/riyadchowdhury/skylight-skill",
    "canonicalUrl": "https://clawhub.ai/riyadchowdhury/skylight-skill",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/skylight-skill",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=skylight-skill",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "README.md",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "skylight-skill",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-01T05:40:57.977Z",
      "expiresAt": "2026-05-08T05:40:57.977Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=skylight-skill",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=skylight-skill",
        "contentDisposition": "attachment; filename=\"skylight-skill-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "skylight-skill"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/skylight-skill"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/skylight-skill",
    "downloadUrl": "https://openagent3.xyz/downloads/skylight-skill",
    "agentUrl": "https://openagent3.xyz/skills/skylight-skill/agent",
    "manifestUrl": "https://openagent3.xyz/skills/skylight-skill/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/skylight-skill/agent.md"
  }
}
```
## Documentation

### 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:

Install Proxyman/Charles/mitmproxy and trust root certificate
Enable SSL proxying for app.ourskylight.com
Log into Skylight app and capture any API request
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.

### 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"

### 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)

### 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

### 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)

### 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

### 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"

### 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
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: riyadchowdhury
- Version: 1.0.0
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-01T05:40:57.977Z
- Expires at: 2026-05-08T05:40:57.977Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/skylight-skill)
- [Send to Agent page](https://openagent3.xyz/skills/skylight-skill/agent)
- [JSON manifest](https://openagent3.xyz/skills/skylight-skill/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/skylight-skill/agent.md)
- [Download page](https://openagent3.xyz/downloads/skylight-skill)