一键导入
vault-meeting
// Process a meeting transcript — extract decisions, action items, and key discussion points into structured vault entries
// Process a meeting transcript — extract decisions, action items, and key discussion points into structured vault entries
Run a quality audit on the knowledge base
Log a daily work check-in — records what was accomplished and syncs to task board
Manually refresh the knowledge base dashboard
Audit and clean up knowledge base state — archive completed work, fix inconsistencies
Classify raw content and route it to the appropriate knowledge base location
View, update, review, or create OKR cycles
| name | vault-meeting |
| description | Process a meeting transcript — extract decisions, action items, and key discussion points into structured vault entries |
| allowed-tools | ["vault_create_entry","vault_update_entry","vault_search","vault_link","vault_kanban","vault_dashboard","vault_audit","decision_log","fetch_content","context_offload","ask_user","team_spawn"] |
Process a meeting transcript and extract structured information into the knowledge base.
If the transcript is very long (60+ minutes of conversation, or the user requests team processing), spawn a team to parallelize the work:
team_spawn(
team_name: "meeting-processing",
purpose: "Process a long meeting transcript into structured vault entries",
roles: [
%{name: "meeting-lead", role: "lead"},
%{name: "vault-researcher", role: "researcher"},
%{name: "vault-writer", role: "coder"},
%{name: "vault-reviewer", role: "reviewer"}
]
)
Team roles:
vault_audit on created entries.The researcher and writer can work in parallel on different aspects. For shorter meetings (under 60 minutes), skip team mode and process single-agent.
Determine where the transcript is:
fetch_content(source: "google_drive", identifier: "{file_id}")fetch_content(source: "url", identifier: "{url}")vault_read or file_read as appropriateIf the user says something like "process the meeting from Drive" without a specific file, use ask_user to get the file ID or link.
Search for a prep file matching the meeting date:
vault_search(query: "prep", entry_type: "meeting", tags: ["prep"])
If prep exists:
If the transcript is very long (appears to be 20+ minutes of conversation), offload it to a context keeper:
context_offload(topic: "meeting-transcript-{date}", content: ...)
This preserves the full transcript at high fidelity without consuming your context window.
Read through and identify:
Attendees — who spoke in the meeting
Decisions — commitments to a course of action. Look for:
For each decision, assess:
Action items — be thorough. Look for ALL of these patterns:
Key discussion points — topics that got meaningful airtime
Summary — 2-3 sentence overview
This is a shared company vault. Apply judgment about what belongs in shared records.
Auto-redact (do it, no confirmation needed):
Flag for user confirmation (use ask_user):
Omit entirely (don't even flag):
When redacting, think holistically about context. A single-line gap surrounded by reactions is worse than no redaction — remove the full exchange.
vault_create_entry(entry_type: "meeting", ...) with full extracted contentvault_create_entry(entry_type: "decision", ...) — creates DR-YYYY-NNN automaticallydecision_log(node_type: "decision", ...) — adds to the live decision graph with confidence scorevault_link(source_path: meeting, target_path: decision, link_type: "decides")vault_kanban(action: "add", ...) for each task, linked to the meetingIf a prep file existed:
vault_update_entry to check off covered topics (- [ ] to - [x])processed: true to frontmattervault_dashboard(dashboard_type: "activity") then use the result to update the index entry.
Summarize what was created: