From communications
Convert any screenshot containing contact information into a downloadable vCard (.vcf) file. Trigger whenever the user shares a 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 turn 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 shared and contact info is mentioned. Works with any app or source — not just Planning Center.
How this skill is triggered — by the user, by Claude, or both
Slash command
/communications:screenshot-to-vcardThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Convert any screenshot containing contact information into a downloadable vCard (`.vcf`) file — ready to text, email, or AirDrop.
Convert 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.
Visually scan the screenshot the user shared and extract every contact field that is clearly visible. Look for:
| Field | Common appearances |
|---|---|
| Full Name | Header 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 / Title | Company name, job title, church role |
| Website | Any URL associated with the person |
Rules:
Show a clean summary of what you found, then use AskUserQuestion with multiSelect: true to let the user pick exactly which fields to include in the vCard. List each found field as its own option.
Example summary before asking:
Here's what I found:
- Name: Jane Doe
- Email: [email protected] (work)
- Phone: 555-123-4567 (mobile)
- Address: 123 Main St, Springfield, IL 62701
Wait for the user's selection before proceeding. If the user shared a screenshot containing multiple people, ask which person first.
Build a .vcf file using vCard 3.0 format based on the selected fields only.
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:
home → TYPE=HOME; work → TYPE=WORK; unlabeled → TYPE=INTERNETmobile or cell → TYPE=CELL; home → TYPE=HOME; work → TYPE=WORK; unlabeled → TYPE=VOICEhome → TYPE=HOME; work → TYPE=WORK; unlabeled → TYPE=HOMEUnited States.Name parsing:
First Last → N:Last;First;;;N:Last;First;Middle;;N:[Name];;;;Save to the user's Downloads folder using the Write tool:
~/Downloads/[firstname_lastname].vcf
Use lowercase with underscores. If the name has more than two parts, use first and last only in the filename. If the user is on a system without ~/Downloads/, fall back to the current working directory.
After writing the file, tell the user:
.vcf file.Keep it brief — no long explanations.
FN; skip the N field.ADR subfields blank.Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub threefold-solutions/church-skills --plugin communications