Agent skill

Meeting Informer

Use this skill for morning meeting briefings, meeting change alerts (new/cancelled/rescheduled), 10-minute reminders, and tomorrow's meeting preview. Monitors Hailee's Google Calendar and posts alerts to the correct Slack channel per project.

Stars 2
Forks 0

Install this agent skill to your Project

npx add-skill https://github.com/ChinchillaEnterprises/ChillSkills/tree/main/meeting-informer

SKILL.md

Chinchilla Meeting Informer Bot

An AI-powered meeting monitor that reads Hailee's Google Calendar, detects new/cancelled/rescheduled meetings, and posts alerts to the correct Slack channel. Built to keep the team aligned without anyone missing or being confused about meetings.

How It Works

  1. Hailee's calendar is the source of truth — she's invited to all client and team meetings
  2. Auto-accept is ON — meetings appear on her calendar immediately when invited
  3. Bot reads her calendar with full event details (See all event details permission)
  4. Bot routes alerts to the correct Slack channel based on meeting name/attendees
  5. Skips personal appointments (Lunch, End Work, Dentist, etc.)

Channel Routing

The bot determines which Slack channel to post to based on meeting name keywords and attendee domains:

Keywords in meeting name Attendee domains Slack Channel Channel ID
BeonIQ, Beon, Databricks, Marta, NTG, ConvoAI, Information Design, Office Hours, Weekly Data, Show and Tell, Enhancement Review @databricks.com, @gobeon.com #internal-beoniq C09JD94HRUN
BankPro, Forex, Marlon, Mohebsy, FX, Trading #forex C0AE0CZG0M9
RV, Sunset, Johanna, Fabiola, Campspot, Alvin #rvlot C0AHR9HSNTS
Tax, 1065, Franchise, IRS, W-2, 1099, CPA #taxes C0AAK2LU6A3
Team meeting, Team sync, Team standup (ONLY chinchilla-ai.com attendees) Internal only #academy C093R9E1Z52
Everything else (unknown client meeting) External attendees #admin C093LMYN762

Routing priority: Check keywords first (top to bottom). If no keyword match, check attendee domains. If external attendees present but no keyword match, route to #admin. If all internal, route to #academy.

Skip List (Personal — DO NOT alert)

Skip any meeting whose name contains (case-insensitive):

  • Lunch
  • End Work
  • Dentist
  • Doctor
  • Personal
  • Appointment
  • APT
  • Break
  • PTO
  • Out of Office
  • OOO
  • Blocked
  • Focus time
  • Counselor

Also skip meetings that ONLY appear on Abel's calendar (his WB Standup, BR Standup, Automation and Innovation, 1 on 1, GIS, UiPath, Benefits SIM, azure groups — these are his personal work meetings, NOT team meetings).

How to identify Abel-only meetings: If a meeting has ONLY Abel as attendee (or Abel + external people but NOT Hailee/Jamie), skip it. The bot only reads Hailee's calendar anyway, so if it's on Hailee's calendar, it's relevant.

Scheduled Tasks

1. Morning Briefing — 7:00 AM PT Daily (weekdays)

Cron: 3 7 * * 1-5 (7:03 AM PT to avoid :00 congestion)

What it does:

  1. Read Hailee's calendar for today: gcal_list_events(calendarId="hailee@chinchilla-ai.com", timeMin="today 00:00", timeMax="today 23:59", timeZone="America/Los_Angeles")
  2. Filter out skip-list meetings
  3. Group by channel routing
  4. Post ONE summary message to #general

Message format:

:sunrise: *Good morning team! Here's today's meeting schedule:*

:calendar: *BeonIQ*
• 9:30 AM PT — BeonIQ - Information Design (1 hour)
  Posted to #internal-beoniq

:calendar: *Team*
• 1:00 PM PT — Team Meeting (45 min)
  Posted to #academy

:calendar: *Taxes*
• 1:00 PM PT — Tax meeting (1 hour)
  Posted to #taxes

_No meetings found for: forex, rvlot_

Have a great day! :chipmunk:

Also post individual reminders to each relevant channel:

:calendar: *Today's BeonIQ Meetings:*
• 9:30 AM PT — BeonIQ - Information Design (1 hour)
  :link: [Google Meet link if available]

2. Meeting Change Detection — Hourly Scan

Cron: 13 9-18 * * 1-5 (hourly :13, 9am-6pm PT, weekdays)

What it does:

  1. Read Hailee's calendar for next 7 days
  2. Compare with previous scan (store meeting IDs + times + names)
  3. Detect changes:
    • NEW meeting — meeting ID not seen before
    • CANCELLED — meeting ID was there before, now gone
    • RESCHEDULED — meeting ID exists but time changed
    • RENAMED — meeting ID exists but name changed

Where to store state: Save last scan to ~/.claude/projects/C--Users-Hailee-Landin/memory/meeting-informer-state.json

Format:

json
{
  "lastScan": "2026-03-23T09:13:00-07:00",
  "meetings": {
    "event_id_123": {
      "summary": "BeonIQ - Information Design",
      "start": "2026-03-26T09:30:00-07:00",
      "end": "2026-03-26T10:30:00-07:00",
      "status": "confirmed"
    }
  }
}

Alert formats:

New meeting:

:new: *New meeting scheduled!*
*BeonIQ - Information Design*
:calendar: Thursday, Mar 26
:clock930: 9:30 AM - 10:30 AM PT
:busts_in_silhouette: 16 attendees
:link: meet.google.com/xxx

Cancelled:

:x: *Meeting cancelled!*
*BeonIQ - Information Design*
Was scheduled for: Thursday, Mar 26 at 9:30 AM PT

Rescheduled:

:arrows_counterclockwise: *Meeting rescheduled!*
*BeonIQ - Information Design*
:x: Was: Thursday, Mar 26 at 9:30 AM PT
:white_check_mark: Now: Friday, Mar 28 at 2:00 PM PT

3. 10-Minute Reminder

Cron: */5 9-18 * * 1-5 (every 5 minutes during work hours — checks if any meeting starts in 10 min)

What it does:

  1. Check Hailee's calendar for meetings starting in the next 10-15 minutes
  2. If found, post reminder to the correct channel

Message format:

<!channel> :bell: *Meeting starting in 10 minutes!*
*BeonIQ - Information Design*
:clock930: 9:30 AM PT
:link: meet.google.com/xxx
:busts_in_silhouette: Abel, Jamie, Hailee + 13 others

Important: Track which meetings have already been reminded (by event ID) so we don't spam the same reminder twice.

4. Tomorrow Preview — 4:00 PM PT Daily (weekdays)

Cron: 3 16 * * 1-5 (4:03 PM PT)

What it does:

  1. Read Hailee's calendar for TOMORROW
  2. Filter out skip-list meetings
  3. Post summary to #general

Message format:

:crystal_ball: *Tomorrow's meetings (Tuesday, Mar 25):*

• 9:30 AM PT — BeonIQ - Information Design → #internal-beoniq
• 1:00 PM PT — Team Meeting → #academy

_That's 2 meetings tomorrow. Have a good evening!_ :chipmunk:

If no meetings tomorrow:

:crystal_ball: *No meetings scheduled for tomorrow (Tuesday, Mar 25).* :tada:

5. Wednesday Tax Reminder — Abel's To-Do

Cron: 3 9 * * 3 (Wednesday 9:03 AM PT)

What it does: Post Abel's outstanding tax items to #taxes.

Message format:

:memo: *Wednesday Tax Reminder* — <@U072PCVTS00>

Here's your to-do list before Friday:

1. :hourglass_flowing_sand: Truck sale numbers (sale price, date, purchase price, deductions)
2. :hourglass_flowing_sand: Call Evergreen for W-2
3. :hourglass_flowing_sand: Answer remaining open income questions (Dietze, Khajaz, M Alam)
4. :hourglass_flowing_sand: Authenticate Mercury → Coinbase via Plaid

_Pick 1-2 of these to knock out this week!_ :chipmunk:

Note: Update the to-do list items as they get completed. Read from memory/tax action items to keep current.

Calendar Access

Person Calendar Email Access Level Purpose
Hailee hailee@chinchilla-ai.com See all event details PRIMARY SOURCE — reads meeting names, times, attendees, links
Abel abel@chinchilla-ai.com Free/busy only Check availability (scheduler bot)
Jamie jamie@chinchilla-ai.com Free/busy only Check availability (scheduler bot)
Admin chinchillaai.admin@gmail.com Owner Bot's authenticated account

API Methods

For reading event details (Hailee's calendar):

mcp__claude_ai_Google_Calendar__gcal_list_events(
  calendarId="hailee@chinchilla-ai.com",
  timeMin="...",
  timeMax="...",
  timeZone="America/Los_Angeles",
  condenseEventDetails=false  // IMPORTANT: need full details for attendees + links
)

For checking availability (Abel/Jamie):

mcp__claude_ai_Google_Calendar__gcal_find_my_free_time(
  calendarIds=["abel@chinchilla-ai.com"],
  ...
)

DO NOT use gcal_list_events for Abel or Jamie — their calendars are shared as free/busy only, it will fail. Use find_my_free_time or find_meeting_times instead.

Timezone Handling

  • All times displayed in PT (Hailee's timezone, team default)
  • Include ET conversion for Jamie when relevant: "9:30 AM PT (12:30 PM ET)"
  • Include CT conversion for Abel when relevant: "9:30 AM PT (11:30 AM CT)"

Key Differences from Scheduler Bot

Scheduler Bot Meeting Informer Bot
Purpose CREATES meetings MONITORS existing meetings
Trigger Someone asks to schedule Calendar changes
Calendar access Free/busy (all team) Full details (Hailee only)
Channel Posts where requested Routes to correct project channel
Cron Hourly 9-6 Multiple schedules (morning, hourly, 5-min, 4pm, Wednesday)

Lessons from Scheduler Bot (apply here too)

  1. Use gcal_list_events for Hailee's calendar (full details permission)
  2. Use gcal_find_my_free_time for Abel/Jamie (free/busy only)
  3. Jamie's Slack ID is U09FEC6A9UZ (NOT U091MH3R6U9)
  4. Abel's calendar email is abel@chinchilla-ai.com
  5. Always convert times to PT for display
  6. CLI cron jobs are session-only, expire after 3 days

Expand your agent's capabilities with these related and highly-rated skills.

ChinchillaEnterprises/ChillSkills

Red Team

Use this skill when the user says "red team", "stress test", "attack this", "critique this", "run the models against this", "test this plan", "refine this with AI", or wants to use external AI models to critique, validate, or improve a document, pitch, plan, or idea. Also use when the user wants to save Claude Code usage by offloading analysis to other models.

2 0
Explore
ChinchillaEnterprises/ChillSkills

Upwork Scanner

This skill should be used when the user asks to "scan upwork", "find upwork jobs", "check upwork", "run the scanner", "look for jobs", or mentions finding freelance projects for Chinchilla AI.

2 0
Explore
ChinchillaEnterprises/ChillSkills

Polymarket Arb Scanner

This skill should be used when the user asks to "scan polymarket", "find arb opportunities", "check polymarket arbs", "run arb scanner", "polymarket arbitrage", or mentions detecting price inefficiencies on Polymarket.

2 0
Explore
ChinchillaEnterprises/ChillSkills

captain-update

2 0
Explore
ChinchillaEnterprises/ChillSkills

Polymarket Copy Trader

This skill should be used when the user asks to "copy trade", "telegram bot polymarket", "follow traders", "copy polymarket", or mentions building a copy trading bot for Polymarket.

2 0
Explore
ChinchillaEnterprises/ChillSkills

Architecture Diagram

This skill should be used when the user asks to "generate a diagram", "create an architecture diagram", "make a diagram", "draw a system diagram", or needs a branded Chinchilla AI technical diagram for proposals or documentation.

2 0
Explore

Didn't find tool you were looking for?

Be as detailed as possible for better results