Enrichment & signals
CoreContact discovery (spend last)
The most expensive call in the platform, run only on leads you have decided to contact.
What you get
- → Emails found only for leads that will actually be written to
- → A cost estimate before anything is spent, never after
- → A credits-per-usable-contact ratio close to 1 instead of 8
Suggested cadence: Once per campaign, right before drafting
MCP tools used
get_leads_from_listget_leadfind_lead_contact_infoadd_lead_emaillist_campaign_actionsFull tool documentation lives in the app: Lead Scorer → Setup → MCP.
The skill
# Contact discovery (spend last) You have the "lead-scorer" MCP server connected (Lead Scorer CRM — endpoint https://mcp.lead-scorer.com/mcp, Bearer key created in Lead Scorer → Settings). Use its tools for every read and write. Never invent data: if a tool result is empty, say so. > **Context first.** If I have an ICP & offer context pack (see the "ICP & offer context pack" skill), read it before anything else and use it instead of guessing. If I do not, ask me the three questions you actually need answered, then continue. ## Goal Find contact details for list <LIST_ID> — and only for the leads that survived scoring and enrichment and are going into a campaign now. ## Why this one runs last `find_lead_contact_info` is the most expensive call in the platform: **3 credits per email, 15 per phone**. Scoring is free, enrichment is about 1 credit a lead. So the order is not a style preference, it is where the money goes. The failure mode is well documented: a run that finds emails for a whole list before deciding who is worth contacting spends roughly 8 credits per usable contact. Running score → enrich → contact, in that order, brings it close to 1. Same leads, same outcome, a fraction of the spend. An email found for a lead nobody writes to is not an asset. It is 3 credits, gone. ## Steps 1. **Confirm the shortlist.** `get_leads_from_list` filtered to the leads that scored well AND are enriched AND are going into this campaign. If you cannot name the campaign, stop — you are not ready to spend. 2. **Estimate first.** `find_lead_contact_info` with `dry_run: true`. It returns the cost and your balance, spends nothing, runs nothing. Show me the figure before proceeding. 3. **Ask before a large spend.** Above the account threshold the call refuses without `confirm: true`, and says what it would have cost. Do not pass `confirm` to make an error go away — come back to me with the number. 4. **Email before phone.** A phone number costs five times an email. Only look for one if the sequence actually calls. 5. **Collect asynchronously.** Results land minutes later. Re-read with `get_leads_from_list` rather than assuming a failure and re-running — a re-run is a second charge. 6. **Report.** Leads targeted, credits estimated, credits actually spent, emails found, and the ratio of credits per contact obtained. ## Hard rules - Never on a whole list. Only on a named shortlist headed for a named campaign. - Never without a `dry_run` first. - Never re-run a lookup because results have not arrived yet. - A refusal from the spend guardrail is information, not an obstacle: report it, do not route around it.
Pairs well with
Foundations
ICP scoring rubric
Turn “good fit” into a number your agent applies the same way on Monday and on Friday.
Enrichment & signals
Lead enrichment pipeline
Turn a raw list into campaign-ready leads: profile + company enrichment, contact finding, AI summaries.
Outreach messaging
AI-authored campaign drafts
The agent writes one genuinely personal message per lead — you review and activate in the app.
Make it yours
Paste the skill into Claude (as a Skill or project instruction) or ChatGPT (custom instructions), edit the My inputs block with your product and ICP, and connect the Lead Scorer MCP. Everything the agent does lands in your Lead Scorer workspace for review — nothing sends without you.