Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Sync and manage CardDAV contacts (Google, iCloud, Nextcloud, etc.) using vdirsyncer + khard.
Sync and manage CardDAV contacts (Google, iCloud, Nextcloud, etc.) using vdirsyncer + khard.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
vdirsyncer syncs CardDAV contacts to local .vcf files. khard reads and manages them via CLI.
Always sync before querying to ensure you have the latest contacts: vdirsyncer sync
If configured with default_action = list (standard), you can search directly without subcommands: khard "john" # Search for "john" in all fields khard "pilar" # Search for "pilar"
Use list if you need specific flags or if the implicit search doesn't match your config. khard list # List all contacts khard list "john" # Search explicitly khard list -a work # List only from 'work' address book khard list -p # Parsable output (tab-separated)
khard show "john doe" # Show details (pretty print) khard show --format yaml "john" # Show as YAML (good for editing)
Extract specific info (great for piping): khard email "john" # List emails only khard phone "john" # List phone numbers only khard postaddress "john" # List postal addresses
khard new # Create new contact (interactive editor) khard edit "john" # Edit contact (interactive editor) khard remove "john" # Delete contact khard move "john" -a work # Move to another address book
[pair google_contacts] a = "google_contacts_remote" b = "google_contacts_local" collections = ["from a", "from b"] conflict_resolution = "a wins" [storage google_contacts_remote] type = "carddav" url = "https://www.googleapis.com/.well-known/carddav" username = "your@email.com" password.fetch = ["command", "cat", "~/.config/vdirsyncer/google_app_password"] [storage google_contacts_local] type = "filesystem" path = "~/.local/share/vdirsyncer/contacts/" fileext = ".vcf"
Critically, set default_action = list to enable quick search. [addressbooks] [[google]] path = ~/.local/share/vdirsyncer/contacts/default/ [general] default_action = list editor = vim merge_editor = vimdiff [contact table] display = formatted_name sort = last_name
mkdir -p ~/.local/share/vdirsyncer/contacts vdirsyncer discover google_contacts vdirsyncer sync
Messaging, meetings, inboxes, CRM, and teammate communication surfaces.
Largest current source with strong distribution and engagement signals.