From officemail
Contacts management via omail CLI — list, search, add, update, delete contacts and list address books. Use when the user asks about contacts, address book, or looking up people.
npx claudepluginhub nextintelligence-ai/officemail-official --plugin officemailThis skill uses the workspace's default tool permissions.
> Works only with the OfficeMail service. Not compatible with other
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
Works only with the OfficeMail service. Not compatible with other contacts providers.
$ARGUMENTS = list → skip to List contacts section$ARGUMENTS = search → skip to Search contacts section$ARGUMENTS = add → skip to Add contact section$ARGUMENTS = get → skip to Get contact details section$ARGUMENTS = addressbooks → skip to Address books section${CLAUDE_PLUGIN_DATA}/omail
${CLAUDE_PLUGIN_DATA}/omail contacts --help
${CLAUDE_PLUGIN_DATA}/omail contacts contactcard get --params '{...}'
${CLAUDE_PLUGIN_DATA}/omail contacts addressbook get --params '{}'
| Command | Description |
|---|---|
+list | List contacts (--addressbook, --page-all) |
+search | Search by name or email (--query) |
+get | Get full details of a single contact |
+add | Add new contact (--name, --email) |
+update | Update contact fields |
+delete | Delete a contact |
+addressbooks | List address books |
${CLAUDE_PLUGIN_DATA}/omail contacts +list
${CLAUDE_PLUGIN_DATA}/omail contacts +list --limit 100 --page-all
${CLAUDE_PLUGIN_DATA}/omail contacts +list --addressbook Default
${CLAUDE_PLUGIN_DATA}/omail contacts +search --query "alice"
${CLAUDE_PLUGIN_DATA}/omail contacts +search --query "example.com" --limit 10
${CLAUDE_PLUGIN_DATA}/omail contacts +get --contact-id <id>
${CLAUDE_PLUGIN_DATA}/omail contacts +add --name "Alice Kim" --email alice@example.com
${CLAUDE_PLUGIN_DATA}/omail contacts +add --name "Bob Lee" --email bob@example.com --phone "010-1234-5678"
${CLAUDE_PLUGIN_DATA}/omail contacts +add --name "Carol" --email carol@example.com --addressbook Default
${CLAUDE_PLUGIN_DATA}/omail contacts +update --contact-id <id> --name "New Name"
${CLAUDE_PLUGIN_DATA}/omail contacts +update --contact-id <id> --email new@example.com
${CLAUDE_PLUGIN_DATA}/omail contacts +update --contact-id <id> --phone "010-0000-0000"
${CLAUDE_PLUGIN_DATA}/omail contacts +delete --contact-id <id>
${CLAUDE_PLUGIN_DATA}/omail contacts +addressbooks
+list and +search return summary fields (id, fullName, emails,
phones). Use +get for the complete ContactCard:
${CLAUDE_PLUGIN_DATA}/omail contacts +search --query "name" — get
contact id${CLAUDE_PLUGIN_DATA}/omail contacts +get --contact-id <id> — full
ContactCard (all fields)When the user says "save this sender as a contact":
${CLAUDE_PLUGIN_DATA}/omail contacts +search --query "sender@email.com" — check if already exists${CLAUDE_PLUGIN_DATA}/omail contacts +add --name "Sender Name" --email sender@email.com --dry-run--dry-runContacts integrate with mail and calendar for workflows like "email this person and schedule a meeting":
${CLAUDE_PLUGIN_DATA}/omail contacts +search --query "alice" — find
contact${CLAUDE_PLUGIN_DATA}/omail mail +send --to alice@example.com --subject "Meeting" --body "..."${CLAUDE_PLUGIN_DATA}/omail calendar +insert --title "Meeting with Alice" --start "..." --end "..." --invite alice@example.com${CLAUDE_PLUGIN_DATA}/omail contacts contactcard get --params '{"ids":["..."]}'
${CLAUDE_PLUGIN_DATA}/omail contacts contactcard query --params '{"filter":{"text":"alice"}}'
${CLAUDE_PLUGIN_DATA}/omail contacts contactcard set --json '{"create":{"c1":{"fullName":"Test","emails":{"e1":{"address":"test@example.com"}}}}}'
${CLAUDE_PLUGIN_DATA}/omail contacts addressbook get --params '{}'
urn:ietf:params:jmap:contacts capability
(check with omail doctor)+add requires both --name and --email; for phone-only
contacts, use raw contactcard set+update --email appends a new email address to the contact;
it does not replace existing ones. Use raw contactcard set
to replace.+list returns summary fields: id, fullName, emails, phones.
Use +get for all fields.--dry-run first when creating or modifying
contacts via AI