with one click
meeting-prep
// Prepare a 1-page brief for an upcoming meeting by combining calendar context, recent threads with attendees, and relevant docs
// Prepare a 1-page brief for an upcoming meeting by combining calendar context, recent threads with attendees, and relevant docs
Delegate a PR review to Claude Code with a scoped read-only GitHub PAT
Weekly LLM cost breakdown by provider / gateway / skill, posted to private DM
Classify inbound Telegram DMs, autoreply low-stakes, escalate high-stakes to you
Classify incoming messages from public channels as spam / prompt-injection-attempt / genuine; quarantine risky ones
Audit dependencies across configured repos for security advisories, open triage issues
Sweep inbox (email + Slack + Telegram DMs) and produce a prioritized action list with suggested replies
| name | meeting-prep |
| description | Prepare a 1-page brief for an upcoming meeting by combining calendar context, recent threads with attendees, and relevant docs |
| when_to_use | ["User invokes /meeting-prep for <time or person>","Scheduled 15 minutes before every calendar event with `prep:true` tag"] |
| toolsets | ["email","slack","classify","memory"] |
| parameters | {"lookup":{"type":"string","description":"'next' | meeting title | attendee name | calendar event id","default":"next"}} |
| security | {"trust":"trusted","notes":"Reads your calendar + email + Slack + memory. Does not write. Never\nforwards any of the prep content outside your approved channels.\n"} |
| model_hint | google/gemini-3.1-flash |
Produces a one-page markdown brief so you walk into meetings knowing what's going on.
## Meeting: {title}
**When:** {datetime} ยท **Duration:** {duration} ยท **Where:** {location}
**Attendees:** {list with titles where known}
### Context
- Last topic we discussed: {summary}
- Open asks from them: {list}
- Open asks from me: {list}
### Likely agenda
1. {item}
2. {item}
### My position / notes
{bulleted; pulled from memory if relevant}
### Warnings
- {anything they sent recently that suggests a tough topic}
### Quick links
- [last email thread]({url})
- [shared doc]({url})
- [previous meeting notes]({memory-link})
Resolve meeting from lookup::
Gather (parallel):
/search with meeting title + attendee names)Summarize each thread to 1โ2 lines. Extract open asks (things needing response, either direction).
Produce the brief. Keep under 400 words. Bias for brevity โ this is a read-in-60-seconds doc.
Attach the brief as a Telegram DM reply to the trigger event, or print to CLI if invoked there.
cron:
- name: meeting-prep
schedule: "*/5 * * * *" # every 5 min, idempotent
task: "/meeting-prep next"
filter: "event_starts_within=15m AND event.metadata.prep=true"
notify: telegram_dm
prep:true (or similar) to opt in โ don't default-on for privacy.