lotfb86/memory-kb · Archived

memory-bubbles-ingest

Ingest Bubbles AI meeting summaries from Gmail into the memory knowledge base

First seen Jun 19, 2026

Installation

$ npx skills add lotfb86/memory-kb --skill memory-bubbles-ingest

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from lotfb86/memory-kb.

npx skills add lotfb86/memory-kb

Browse all from lotfb86/memory-kb

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Default branch main
Open issues 0
Status Archived

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 4,076 B
  • docs SUMMARY.md 106 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Bubbles AI Meeting Notes Ingest for Memory Knowledge Base

Pull Bubbles AI meeting summaries from Gmail. These contain structured meeting notes, transcripts, and action items for every meeting Jesse attends.

How Bubbles Works

Bubbles AI (usebubbles.com) joins Jesse's Google Meet/Zoom calls and sends email summaries to [email protected] from [email protected]. Each email contains:

  • Meeting summary (numbered topic sections)
  • Action items (with assignees)
  • Link to recording
  • Meeting title and participants

Process

1. Load State

Read state from /Users/jesseanglen/Documents/RandomStuff/memory-kb/state/bubbles-state.json. If it doesn't exist, this is the first run — set last_checked to 7 days ago.

2. Search Gmail for Bubbles Summaries

Use gmailsearchmessages:

q: "from:usebubbles.com subject:summary after:YYYY/MM/DD"
maxResults: 30

Where the date comes from last_checked in state.

3. Read Each Summary Email

For each Bubbles email, use gmailreadmessage with the messageId.

Extract from the body:

  • Meeting title (from subject line — format: "Full summary & N action items [for Person] — [Meeting Title]")
  • Meeting summary (the numbered sections under "📝 Meeting Summary:")
  • Action items (the items under action items section)
  • Participants (inferred from subject and body mentions)
  • Date/time (from email Date header)

4. Cross-Reference with Calendar

Match the meeting title against calendar events in the same daily log file. If a matching calendar entry exists, add a reference linking the Bubbles notes to that event.

Also check /Users/jesseanglen/Documents/RandomStuff/memory-kb/state/calendar-contacts.json for participant emails.

5. Append to Daily Log

For each Bubbles summary, append to /Users/jesseanglen/Documents/RandomStuff/memory-kb/daily/YYYY-MM-DD.md:

## Meeting Notes (Bubbles): [Meeting Title] @ HH:MM PT
**source:** bubbles
**participants:** [Names mentioned in the summary]
**related_calendar_event:** [matching calendar entry if found]

### Meeting Summary
- [Topic 1 summary from Bubbles]
- [Topic 2 summary from Bubbles]
- [etc.]

### Action Items
- [ ] [Action item 1 — assignee]
- [ ] [Action item 2 — assignee]

Create daily log with header if it doesn't exist.

6. Deduplication

Track processed Bubbles email message IDs in state. Check daily log for existing Bubbles entries with same meeting title before appending.

7. Update State

Write to /Users/jesseanglen/Documents/RandomStuff/memory-kb/state/bubbles-state.json:

{
  "last_checked": "YYYY/MM/DD",
  "total_runs": N,
  "last_run": {
    "timestamp": "ISO",
    "summaries_found": N,
    "summaries_ingested": N,
    "action_items_captured": N,
    "status": "success"
  },
  "processed_message_ids": ["id1", "id2"]
}

8. Report

"Bubbles ingest complete. Found X meeting summaries, ingested Y, captured Z action items."

MCP Tools Reference

  • gmailsearchmessages — search for Bubbles emails
  • gmailreadmessage — read full meeting summary

Why This Is Valuable

Bubbles summaries are the richest meeting data source — they contain actual discussion content, decisions, and action items that calendar events don't have. Combined with calendar attendees and email follow-ups, this creates a complete picture of every meeting:

  • Calendar = who was there and when
  • Bubbles = what was discussed and decided
  • Emails = what happened after

Notes

  • Bubbles emails come from [email protected]
  • Subject format: "Full summary & N action items [for Person] — [Meeting Title]"
  • No Bubbles API/MCP exists — Gmail is the access path
  • Bubbles sometimes creates duplicate "(Notes)" calendar events — ignore those, focus on the email summaries
  • Strip the Bubbles boilerplate/marketing from the email body, keep only the meeting content