| name | fullenrich-network-activation |
| description | Use when the user says "activate co-founder network with FullEnrich", "enrich LinkedIn connections export", "qualify my LinkedIn connections CSV", "turn Connections.csv into a lead list", "FullEnrich network activation", or any variant indicating they want to convert a LinkedIn personal-network CSV export into ICP-qualified leads with FullEnrich-verified emails and phones. Reads the LinkedIn Data Export Connections.csv, applies an ICP filter, then enriches missing contact info via FullEnrich v2 with webhook callback delivery. |
| version | 2.0.0 |
FullEnrich Network Activation
The most underused asset for new GTM operators: every co-founder's and team member's LinkedIn network. This skill turns a LinkedIn Connections.csv export into a ranked, ICP-qualified, contact-enriched list ready for the SDR queue.
When This Skill Applies
- "activate co-founder network with FullEnrich"
- "enrich LinkedIn connections export"
- "qualify my LinkedIn connections CSV"
- "turn Connections.csv into a lead list"
What This Skill Does NOT Do
- Does not download the export. Each user must click "Get a copy of your data → Connections" in LinkedIn settings.
- Does not push to a CRM.
- Does not spend credits without explicit user approval. See "Credit safety contract" below.
Credit safety contract (MANDATORY)
This skill spends FullEnrich credits, which cost real money. Safeguards:
- Always shows current balance before doing anything.
- Always shows estimated cost of the run.
--max-credits N ceiling (default 500) — auto-trims the qualified list to fit.
- Hard-approval prompt — blocks on stdin until the user types
yes. Non-TTY without --yes aborts.
--dry-run mode — parses + ICP-filters without spending a credit.
When Claude invokes this skill on a user's behalf:
- ALWAYS run with
--dry-run first.
- Quote the EXACT estimated credit cost back to the user.
- WAIT for explicit user confirmation before re-running without
--dry-run.
- Only pass
--yes after the user has approved.
- Exception: respect locally modified scripts.
Prerequisites
FULLENRICH_API_KEY= # https://app.fullenrich.com/app/api
Optional:
FULLENRICH_WEBHOOK_URL= # public URL for callbacks; otherwise webhook.site fallback
Workflow
- Validate inputs — accept the path to
Connections.csv as the first positional arg.
- Parse LinkedIn's CSV — handle the file's odd header (a "Notes:" preamble before the actual header row), tolerant of whitespace and BOM.
- Apply ICP filter — load
config/icp.json (same format as fullenrich-content-engagers), score each connection on Position + Company, drop everything below the threshold.
- Estimate cost + confirm — show the cost preview, block on stdin for
yes.
- Enrich — chunk into ≤100 contacts per FullEnrich bulk request with
enrich_fields: ["contact.work_emails", "contact.phones"], requesting Triple Email Verification.
- Receive callbacks — webhook payloads land within ~30s per batch.
- Write outputs —
priority-network.csv (ICP-passed + enriched, ranked by score) and priority-network-disqualified.csv (failed ICP, with reasons).
CLI Reference
node scripts/run.mjs <path/to/Connections.csv>
[--out path.csv] # default priority-network.csv
[--icp config/icp.json] # ICP rules file
[--threshold 50] # ICP minimum score (0-100)
[--max-credits <N>] # hard credit ceiling (default 500)
[--dry-run] # parse + ICP + cost preview, no spending
[--yes | -y] # skip the interactive approval prompt
Reference
- Shared API client:
./scripts/lib/fullenrich-client.mjs
- Shared webhook receiver:
./scripts/lib/fullenrich-webhook.mjs
- Shared CSV reader/writer:
./scripts/lib/csv.mjs
- ICP scorer:
./scripts/icp.mjs
- FullEnrich v2 docs:
https://docs.fullenrich.com/llms.txt
Sourcing the Connections.csv
In LinkedIn:
- Settings & Privacy → Data privacy → Get a copy of your data
- Select "Connections" only
- Wait for the email (10-20 min). Download the zip.
- Unzip and use
Connections.csv as input to this skill.