diff --git a/skills/lead-intelligence/SKILL.md b/skills/lead-intelligence/SKILL.md index 634448b8..6ac8fc81 100644 --- a/skills/lead-intelligence/SKILL.md +++ b/skills/lead-intelligence/SKILL.md @@ -1,6 +1,6 @@ --- name: lead-intelligence -description: AI-native lead intelligence and outreach pipeline. Replaces Apollo, Clay, and ZoomInfo with agent-powered signal scoring, mutual ranking, warm path discovery, and personalized outreach. Use when the user wants to find, qualify, and reach high-value contacts. +description: AI-native lead intelligence and outreach pipeline. Replaces Apollo, Clay, and ZoomInfo with agent-powered signal scoring, mutual ranking, warm path discovery, source-derived voice modeling, and channel-specific outreach across email, LinkedIn, and X. Use when the user wants to find, qualify, and reach high-value contacts. origin: ECC --- @@ -24,9 +24,11 @@ Agent-powered lead intelligence pipeline that finds, scores, and reaches high-va - **X API** — Follower/following graph, mutual analysis, recent activity (`X_BEARER_TOKEN`, `X_ACCESS_TOKEN`) ### Optional (enhance results) -- **LinkedIn** — Via browser-use MCP or direct API for connection graph +- **LinkedIn** — Direct API if available, otherwise browser control for search, profile inspection, and drafting - **Apollo/Clay API** — For enrichment cross-reference if user has access - **GitHub MCP** — For developer-centric lead qualification +- **Apple Mail / Mail.app** — Draft cold or warm email without sending automatically +- **Browser control** — For LinkedIn and X when API coverage is missing or constrained ## Pipeline Overview @@ -37,6 +39,40 @@ Agent-powered lead intelligence pipeline that finds, scores, and reaches high-va └─────────────┘ └──────────────┘ └─────────────────┘ └──────────────┘ └─────────────────┘ ``` +## Voice Before Outreach + +Do not draft outbound from generic sales copy. + +Before writing a message, build a voice profile from real source material. Prefer: + +- recent X posts and threads +- published articles, memos, or launch notes +- prior outreach emails that actually worked +- docs, changelogs, or product writing if those are the strongest signals + +If live X access is available, pull recent original posts before drafting. If not, use supplied examples or the best repo/site material available. + +Extract: + +- sentence length and rhythm +- how compressed or explanatory the writing is +- how parentheses are used +- whether capitalization is conventional or situational +- how often questions are used +- phrases or transitions the author never uses + +For Affaan / ECC style specifically: + +- direct, compressed, concrete +- strong preference for specifics, mechanisms, and receipts +- parentheticals are for qualification or over-clarification, not jokes +- lowercase is optional, not mandatory +- no fake curiosity hooks +- no "not X, just Y" +- no "no fluff" +- no LinkedIn thought-leader cadence +- no bait question at the end + ## Stage 1: Signal Scoring Search for high-signal people in target verticals. Assign a weight to each based on: @@ -192,39 +228,101 @@ For each qualified lead, pull: ## Stage 5: Outreach Draft -Generate personalized outreach for each lead. Two modes: +Generate personalized outreach for each lead. The draft should match the source-derived voice profile and the target channel. + +### Channel Rules + +#### Email + +- Use for the highest-value cold outreach, warm intros, investor outreach, and partnership asks +- Default to drafting in Apple Mail / Mail.app when local desktop control is available +- Create drafts first, do not send automatically unless the user explicitly asks +- Subject line should be plain and specific, not clever + +#### LinkedIn + +- Use when the target is active there, when mutual graph context is stronger on LinkedIn, or when email confidence is low +- Prefer API access if available +- Otherwise use browser control to inspect profiles, recent activity, and draft the message +- Keep it shorter than email and avoid fake professional warmth + +#### X + +- Use for high-context operator, builder, or investor outreach where public posting behavior matters +- Prefer API access for search, timeline, and engagement analysis +- Fall back to browser control when needed +- DMs and public replies should be much tighter than email and should reference something real from the target's timeline + +#### Channel Selection Heuristic + +Pick one primary channel in this order: + +1. warm intro by email +2. direct email +3. LinkedIn DM +4. X DM or reply + +Use multi-channel only when there is a strong reason and the cadence will not feel spammy. ### Warm Intro Request (to mutual) -``` -hey [mutual name], -quick ask. i see you know [target name] at [company]. -i'm building [your product] which [1-line relevance to target]. -would you be open to a quick intro? happy to send you a -forwardable blurb. +Goal: -[your name] -``` +- one clear ask +- one concrete reason this intro makes sense +- easy-to-forward blurb if needed + +Avoid: + +- overexplaining your company +- social-proof stacking +- sounding like a fundraiser template ### Direct Cold Outreach (to target) -``` -hey [target name], -[specific reference to their recent work/post/announcement]. -i'm [your name], building [product]. [1 line on why this is -relevant to them specifically]. +Goal: -[specific low-friction ask]. +- open from something specific and recent +- explain why the fit is real +- make one low-friction ask -[your name] -``` +Avoid: -### Anti-Patterns (never do) -- Generic templates with no personalization -- Long paragraphs explaining your whole company -- Multiple asks in one message -- Fake familiarity ("loved your recent talk!" without specifics) -- Bulk-sent messages with visible merge fields +- generic admiration +- feature dumping +- broad asks like "would love to connect" +- forced rhetorical questions + +### Execution Pattern + +For each target, produce: + +1. the recommended channel +2. the reason that channel is best +3. the message draft +4. optional follow-up draft +5. if email is the chosen channel and Apple Mail is available, create a draft instead of only returning text + +If browser control is available: + +- LinkedIn: inspect target profile, recent activity, and mutual context, then draft or prepare the message +- X: inspect recent posts or replies, then draft DM or public reply language + +If desktop automation is available: + +- Apple Mail: create draft email with subject, body, and recipient + +Do not send messages automatically without explicit user approval. + +### Anti-Patterns + +- generic templates with no personalization +- long paragraphs explaining your whole company +- multiple asks in one message +- fake familiarity without specifics +- bulk-sent messages with visible merge fields +- identical copy reused for email, LinkedIn, and X +- platform-shaped slop instead of the author's actual voice ## Configuration @@ -264,5 +362,5 @@ Agent workflow: 3. enrichment-agent pulls company data and recent activity 4. outreach-drafter generates personalized messages for top ranked leads -Output: Ranked list with warm paths and draft outreach for each +Output: Ranked list with warm paths, voice profile summary, and channel-specific outreach drafts or drafts-in-app ```