wdm0006/evergreen-skills/contact-capture

Claude Code and agent skill by wdm0006/evergreen-skills

Trust tier 3
  • community
Source check pending

Checking that the SKILL.md file is still in the repository.

Parses unstructured text (email signatures, business cards, LinkedIn profiles, meeting notes) into structured Evergreen CRM contacts. Use when adding new contacts from raw text, importing contacts from emails or messages, or batch-creating contacts from event notes.

Install

npx vskill@latest install wdm0006/evergreen-skills/contact-capture

SKILL.md

Smart Contact Capture

Works with Evergreen, a local-first personal CRM for macOS. Get it on the Mac App Store.

When to Use

  • Someone shares a business card or email signature
  • You have raw text with contact details (from a conference, email thread, or LinkedIn)
  • You need to batch-create contacts from meeting notes or an event attendee list
  • You received an introduction email and want to add the new person

How It Works

  1. Parse the unstructured text to extract: name, title, organization, email, phone, location, and any contextual notes
  2. Search existing contacts with search_contacts to check for duplicates
  3. If the contact doesn't exist, create it with create_contact
  4. Add relevant tags via the contact's tags field with update_contact (e.g., "met-at-conference", "investor", "lead")
  5. Record context in the contact's notes field with update_contact (how you met, who introduced you, conversation topics)
  6. If someone introduced you to this new contact, resolve that introducer to an existing contact with search_contacts. If they're already in the CRM, call record_introduction(introducerId, newContactId, notes?) to record the introducedBy edge (who brought this person into your network). Keep the free-text note from step 5 regardless — the edge complements it. If the introducer isn't a known contact, skip the call and rely on the note alone.
  7. If an introduction, log the interaction with log_interaction

Extraction Patterns

SourceWhat to Extract
Email signatureName, title, org, email, phone, address
LinkedIn URLName, headline as title, company as org
Business card textAll fields, watch for multiple phone/email
Meeting notesNames, affiliations, discussion context
Introduction emailBoth parties, relationship context, reason for intro

Example

Input:

Hey, great meeting Sarah Chen at the AI dinner last night. She's the
CTO at Meridian Health, based in Atlanta. Her email is sarah@meridianhealth.com
and she's really interested in our API work. David Kim introduced us.

Actions:

1. search_contacts({ query: "Sarah Chen" }) → no match
2. create_contact({
name: "Sarah Chen",
title: "CTO",
organization: "Meridian Health",
emails: ["sarah@meridianhealth.com"],
location: "Atlanta"
}) → sarah_id
3. update_contact({ contactId: sarah_id, tags: ["ai", "healthcare", "atlanta"] })
4. update_contact({ contactId: sarah_id, notes: "Met at Atlanta AI Dinner. Introduced by David Kim. Interested in our API work." })
5. search_contacts({ query: "David Kim" }) → matches contact david_id
6. record_introduction({ introducerId: david_id, newContactId: sarah_id, notes: "Introduced Sarah at the Atlanta AI Dinner" })
7. log_interaction({ contactId: sarah_id, type: "meeting", description: "Met at Atlanta AI Dinner — discussed API work" })

(If search_contacts finds no match for the introducer, skip step 6 and keep the note from step 4.)

Checklist

Contact Capture:
- [ ] Full name captured in the single `name` field (no first/last split)
- [ ] Duplicate check performed before creating
- [ ] All available fields populated
- [ ] Tags applied for context/source
- [ ] Meeting context saved in notes
- [ ] Introducer edge recorded with `record_introduction` when the intro's source is a known contact
- [ ] Initial interaction logged

Learn More

Security

  • Security scanPassed, 90 of 100Pattern checks on the skill's files.
  • Model reviewPassed

Quality evaluation

  • Task evaluationNot runNo evaluation yet. Run one in Skill Studio.

Source

Popularity

7-day trend score
0

Not refreshed yet.

Works with

Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.

  • Claude Code
  • Cursor
  • GitHub Copilot
  • Windsurf
  • Codex
  • Gemini CLI
  • Cline
  • Amp
  • Roo Code
  • Goose
  • Continue
  • Kilo Code
  • Junie
  • Trae
  • OpenHands
  • Qwen Code
  • AI Agent
  • Tabnine Chat
  • Sourcegraph Cody
  • Amazon Q
  • Firebase Genkit
  • Sweep
  • Devin
  • Phind
  • Mentat
  • Claude Desktop
  • Aider
  • GPT Pilot
  • Plandex
  • bolt.new
  • v0
  • Replit Agent
  • Anse
  • TypingMind
  • BetterChatGPT
  • LibreChat
  • Warp AI
  • Pieces
  • Fig AI
Embed badge
vskill VERIFIED badge
[![vskill VERIFIED](https://verified-skill.com/api/v1/skills/wdm0006/evergreen-skills/contact-capture/badge)](https://verified-skill.com/skills/wdm0006/evergreen-skills/contact-capture)

Something wrong with this skill or its page? Tell us.