Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add toflow-ai/toflow-mcp --skill toflow-enrich-contactsgit clone --depth 1 https://github.com/toflow-ai/toflow-mcpWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/toflow-ai/toflow-mcp/toflow-enrich-contacts)<a href="https://agentmods.dev/skills/toflow-ai/toflow-mcp/toflow-enrich-contacts"><img src="https://agentmods.dev/badge/skills/toflow-ai/toflow-mcp/toflow-enrich-contacts/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/toflow-ai/toflow-mcp/toflow-enrich-contacts"><img src="https://agentmods.dev/badge/skills/toflow-ai/toflow-mcp/toflow-enrich-contacts.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00070 | $0.00787 |
| Opus 5.5 | $0.00028 | $0.00315 |
| Sonnet 5.5 | $0.00014 | $0.00157 |
| Haiku 4.5 | $0.00007 | $0.00079 |
Grade A, and why
toflow-enrich-contacts scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 39 lines — stays where its author put it; the contents beside it link to each section on GitHub.
toflow — Enrich Contacts
Get verified contact data before reaching out. Enrichment is asynchronous for phone/email lookups — expect to poll for results.
Single person — email/phone
- If you only have a LinkedIn URL and no CRM record yet, call
enrich_person_by_linkedinfirst — it gets-or-creates the person and returns name, title, company, location, and any available contact data. Results are cached, so a recently-enriched person returns immediately. - For a verified email: call
enrich_person_emailwith the person's CRM ID. If the result is pending, poll withget_person_enrichment_status. - For a phone number: call
enrich_person_phonethe same way, polling withget_person_enrichment_statusif pending. - Always enrich email before enrolling someone in a sequence that includes email steps — don't enroll on a guess.
Bulk (a whole list)
- Call
estimate_bulk_enrich_listfirst and show the user the credit cost — always confirm before spending credits on a large batch. - Call
bulk_enrich_listwith the list ID and enrichment type (email or phone). - To enrich specific people rather than a whole list, use
bulk_enrich_emails/bulk_enrich_phoneswith a set of CRM person IDs instead of loopingenrich_person_emailone at a time. - Poll completion with
get_bulk_enrichment_status, passing the task IDs returned by the bulk call.
AI enrichment (custom, derived fields)
Use this when the user wants something beyond email/phone — e.g. deriving a company's tech stack, a person's likely pain point, or any field the standard enrichment tools don't cover.
- Call
get_ai_enrichment_guidebeforecreate_ai_enrichment. Present the model tiers it returns (they trade cost per run for capability — cheapest tier for simple extraction like job title, mid tiers for scoring/classification, a higher tier for ICP-fit/persona research, top tier for complex reasoning) and get the user's explicit choice before drafting any prompts. - Call
list_attributesfor the resource type to find the field the output should write into (target_attribute_id). If no suitable attribute exists, ask the user whether to create one (and what type — text/select/number/boolean) viacreate_attributebefore proceeding. - Call
list_ai_enrichmentsto check whether a similar enrichment already exists before creating a new one. - Show the full draft (model, cost, prompt, every field mapping with its target attribute) and get explicit approval before calling
create_ai_enrichment. - Call
run_ai_enrichmentto execute it,get_ai_enrichmentto inspect a specific enrichment's config/results, andupdate_ai_enrichmentto adjust its prompt or target field.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 39 lines · 70 tokens per session scan A e8f5c53860b3
toflow-enrich-contacts is a skill published in the GitHub repository toflow-ai/toflow-mcp (6 stars, last pushed 5d ago), licensed MIT. It adds 70 tokens to every session and 787 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-10.
Other skills, from other repositories
job-posting-intent
Detect buying intent from job postings. When a company posts a job in your problem area, they've allocated budget and are actively thinking about the problem. This skill finds those companies, qualifies them, extracts personalization context, and outputs everything to a Google Sheet. Does NOT do outreach — just…
ai-cold-email
Generate personalized cold outreach emails using AI.
social-lead-gen
Lead generation from social media — find high-intent buyers in live Twitter, Instagram, and Reddit conversations. Auto-researches your product, generates targeted search queries, and discovers people actively looking for solutions you offer. Social selling and prospecting powered by billions of indexed posts.
end-to-end-leadership-change-signal
Full pipeline from leadership change discovery to outreach-ready campaign. Scans the web for recent executive moves (no company list needed), verifies and enriches via Apollo, evaluates relevance to your product, drafts personalized outreach tuned to the new leader's timing window and background, and packages for your…
end-to-end-news-signal
Full pipeline from news signal discovery to outreach-ready campaign. Scans the web for recent news events — regulation changes, acquisitions, product launches, market shifts, crises, partnerships, earnings, and any other public event — qualifies affected companies against your ICP, identifies the connection between…
end-to-end-funding-signal
Full pipeline from funding signal discovery to outreach-ready campaign. Scans the web for recent funding announcements (no company list needed), qualifies against your company context, finds decision-makers, drafts personalized email sequences, and packages for your outreach tool. Combines funding-signal-monitor and…