Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Daily meeting preparation system that checks your calendar each morning, deeply researches external attendees (LinkedIn, company info, GitHub, past notes), and sends you personalized briefs via email (1 per person). Use when you want automated preparation for upcoming meetings with context about each person you're meeting.
.claude/skills/gooseworks-ai-meeting-brief/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-09 | ✗→✓ | ▲ Improved | 95% | 0% |
| case-01 | ✗→✓ | ▲ Improved | 458% | 0% |
| case-04 | ✗→✓ | ▲ Improved | 126% | 0% |
| case-05 | ✗→✓ | ▲ Improved | 55% | 0% |
| case-06 | ✗→✓ | ▲ Improved | 81% | 0% |
Automated daily meeting preparation system that researches meeting attendees and sends you personalized briefs.
Every morning (configurable time):
Edit config.json to list your team members (these will be skipped):
json{ "team_members": [ "alice@yourcompany.com", "bob@yourcompany.com", "team@yourcompany.com" ], "team_domains": [ "@yourcompany.com" ], "schedule": "0 7 * * *", "timezone": "America/Los_Angeles", "your_email": "you@yourcompany.com", "brief_from": "Meeting Brief <briefbot@yourcompany.com>", "slack_webhook": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL", "send_email": true, "send_slack": true, "include_calendar_details": true, "research_depth": "standard" }
Config options:
team_members: Emails to skip (exact match)team_domains: Domain patterns to skip (e.g., skip all @yourcompany.com)schedule: Cron expression for daily run (default: 7am)timezone: Timezone for scheduleyour_email: Where to send briefsbrief_from: From address for briefsslack_webhook: Slack incoming webhook URL (optional)send_email: Whether to send email briefs (default: true)send_slack: Whether to send Slack notifications (default: false)include_calendar_details: Include meeting time/location in briefresearch_depth: quick (web only), standard (web + GitHub), deep (web + GitHub + past notes)Run manually each morning:
bashcd skills/meeting-brief ./scripts/run_daily.sh
scripts/run_daily.sh)scripts/check_calendar.sh)scripts/research_person.js)scripts/generate_brief.js)send_email: true)send_slack: true, scripts/send_slack.sh)supernotes/people/)data/sent/YYYY-MM-DD.json)For each external attendee, the system researches:
research_depth is standard or deep)research_depth is deep)Research is structured as JSON:
json{ "person": { "name": "Jane Doe", "email": "jane@example.com", "company": "Example Corp", "title": "VP Engineering" }, "linkedin": { "url": "...", "bio": "...", "experience": [...] }, "github": { "username": "janedoe", "profile_url": "...", "recent_repos": [...] }, "company": { "name": "Example Corp", "industry": "...", "recent_news": [...] }, "past_interactions": [ "Met at conference in 2024", "Discussed partnership opportunity" ] }
The AI-generated brief comes in two formats:
Deeper, narrative-driven brief with:
Example Brief:
Subject: Meeting Brief: Jane Doe - Product Partnership Discussion
Hi,
You're meeting with Jane Doe today at 2pm.
## Quick Overview
Jane is VP of Engineering at Example Corp, a B2B SaaS company in the dev tools space. She's been there for 3 years and previously worked at GitHub and Microsoft.
## Background
- Strong background in developer tooling and infrastructure
- Recently led Example Corp's API platform overhaul (launched Q4 2025)
- Active on GitHub (janedoe) - maintains several open-source CLI tools
- Technical blog focuses on API design and developer experience
## Conversation Starters
- Their new API platform (just launched, getting good traction)
- Recent blog post on GraphQL vs REST (published last week)
- Shared interest in developer experience (noted in her LinkedIn)
## Notes
- You met briefly at DevTools Summit 2024
- She mentioned interest in partnering on integration opportunities
---
Meeting: Product Partnership Discussion
Time: Today at 2:00 PM
Location: Zoom (link in calendar)Run for a specific person:
bash# Research a person node scripts/research_person.js "Jane Doe" "jane@example.com" "Example Corp" # Generate brief node scripts/generate_brief.js research_output.json meeting_context.json # Send brief ./scripts/send_brief.sh brief.html "Jane Doe"
Run for today's meetings:
bash./scripts/run_daily.sh
meeting-brief/
├── data/
│ ├── sent/ # Sent brief logs (by date)
│ │ └── 2026-02-21.json
│ ├── research/ # Research cache (by person)
│ │ └── jane-doe.json
│ └── meetings/ # Meeting data (by date)
│ └── 2026-02-21.json
└── logs/
└── run.log # Execution logsDRY_RUN=true in run_daily.sh to preview without sendingquick, upgrade to standard or deep as neededNo briefs sent:
gcalcli agenda today tomorrow)logs/run.logBriefs missing information:
research_depth in config.jsondata/research/Duplicate briefs:
data/sent/ for already-sent trackinggh): For GitHub profile lookup (optional)data/research/Other measured skills in the registry, with their headline benchmark lift.