
Contacts Management
This handles multi-channel contact management where one person can have SMS, WhatsApp, email, Telegram, and voice channels all tied to a single contact record. You get auto-creation when messaging new recipients, manual CRUD for contacts and their channels, and merge suggestions when duplicates show up. The phone introspection feature is handy: validates numbers, returns carrier info, and tells you which channels are available for that number. Supports TypeScript, Python, Go, Ruby, and PHP. The multi-channel model makes sense if you're building a platform that needs to reach people across different messaging systems without creating duplicate contact records.
- skills.sh installs
- 396
- GitHub stars
- 1
- last updated
- Aug 21, 2026
Install
$ npx -y skills add zavudev/zavu-skills --skill contacts-management --agent claude-codeInstalls into .claude/skills of the current project.
Files
Contacts Management
When to Use
Use this skill when building code to create, update, or manage contacts and their communication channels. Covers the multi-channel contact model, search, merge operations, phone number introspection, and email address validation.
Contact Model
Contacts are multi-channel: one contact can have multiple channels (SMS, WhatsApp, Email, Telegram, Instagram, Messenger, Voice), each with its own identifier and delivery metrics. Top-level fields expose primary identifiers for quick access.
Contact (John Doe)
├── primaryPhone: +14155551234 (E.164)
├── primaryEmail: john@example.com
├── profileName: "John D." (WhatsApp profile name, if available)
├── verified: true
├── countryCode: "US"
└── Channels:
├── SMS: +14155551234 (primary)
├── WhatsApp: +14155551234 (primary)
├── Email: john@example.com (primary)
├── Email: john.work@company.com (label: "work")
├── Telegram: @johndoe
└── Voice: +14155551234
Note: The legacy
phoneNumberfield on Contact is deprecated — useprimaryPhoneinstead.
Sponsors
Details
- Repository
- github.com/zavudev/zavu-skills
- Category
- Git & Pull Requests
- First seen
- Jun 3, 2026