一键导入
mail-transcripts
Gmail AI transcript notifications → meeting Notes: URLs + mark read. Args: (none). Invoked standalone or as step 1 of /meeting wrap.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Gmail AI transcript notifications → meeting Notes: URLs + mark read. Args: (none). Invoked standalone or as step 1 of /meeting wrap.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | mail-transcripts |
| description | Gmail AI transcript notifications → meeting Notes: URLs + mark read. Args: (none). Invoked standalone or as step 1 of /meeting wrap. |
| license | MIT |
| compatibility | Requires [Google Workspace CLI](https://github.com/googleworkspace/cli) (`gws`) with **Gmail** access (list/get/modify messages). See [google-workspace-cli](../_shared/google-workspace-cli.md). |
Setup: SETUP.md — Gmail label, OAuth scopes, and
resolve_path()customization.
/mail-transcripts — Run the Gmail → vault sync once (no arguments).| Caller | When |
|---|---|
| Standalone | Whenever you want to drain the AI-transcript inbox without wrapping meetings. |
/meeting wrap <path> | Step 1 — Before /cache-notes, so Notes: is filled from Gmail when Gemini emails beat manual paste. |
/meeting wrap pending … | Step 1 — Before discovering pending meetings, so newly linked or auto-created notes are included in the pending scan. |
Fixed query (do not change without updating this skill and the script):
label:🤖-ai-transcripts in:inbox
The label name includes the emoji 🤖 (robot). Ensure that label exists in Gmail and that transcript notifications are delivered into Inbox with that label applied.
gws is installed and authenticated (gws auth status).users.messages.modify).From the vault root, run:
python3 .scripts/gmail_ai_transcripts_to_meetings.py
Implementation lives in .scripts/gmail_ai_transcripts_to_meetings.py. The script:
maxResults in script — currently 100).https://docs.google.com/document/d/... URLs.Notes: "Title" Mon DD, YYYY (supports curly " " Unicode quotes).
A bare Meeting Summary for <recurring meeting> (no Notes: pattern) maps to that meeting using the email Date header.Meetings/**/*.md targets using title + date heuristics (daily standups → Meetings/Engineering/Scrum/YYYY-MM-DD.md, tech-leads → Meetings/Engineering/TechLeads/, interviews → Meetings/Interviews/, etc. — see script resolve_path()). Edit that function to match your own folder conventions.Notes: if that document ID is not already present.Notes:, created:, # Title - YYYY-MM-DD) — agents may refine folder/title afterward.UNREAD label via gws gmail users messages modify.Print a short summary: created paths, updated paths, noop (URL already in note), skip_no_doc (no Doc URL in body — still marked read if the script marks those), and any errors.
Notes:; it may still mark the thread read — adjust script behavior there if you want to leave unread for triage.resolve_path() in the script or move/rename the note in Obsidian.mail-transcripts logic in other skills — call the script or point here.When /mail-transcripts is run standalone, offer /commit. When run inside /meeting wrap or /meeting wrap pending, the parent sequence commits once at the end (include any new/updated meeting files in that commit scope).
Fetch & embed AI transcripts as Obsidian callouts. Args: <path>, all, refresh <path>. Prompts for URLs if empty.
Stage and commit with flexible intent parsing. Accepts file/folder scope, free-text description, amend, or any combination.
Resolve and fill Participants frontmatter + link unlinked names in body. Args: <path>, all.
Extract action items as plain markdown bullets (with confirmation). Args: <path>. No args = run [/note-status pending --step=todos](../note-status/SKILL.md#pending-mode).
Show when you last had a 1:1 with each direct report / peer, sorted by recency. Flags people who haven't had one in N weeks. Powered by the OneOnOnes view on Meetings.base.
Create or wrap meeting notes. Args: {title} [folder=X], wrap <path>, wrap pending [today|this week|dates]. No args = pick from Google Calendar.