원클릭으로
memory-gdocs-ingest
Ingest recently modified Google Docs into the memory knowledge base with email correlation
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Ingest recently modified Google Docs into the memory knowledge base with email correlation
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Ingest Bubbles AI meeting summaries from Gmail into the memory knowledge base
Pull Google Calendar events via MCP tools and extract attendees into the memory-kb contact registry
Manually compile daily logs into knowledge articles and run structural lint
Ingest emails from calendar contacts using Gmail MCP tools — calendar-gated to prevent spam/noise
Query the personal knowledge base — ask questions about past decisions, meetings, and context
Ingest Slack DMs and important channel messages into the memory knowledge base
| name | memory-gdocs-ingest |
| description | Ingest recently modified Google Docs into the memory knowledge base with email correlation |
| user_invocable | true |
Pull recently modified Google Docs, correlate with related emails, and append enriched entries to the daily log.
Read state from /Users/jesseanglen/Documents/RandomStuff/memory-kb/state/gdocs-state.json.
If it doesn't exist, this is the first run — set last_checked to 7 days ago.
Use search_files (Google Drive MCP) with:
query: "modifiedTime > 'YYYY-MM-DDTHH:MM:SSZ' and mimeType = 'application/vnd.google-apps.document'"
pageSize: 20
Important: Timestamps MUST use UTC with Z suffix: 2026-04-10T00:00:00Z
Alternatively, use list_recent_files with orderBy: "lastModified" and filter to documents.
The search tools return content snippets directly. For full content, use read_file_content with the document's id.
For each document:
gdocs-state.json — skip if unchangedFor each document that mentions people or companies, search Gmail for related email threads:
Use gmail_search_messages with queries derived from the document content:
"spyder construction" or "monetate""david gallo" or "steve maher"For each matching email thread:
gmail_read_message to get the most recent message in the threadThis creates a unified view — the document plus all related email communications.
For each doc, append to /Users/jesseanglen/Documents/RandomStuff/memory-kb/daily/YYYY-MM-DD.md:
## Google Doc: [Document Title] @ HH:MM PT
**source:** gdocs
**doc_id:** [document ID]
**last_modified:** [ISO timestamp]
**people:** [Names and emails found in doc]
### Document Summary
- [Key content — decisions, plans, terms, important details]
### Related Email Threads
- **[Subject line]** (last activity: [date]) — [1-line summary of thread status]
- Participants: [list]
- Key: [latest decision or action item from thread]
- **[Subject line]** (last activity: [date]) — [1-line summary]
- Participants: [list]
- Key: [latest status]
### Action Items
- [ ] [Any outstanding items from doc + emails combined]
Create the daily log with # Daily Log: YYYY-MM-DD header if it doesn't exist.
Write to /Users/jesseanglen/Documents/RandomStuff/memory-kb/state/gdocs-state.json:
{
"last_checked": "ISO timestamp with Z suffix",
"total_runs": N,
"last_run": {
"timestamp": "ISO",
"docs_found": N,
"docs_ingested": N,
"docs_unchanged": N,
"email_threads_correlated": N,
"status": "success"
},
"doc_hashes": {
"doc_id_1": "title:modifiedTime",
"doc_id_2": "title:modifiedTime"
}
}
"Google Docs ingest complete. Found X modified docs, ingested Y with changes, correlated Z email threads."
Google Drive:
search_files — search by query with date filters and mime typelist_recent_files — list most recently modified filesread_file_content — read full document content by fileIdget_file_metadata — get metadata for a specific fileGmail (for correlation):
gmail_search_messages — search for emails related to doc contentgmail_read_message — read full email for thread contextThe goal is that when Jesse asks about a deal or document, the compiled knowledge article has BOTH the document content AND the email thread context — so the memory surfaces everything relevant in one place.
What to correlate:
What NOT to correlate: