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.
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
- Hailee's calendar is the source of truth — she's invited to all client and team meetings
- Auto-accept is ON — meetings appear on her calendar immediately when invited
- Bot reads her calendar with full event details (See all event details permission)
- Bot routes alerts to the correct Slack channel based on meeting name/attendees
- 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:
- 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") - Filter out skip-list meetings
- Group by channel routing
- 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:
- Read Hailee's calendar for next 7 days
- Compare with previous scan (store meeting IDs + times + names)
- 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:
{
"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:
- Check Hailee's calendar for meetings starting in the next 10-15 minutes
- 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:
- Read Hailee's calendar for TOMORROW
- Filter out skip-list meetings
- 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)
- Use
gcal_list_eventsfor Hailee's calendar (full details permission) - Use
gcal_find_my_free_timefor Abel/Jamie (free/busy only) - Jamie's Slack ID is U09FEC6A9UZ (NOT U091MH3R6U9)
- Abel's calendar email is abel@chinchilla-ai.com
- Always convert times to PT for display
- CLI cron jobs are session-only, expire after 3 days
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
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.
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.
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.
captain-update
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.
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.
Didn't find tool you were looking for?