Real IMAP connection via imapflow library: - Connects to IMAP server (IMAPFlow, TLS on port 993) - Fetches recent messages (configurable limit, default 20) - Extracts: from, fromEmail, subject, date, snippet (200 chars) - Thread-to-contact matching (PRD §6.1): 1. Match sender email against persons table 2. If no person match, extract domain and match against company.website 3. Returns matchedCompany + matchedPerson for each email - Audit-logged (action: crm.mailsync:imap) - Zod validated (host, port, user, password, folder, limit) - 502 on IMAP connection failure with detail - 400 on validation failure Tested: invalid creds → 502 'IMAP connection failed', missing host → 400
1.8 KiB
Executable File
1.8 KiB
Executable File
Extract Workflow
Extract dynamic, content-adaptive wisdom from any content source.
Input Sources
| Source | Method |
|---|---|
| YouTube URL | fabric -y "URL" to get transcript |
| Article URL | WebFetch to get content |
| File path | Read the file directly |
| Pasted text | Use directly |
Execution Steps
Step 1: Get the Content
Obtain the full text/transcript. For YouTube, use fabric -y "URL" to extract transcript. Save to a working file if large.
Step 2: Deep Read
Read the entire content. Don't extract yet. Notice:
- What domains of wisdom are present?
- What made you stop and think?
- What's genuinely novel vs. commonly known?
- What would {PRINCIPAL.NAME} highlight if he were reading this?
- What quotes land perfectly?
Step 3: Select Dynamic Sections
Based on your deep read, pick 5-12 section names. Rules:
- Section names must be conversational, not academic
- Each must have at least 3 quality bullets
- Always include "Quotes That Hit Different" if source has quotable moments
- Always include "First-Time Revelations" if genuinely new ideas exist
- Be SPECIFIC — "Agentic Engineering Philosophy" not "Technology Insights"
Step 4: Extract Per Section
For each section, extract 3-15 bullets. Apply tone rules from SKILL.md:
- 8-20 words, flexible for clarity
- Specific details, not vague summaries
- Speaker's words when they're good
- No hedging language
- Every bullet worth telling someone about
Step 5: Add Closing Sections
Always append:
- One-Sentence Takeaway (15-20 words)
- If You Only Have 2 Minutes (5-7 essential points)
- References & Rabbit Holes (people, projects, books, tools mentioned)
Step 6: Quality Check
Run the quality checklist from SKILL.md before delivering.
Step 7: Output
Present the complete extraction in the format specified in SKILL.md.