contact-vcard-extractor

Extract contact fields from text or images and generate importable vCard .vcf files.

1|Updated Jun 20, 2026
One-click install
npx skills add https://github.com/riipandi/minis-skills --skill contact-vcard-extractor-riipandi
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: contact-vcard-extractor
Source: https://github.com/riipandi/minis-skills/tree/main/contact-vcard-extractor
Command: npx skills add https://github.com/riipandi/minis-skills --skill contact-vcard-extractor-riipandi

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires Pillow, and includes scripts (resource) components.

What problem does it solve? Manually retyping contact details from business cards, chat screenshots, or pasted text into a phone is error-prone and slow. This Skill parses names, phones, emails, companies, titles, addresses, and websites from messy input, lets the user confirm the fields, and produces a standard .vcf vCard ready to import into iOS Contacts or share. ## Core Features & Use Cases - Multi-source extraction: Parse contact info from plain text, OCR results of business card photos or screenshots (via apple-vision), and QR codes (MECARD, vCard, tel:, mailto:). - Clean vCard generation: A bundled Python script normalizes phone numbers (all exported as TEL;TYPE=CELL), escapes vCard fields, splits Chinese and Western names, and writes standards-compliant .vcf files. - Confirmation-first workflow: Extracted fields are shown for user review with uncertain values flagged before any file is generated; contacts are never imported directly without explicit confirmation. - Use Case: A user photographs a business card at a conference. The Skill OCRs the image, extracts the name, two phone numbers, email, and company, presents them in a table for confirmation, then outputs a shareable .vcf link. ## Quick Start Extract the contact information from this business card photo and generate a vCard file I can import into my phone.

Frequently Asked Questions about contact-vcard-extractor

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I convert business card photos into vCard contacts?

Run OCR on the card image first (for example apple-vision ocr), then pass the recognized text to the contact_to_vcard.py script with --text-file and --out. It parses fields like name, phone, and email and writes a .vcf file you can import into Contacts.

How do I generate a .vcf file from plain text in Python?

Use the bundled contact_to_vcard.py script with --text or --text-file, or pipe text via stdin. It extracts phones, emails, URLs, and labeled fields, then writes a vCard 3.0 file to the path given by --out, optionally printing parsed JSON with --json.

Can QR codes be turned into contact cards?

Yes. Decode the QR code first (e.g., apple-vision barcode). If the payload is BEGIN:VCARD it can be saved directly as .vcf; MECARD, tel:, and mailto: payloads need conversion into vCard fields before writing the file.

Why do phone labels like 'reception' or 'mobile' break vCard imports?

The TEL field must contain only the number itself; labels appended to the number cause parsing issues in Contacts apps. Put each number in its own TEL;TYPE=CELL entry and move labels into the NOTE field or the display summary instead.

What are the limitations of rule-based contact extraction?

Regex and label-based parsing struggles with low-quality OCR, unusual layouts, and ambiguous lines such as names that look like addresses. For messy input, manually review and correct the extracted fields before generating the final vCard.