Help us improve
Share bugs, ideas, or general feedback.
From founder-os
Converts meeting transcripts, email threads, and documents into structured Notion tasks. Activates when the user pastes text and wants action items extracted, asks 'what tasks are in this?', or needs to parse any content for to-dos, assignments, and commitments. Handles verb detection, owner inference, deadline parsing, and duplicate checking against HQ Tasks.
npx claudepluginhub thecloudtips/founder-os --plugin founder-osHow this skill is triggered — by the user, by Claude, or both
Slash command
/founder-os:action-extractionThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Analyze text content from meeting transcripts, email threads, or documents to extract structured action items. Convert every detected action into a task containing a title, description, owner, deadline, priority, source type, and source title. Process the text systematically: detect the source type, scan for actionable verb patterns, infer ownership, parse deadlines, assign priority, and check ...
Extracts action items from meeting notes and adds them to a to-do file, separating your tasks from others'. Trigger with /meeting-todos or after a meeting.
Extracts key decisions, takeaways, action items with DRIs, and open questions from meeting transcripts, notes, or Slack threads. Handles single meetings or weekly batches.
Extracts action items, commitments, assignments, and follow-ups from Fireflies meeting transcripts for all attendees (default) or a specific person using parallel subagents and MCP tools.
Share bugs, ideas, or general feedback.
Analyze text content from meeting transcripts, email threads, or documents to extract structured action items. Convert every detected action into a task containing a title, description, owner, deadline, priority, source type, and source title. Process the text systematically: detect the source type, scan for actionable verb patterns, infer ownership, parse deadlines, assign priority, and check for duplicates before creating Notion tasks.
Identify the source type from content patterns before extraction begins:
Meeting Transcript — Contains speaker labels (Speaker 1:, John:), timestamps ([00:15:30]), turn-taking patterns, or keywords like "meeting notes", "transcript", "minutes". Look for action-assignment patterns: "AI:", "Action Item:", "Next steps:", "[Name] to...", "[Name] will...".
Email — Contains header patterns (From:, To:, Subject:, Date:), forwarding markers (---------- Forwarded message ----------), reply chains (On [date], [person] wrote:), or signature blocks. Process the most recent message first; earlier messages may contain resolved items.
Document — General text without transcript or email markers. May contain structured lists, headings, bullet points, or task-oriented sections. Treat any actionable language as a candidate.
Other — When no clear pattern matches, default to "Other" and apply general extraction rules.
Scan text in three passes — one per category — and collect all matches before deduplicating.
Strong indicators of an action item. Extract immediately upon detection:
Polite or indirect phrasing concealing genuine requests. Convert to an explicit action verb:
When an implicit action lacks a clear verb, default to "Follow up on [topic]".
Promises or commitments that represent obligations:
For meeting transcripts, also detect:
Produce one structured object per detected action:
"user" for the current user. Use the person's name for others.null. Apply Deadline Parsing rules.Evaluate in order. Stop at the first match:
owner: "user".owner: "user" and add note: "Requires delegation — assign to appropriate team member."owner: "user".owner: "user". Add to description: "Owner unclear from context — verify assignment."Never leave the owner field empty. Every action item must have an assigned owner.
Parse any recognizable date format: "January 15, 2025", "Jan 15", "1/15/2025", "2025-01-15", "next Monday", "this Thursday", "the 15th", "by the 20th". Convert all to ISO format (YYYY-MM-DD). When only a day is mentioned without a month, assume the next future occurrence.
Convert urgency phrases to concrete dates relative to the current date:
| Phrase | Deadline |
|---|---|
| "ASAP", "immediately", "urgent" | Today |
| "today", "EOD", "COB" | Today |
| "tomorrow", "first thing tomorrow" | Tomorrow |
| "this week", "EOW", "before the weekend" | Coming Friday |
| "next week", "early next week" | Next Monday |
| "end of month", "EOM" | Last day of current month |
| "in [N] days" | Today + N days |
| "in [N] weeks" | Today + N*7 days |
When no temporal language appears: set deadline: null. Append to description: "No deadline specified — set manually based on priority."
Never fabricate a deadline. Only assign a date when text provides explicit or implicit temporal information.
Assign priority 1-5 based on these signals:
When multiple signals conflict, use the highest priority indicator.
Before creating a Notion task, check for existing duplicates:
Type = "Action Item" to avoid false positives against Follow-Ups or Email Tasks from other plugins.source_type, source_title, and context across items from one source.deadline: null and priority 1. Add: "Vague request — clarify scope and timeline."Type = "Action Item"Source Plugin = "Action Extractor"Contact relation. If a matching company is found via the contact's company or email domain, populate the Company relation. To match, search the "[FOS] Contacts" database by owner name (case-insensitive). If no match is found, leave both relations empty — never error on a failed CRM lookup.If Notion MCP is unavailable, output extracted action items as structured text in chat. Include all fields. Warn: "Notion unavailable — displaying results in chat. Tasks were not saved to Notion."