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.
From founder-osnpx claudepluginhub thecloudtips/founder-os --plugin founder-osThis skill uses the workspace's default tool permissions.
Designs and optimizes AI agent action spaces, tool definitions, observation formats, error recovery, and context for higher task completion rates.
Enables AI agents to execute x402 payments with per-task budgets, spending controls, and non-custodial wallets via MCP tools. Use when agents pay for APIs, services, or other agents.
Compares coding agents like Claude Code and Aider on custom YAML-defined codebase tasks using git worktrees, measuring pass rate, cost, time, and consistency.
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."