Cédric Rittié

/veille:events

Events Scanner

ResearchAdvanced15 min install216 lines

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.

Published April 15, 2026Updated April 16, 2026
GitHub
Who it's for

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

Name
veille:events
Category
Research
Description
Discover upcoming events relevant to your interests. Scans Luma, Meetup, web, Gmail, and Calendar.
Allowed tools
ReadWriteWebSearchWebFetchGmailCalendar

Installation

One line, one terminal
$ mkdir -p ~/.claude/skills/veille:events && \
  curl -sSL https://www.cedricrittie.com/api/skills/veille-events/raw \
       -o ~/.claude/skills/veille:events/SKILL.md

Then 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:events

Full scan. Returns 5-10 events over 60 days, scored, with practical detail (venue, price, registration) and why it's relevant to you.

Sample output
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écembre

Targeted search: topic + location + time window. Useful when planning a trip or a specific month.

Sample output
Targeted scan — "AI Paris December"
[...]

Full SKILL.md

Why is the Skill written in English? LLMs are trained mostly on English. A system prompt in English gives more reliable, more precise results, even when Claude replies to you in French. The output the Skill produces (your posts, audits, digests) comes out in whatever language you use. Only the system instructions stay in English, by design for performance.

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:

  1. Use mcp__chrome-devtools__new_page to open a page
  2. Use mcp__chrome-devtools__navigate_page to go to the URL
  3. Use mcp__chrome-devtools__take_snapshot to get the DOM
  4. Parse the snapshot for event data
  5. Use mcp__chrome-devtools__close_page when 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_messages with queries:

    • subject:(invitation OR event OR conference OR meetup OR webinar) newer_than:14d
    • subject:(inscri OR register OR RSVP) newer_than:14d
    • from:(eventbrite OR meetup OR luma OR lu.ma) newer_than:14d
    • subject:(keynote OR summit OR conf) newer_than:14d
  • Read the top results with mcp__claude_ai_Gmail__gmail_read_message

  • Extract 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:

  1. Exact URL match
  2. Title similarity (normalize case, strip dates/locations, Jaccard similarity > 0.6)
  3. 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.json for 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