/veille:eventsEvents Scanner
Scans Luma, Meetup, Eventbrite and invites received by email. Cross-references with your Google Calendar to check availability and avoid recommending events already on your calendar. Scores by topic relevance (against themes you configure) and logistics (distance, price, format). Returns 5-10 events MAX over a rolling 60-day window.
Product, marketing, founders who want to attend 2 events per month without scrolling Luma for an hour every week. Works best with Gmail + Google Calendar MCPs connected (otherwise limited to public web sources, no calendar check).
Configuration
veille:eventsReadWriteWebSearchWebFetchGmailCalendarInstallation
$ mkdir -p ~/.claude/skills/veille:events && \
curl -sSL https://www.cedricrittie.com/api/skills/veille-events/raw \
-o ~/.claude/skills/veille:events/SKILL.mdThen restart Claude Code. Test with `/veille:events`.
Need to install Claude Code first? See the Claude Code page · Download the raw .md
Usage examples
/veille:eventsFull scan. Returns 5-10 events over 60 days, scored, with practical detail (venue, price, registration) and why it's relevant to you.
Upcoming events — 5 keepers (scanned 187 events) 1. Product Paris Conf — 28/11 Paris 10e Topic: 9/10 (product + AI agents track) Logistics: 8/10 (10 min from home, €180) Conflict: none (calendar clear) Why: 3 speakers on product-led growth, your current focus → https://lu.ma/... 2. MCP Night Meetup — 04/12 remote Topic: 10/10 Logistics: 10/10 (remote, free) Conflict: partial (dinner 20h, event ends 19h30) Why: MCP contributors from PostHog/Notion panel → https://lu.ma/... [...] Skipped - 12 events outside your topic config - 4 conflicts with existing meetings
/veille:events AI Paris décembreTargeted search: topic + location + time window. Useful when planning a trip or a specific month.
Targeted scan — "AI Paris December" [...]
Full SKILL.md
Veille Events
Find upcoming events worth attending. Not a raw dump of everything happening. A curated, scored selection of events that matter for the user's role and domain.
Sources
1. Web scraping (Chrome DevTools MCP)
Scrape these platforms for events in the user's target city and remote/online:
Luma (lu.ma)
- Navigate to
https://lu.ma/{city}and scrape listed events - Also search
https://lu.ma/search?q={keyword}for each priority keyword - Extract: title, date, location, URL, description snippet, organizer
Meetup (meetup.com)
- Navigate to the relevant city + tech category page
- Try multiple category IDs and keyword searches for the user's priority topics
- Extract: title, date, location, URL, attendee count, group name
Eventbrite
- Navigate to the relevant city + tech category page
- Search for the user's priority topics
- Extract: title, date, location, URL, price (free/paid), organizer
For each platform:
- Use
mcp__chrome-devtools__new_pageto open a page - Use
mcp__chrome-devtools__navigate_pageto go to the URL - Use
mcp__chrome-devtools__take_snapshotto get the DOM - Parse the snapshot for event data
- Use
mcp__chrome-devtools__close_pagewhen done
2. WebSearch (global conferences & keynotes)
Run targeted searches for major upcoming conferences and keynotes relevant to the user's domain. Adapt year to current year. Focus on events happening in the next 3 months.
3. Gmail scanning
Use the Gmail MCP to find event invitations and announcements:
mcp__claude_ai_Gmail__gmail_search_messageswith queries:subject:(invitation OR event OR conference OR meetup OR webinar) newer_than:14dsubject:(inscri OR register OR RSVP) newer_than:14dfrom:(eventbrite OR meetup OR luma OR lu.ma) newer_than:14dsubject:(keynote OR summit OR conf) newer_than:14d
Read the top results with
mcp__claude_ai_Gmail__gmail_read_messageExtract event details: title, date, location, URL, organizer
4. Google Calendar check
Use mcp__claude_ai_Google_Calendar__gcal_list_events to check what's already on the calendar in the relevant time window. This prevents recommending events the user already registered for.
Event preferences
Load preferences from an event-preferences.json file in this skill folder.
These preferences define:
- Categories: what topics to look for (weighted by priority)
- Keywords: search terms in the user's preferred languages
- Location: geographic filters
- Exclusions: what to skip
Scoring
Score each event 1-10 based on these criteria:
| Criterion | Weight | Description |
|---|---|---|
| Topic relevance | 35% | How well does it match the user's categories and keywords? |
| Speaker quality | 20% | Known practitioners > unknown speakers > corporate pitches |
| Format | 15% | Hands-on workshop > talk > panel > webinar |
| Accessibility | 15% | Free > affordable. Local/remote > travel required |
| Timing | 10% | Weekday evening or full-day > weekend. Not conflicting with calendar |
| Social proof | 5% | Attendee count, past edition reputation |
Score thresholds:
- 7+ : Strongly recommend
- 5-6 : Worth considering
- Below 5 : Don't show unless very few results
Deduplication
Events may appear across multiple sources. Deduplicate by:
- Exact URL match
- Title similarity (normalize case, strip dates/locations, Jaccard similarity > 0.6)
- Same date + similar title = likely duplicate
When merging duplicates, keep the richest data. Note cross-source appearance as a confidence boost (+0.5 to score).
Workflow
1. Load context
- Read
event-preferences.jsonfor preferences - Check Google Calendar for the target time window (next 3 months by default)
- Note already-registered events to exclude from results
2. Collect events
Run all sources in parallel where possible:
- Chrome MCP scraping (Luma, Meetup, Eventbrite)
- WebSearch for global conferences
- Gmail scan for invitations
3. Process
- Deduplicate across sources
- Score each event
- Filter out exclusions (from preferences)
- Filter out events already on calendar
- Sort by score descending
4. Output
Display a scored table in conversation:
## Evenements a venir
| # | Score | Titre | Date | Lieu | Type | Source |
|---|-------|-------|------|------|------|--------|
| 1 | 9.2 | [Event Name](url) | 15 mai | Paris 3e | Conference | Luma + Eventbrite |
| 2 | 8.5 | [Event Name](url) | 22 mai | Remote | Webinar | Gmail |
| ... |
### Details
#### 1. Event Name (9.2/10)
- Date : ...
- Lieu : ...
- Prix : Gratuit / 50EUR / ...
- Speakers : ...
- Pourquoi : [1-2 sentences on why this is relevant for the user]
- Source : Luma, Eventbrite
[repeat for each event]
Then ask:
Quels evenements tu veux que j'ajoute au calendrier ? (numeros, "tous", ou "non")
Creer des notes dans le vault ? (numeros, "tous", ou "non")
5. Add to calendar
For each selected event, use mcp__claude_ai_Google_Calendar__gcal_create_event with:
- Title: event name
- Date/time: from event data
- Location: venue or "Remote" + link
- Description: brief description + source URL
- Reminder: 1 day before
6. Create vault notes
For each selected event, create a note in the user's notes folder with:
---
categories:
- Events
tags:
- events
date: [event date]
location: [venue or Remote]
url: "[event URL]"
source: [where we found it]
score: [score/10]
registered: false
---
# [Event Name]
**Date** : [full date and time]
**Lieu** : [location details]
**Prix** : [price or free]
**Organisateur** : [organizer]
## Description
[Event description]
## Speakers
[If available]
## Pourquoi y aller
[Why this is relevant for the user, based on scoring rationale]
Variations
/veille:events— full scan across all sources, next 3 months/veille:events AI— focused on AI events only/veille:events this week— narrow time window to current week/veille:events remote— only remote/online events
When an argument is provided, adjust search queries and scoring weights accordingly.
Anti-patterns
- Never list events without scores and rationale
- Never include events that already passed
- Never include job fairs, comedy shows, networking-only events (unless preferences say otherwise)
- Never include events with no date or no URL
- Never show more than 15 events. If more found, show top 15 only.
- Never pad results. If only 3 good events found, show 3.
- Never include "corporate webinar" lead-gen traps disguised as events
Public version of this Skill. 216 lines. Copy into ~/.claude/skills/veille:events/SKILL.md to install.
Related Skills