Instructions
Run this only when personalization matters more than volume. For routine outreach, the Company brief is enough — don't pay the cost of a deep person research pass.
Step 1 — Check what you already have
Cheap before expensive:
swan-search-companiesand pull any existing contact records in Swan for the person.- If a CRM is connected, search the CRM for the contact by email or LinkedIn URL — prior reps may have notes.
swan-get-memory(org + company memory) — past briefs on this person may exist.
If a prior dossier exists and is < 30 days old, use it as the base. Refresh only what's stale.
Step 2 — Enrich the structured profile
swan-enrich-contact with the LinkedIn URL or email. Returns role, tenure, work history, location, education. Cheap, fast, structured.
If the contact has no LinkedIn URL yet, run swan-enrich-email first to find the work email, then enrich.
Step 3 — LinkedIn presence and recent activity
swan-linkedin-social-media-presence on the profile. From the returned posts, decide in 3–5 lines:
- Active or dormant? (volume in last 90 days)
- What do they post about? (themes, one line)
- What kinds of posts get traction? (engagement skew)
- Any clear signals: hiring announcements, product launches, public opinions on competitors, problem statements.
Don't dump every post — keep the take tight.
Step 4 — Mention pattern on the web
swan-fetch-scraped-url on a Google search like "<full name>" <company> to find press, podcasts, talks, GitHub, personal blog. Aim for 1–3 high-signal sources, not exhaustive.
What you're looking for:
- Public talks → topics they care about, recurring themes
- Press quotes → official positioning
- Podcasts → unfiltered priorities and pet peeves
- Personal site or substack → strongest signal of how they think
If nothing useful surfaces after 2 fetches, stop — they're a low-public-profile person and you've learned that.
Step 5 — Work history pattern
From the enrichment payload, look at the last 3–4 roles. Flag:
- Tenure — long stints (3+ years) suggest a builder; short stints suggest a fixer or mover.
- Industry stickiness — same vertical for 10+ years signals deep domain identity.
- Company size trajectory — startup → enterprise or vice versa signals the environment they choose.
- Co-workers — prior managers or peers who may be mutual connections.
One line per pattern. Don't theorize beyond what the data says.
Step 6 — Mutual connection check
swan-get-org-senders to list connected senders. Surface obvious overlap — same prior company, same school, geo, shared LinkedIn 1st-degree connection. Often the warmest entry point.
Step 7 — Compose the dossier
<Full name> — <Title> at <Company>
ROLE
- one line on scope and reports.
CAREER ARC
- one line per pattern from Step 5.
RECENT ACTIVITY
- 3–5 bullets from LinkedIn + web.
WHAT THEY CARE ABOUT
- inferred priorities, evidence-backed.
WARM PATHS IN
- mutual connections, shared background, recent engagements.
OUTREACH ANGLE
- one sentence on the highest-signal hook.
End with "Confidence: high / medium / low — based on signal density."
Rules
- MUST cite evidence per claim. "Active on LinkedIn" alone is not enough; "12 posts in last 30 days, avg 200 reactions" is.
- MUST stop at Step 4 if web research surfaces nothing after 2 fetches. Don't burn credits on a low-public-profile person.
- NEVER invent quotes, beliefs, or priorities not present in the source.
- NEVER use this for volume outreach. Use the lighter
Companybrief instead. - If a tool result is truncated, read the JSON from
files/tool-outputs/<toolName>_<callId>.jsoninswan-execute-code.