agentsclimarketplace

Screenshot to vcard

Skill threefold-solutions/church-skills/claude-ai-skills/screenshot-to-vcard

Convert any screenshot containing contact information into a downloadable vCard (.vcf) file. Trigger this skill whenever a user uploads any screenshot — from Planning Center, a CRM, a website, a LinkedIn profile, an email signature, a business card photo, or any other source — and wants to convert it into a contact, vCard, or shareable address book card. Trigger on phrases like "turn this into a contact", "make a vCard", "convert this screenshot", "grab their contact info", "I want to share this person's info", "generate a contact card", or any time a screenshot is uploaded and contact info is mentioned. Works with any app or source — not just Planning Center. Extracts name, email, phone, and address, confirms with the user which fields to include, then generates a ready-to-send .vcf file.From its SKILL.md

Install
npx -y skills add threefold-solutions/church-skills --skill screenshot-to-vcard

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.5 KB, 952 tokens by cl100k_base, as published. Nobody here has run it

Screenshot to vCard

Converts any screenshot containing contact information into a downloadable vCard (.vcf) file — ready to text, email, or AirDrop.

Works with screenshots from any source: Planning Center, Church Management Systems, CRMs, LinkedIn, websites, email signatures, business card photos, and more.


Step 1: Extract Contact Data from the Screenshot

Visually scan the screenshot and extract every contact field that is clearly visible. Look for:

FieldCommon appearances
Full NameHeader text, bold name, profile name
Email(s)Any @domain.com address, labeled or unlabeled
Phone(s)Any phone number, labeled mobile/cell/home/work or unlabeled
Address(es)Street address, city, state, zip — may be single or multi-line
Organization / TitleCompany name, job title, church role
WebsiteAny URL associated with the person

Rules:

  • Do NOT guess or infer fields that aren't visible
  • Do NOT make up or autocomplete partial data
  • If a field label is visible (home, work, mobile, etc.), capture it
  • If multiple values exist for a field type, capture all of them

Step 2: Present Extracted Data and Ask Which Fields to Include

After extracting, show a clean summary:

Here's what I found:

- Name: [Full Name]
- Email: [email] ([label if present])
- Phone: [number] ([label if present])
- Address: [full address]

Which fields would you like in the vCard?

Then use ask_user_input_v0 with a multi_select question. List each found field as its own option so the user can pick exactly what to include. Wait for their selection before proceeding.


Step 3: Generate the vCard File

Build a .vcf file using vCard 3.0 format based on selected fields only.

vCard 3.0 Template

BEGIN:VCARD
VERSION:3.0
FN:[Full Name]
N:[Last];[First];;;
EMAIL;TYPE=[HOME|WORK]:[email]
TEL;TYPE=[CELL|HOME|WORK]:[phone]
ADR;TYPE=[HOME|WORK]:;;[Street];[City];[State];[Zip];[Country]
ORG:[Organization]
TITLE:[Job Title]
URL:[Website]
END:VCARD

Field mapping:

  • Email label "home" → TYPE=HOME, "work" → TYPE=WORK, unlabeled → TYPE=INTERNET
  • Phone label "mobile" or "cell" → TYPE=CELL, "home" → TYPE=HOME, "work" → TYPE=WORK, unlabeled → TYPE=VOICE
  • Address label "home" → TYPE=HOME, "work" → TYPE=WORK, unlabeled → TYPE=HOME
  • Multiple emails or phones → one line per entry
  • If no country visible, default to United States
  • Only include lines for fields the user selected

Name parsing:

  • "First Last" → N:Last;First;;;
  • Middle name present → N:Last;First;Middle;;
  • Single name only → N:[Name];;;;

Save the File

Save to /mnt/user-data/outputs/[firstname_lastname].vcf

Use lowercase with underscores. If name has more than two parts, use first and last only in the filename.


Step 4: Present and Briefly Explain Sharing Options

After generating, use present_files to surface the file, then add one short line about sharing — text/email the file, AirDrop if nearby, or tap to import into their own contacts. Keep it brief.


Edge Cases

  • No name visible: Use whatever identifier is present (username, email prefix, etc.) as FN; skip the N field
  • Name only: Still generate — a minimal vCard is still useful
  • Partial address: Include what's visible; leave missing ADR subfields blank
  • Business card photo: Treat the same as any screenshot — extract what's readable
  • Low-res or blurry: Extract what can be confidently read; flag any uncertain fields before confirming with the user
  • Non-Latin characters: Preserve them as-is in the vCard
  • Multiple people in one screenshot: Ask which person they want the vCard for before extracting

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,499. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.