Unified communications and family coordination hub covering Gmail, Google Calendar, Skylight Calendar (events, chores, rewards, lists, meals), Apple Reminders, and Apple Notes. This skill should be used when the user asks to check email, manage calendar events, assign chores, manage rewards or lists, coordinate family scheduling, or perform any cross-channel communication task.
Manage all communication and family-coordination surfaces through a single skill. Five channels, three auth surfaces, one interface.
Channel Tool Auth
─────────────────────────────────────────────
Gmail gog Google OAuth (CogOS app)
Google Calendar gog Google OAuth (CogOS app)
Skylight Calendar MCP (skylight) Email/password + Frame ID
Skylight Chores MCP (skylight) Email/password + Frame ID
Skylight Rewards MCP (skylight) Email/password + Frame ID
Skylight Lists MCP (skylight) Email/password + Frame ID
Skylight Meals MCP (skylight) Email/password + Frame ID
Apple Reminders remindctl macOS system permissions
Apple Notes memo macOS system permissions
| Member | Skylight Color | Role |
|---|---|---|
| Chaz | Teal (#198991) | Parent |
| Erin | Purple (#6f1693) | Parent |
| Atlas | Blue (#212ba9) | Child (chore chart) |
Frame name: dinkleberg | Timezone: America/New_York Subscription: Calendar Plus (all features enabled)
Account: [email protected]
# Search inbox
gog gmail search 'newer_than:1d' --max 10
# Search individual messages
gog gmail messages search "in:inbox from:[email protected]" --max 20
# Send (plain text via stdin — preferred for multi-line)
gog gmail send --to [email protected] \
--subject "Subject" \
--body-file - <<'EOF'
Message body here.
EOF
# Send (HTML)
gog gmail send --to [email protected] \
--subject "Subject" \
--body-html "<p>Hello</p>"
# Draft (for approval workflow)
gog gmail drafts create --to [email protected] \
--subject "Subject" --body-file ./message.txt
# Send draft
gog gmail drafts send <draftId>
# Reply
gog gmail send --to [email protected] \
--subject "Re: Subject" --body "Reply" \
--reply-to-message-id <msgId>
Important: Always confirm before sending email. Use draft workflow for
non-trivial messages. --body does not interpret \n — use --body-file -
with heredoc for multi-line.
# List events
gog calendar events <calendarId> --from <iso> --to <iso>
# Create event
gog calendar create <calendarId> --summary "Title" \
--from <iso> --to <iso> --event-color <1-11>
# Update event
gog calendar update <calendarId> <eventId> --summary "New Title"
# List available colors
gog calendar colors
Color conventions (Google Calendar):
| ID | Hex | Use for |
|---|---|---|
| 7 | #46d6db | Chaz (teal, matches Skylight) |
| 3 | #dbadff | Erin (purple, matches Skylight) |
| 9 | #5484ed | Atlas (blue, matches Skylight) |
| 10 | #51b749 | Family / shared events |
| 4 | #ff887c | Urgent / medical |
| 11 | #dc2127 | Deadlines |
All Skylight operations use mcp__skylight__* tools.
Calendar events:
get_calendar_events — query by date/date rangecreate_calendar_event — requires summary, startsAt, endsAt (ISO format)update_calendar_event — requires eventIddelete_calendar_event — requires eventIdChores:
get_chores — filter by assignee, date, status (pending/completed/all)create_chore — summary required; optional: assignee, date, time,
recurring, recurrencePattern, rewardPointsupdate_chore — choreId required; change status, reassign, rescheduledelete_chore — choreId requiredRewards (Plus):
get_rewards / get_reward_points — view available rewards and balancescreate_reward — name and pointValue requiredupdate_reward / delete_reward — rewardId requiredredeem_reward / unredeem_reward — rewardId requiredLists:
get_lists / get_list_items — view lists and contentscreate_list — label and kind (shopping/to_do) requiredcreate_list_item — label required; optional: listId/listName, sectionupdate_list_item — mark complete, rename, move sectiondelete_list / delete_list_item — permanent removalMeals (Plus):
get_meal_categories / get_meal_sittings — view meal plancreate_meal_sitting — date and mealCategoryId requiredcreate_recipe / update_recipe / delete_recipe — manage recipesget_recipes / get_recipe — browse saved recipesadd_recipe_to_grocery_list — push ingredients to shopping listOther:
get_family_members — profiles and chore-chart membershipget_devices — connected Skylight hardwareget_frame_info — household config and feature flagsget_source_calendars — which calendar services feed Skylightget_colors / get_avatars — customization optionsremindctl today # Today's reminders
remindctl tomorrow # Tomorrow
remindctl week # This week
remindctl overdue # Past due
remindctl all # Everything
remindctl list # List all lists
remindctl add --title "Task" --list Personal --due tomorrow
remindctl complete <id> # Complete by ID
Use for quick-capture tasks that should pop up on iPhone/iPad.
memo notes # List all notes
memo notes -s "query" # Search
memo notes -a "Title" # Create note
Use for longer-form capture, meeting notes, ideas. Syncs to all Apple devices.
gog calendar events)gog calendar create)remindctl add)create_chore with assignee and rewardPoints)get_chores --status all)redeem_rewardgog gmail search)gog gmail drafts create), present
for approvalcreate_list_item)get_recipes, create_recipe)create_meal_sitting with date and category)add_recipe_to_grocery_list)Three levels of autonomy, configured per channel:
| Level | Behavior | Default channels |
|---|---|---|
| Monitor | Read-only, report findings | Gmail (initial) |
| Draft | Prepare action, wait for approval | Gmail send, calendar create |
| Autonomous | Act on standing rules | Reminders, list items, chore queries |
Start conservative. Promote patterns to higher tiers as trust builds.
Standing rules (when established) should be documented in
references/standing-rules.md.
During periodic heartbeat checks, rotate through:
Report only what's actionable. Stay quiet if nothing needs attention.
.mcp.json (gitignored)
or system keychain — never log or expose credentials