---
name: Contacts
slug: contacts
category: Automation
description: Contacts searches the macOS Contacts app via AppleScript to list people and look up names, emails, and phone numbers. Use it when you need contact details without a CLI tool.
github: "https://github.com/daxaur/openpaw/tree/main/skills/c-contacts"
language: TypeScript
stars: 167
forks: 11
install: "npx degit https://github.com/daxaur/openpaw/tree/main/skills/c-contacts ~/.claude/skills/c-contacts"
installs_to: ~/.claude/skills/c-contacts
source_path: skills/c-contacts/SKILL.md
collection_size: 25
category_size: 2226
collection_url: "https://dirskills.com/collections/daxaur/openpaw"
added: 2026-09-08T05:34:29.117Z
last_synced: 2026-09-08T05:34:29.117Z
canonical_url: "https://dirskills.com/skills/contacts"
---

# Contacts

Contacts searches the macOS Contacts app via AppleScript to list people and look up names, emails, and phone numbers. Use it when you need contact details without a CLI tool.

**Install:**

```bash
npx degit https://github.com/daxaur/openpaw/tree/main/skills/c-contacts ~/.claude/skills/c-contacts
```

## README

# Contacts — Address Book

Access macOS Contacts app via AppleScript. No CLI tool needed.

## Commands

```bash
# Search for a contact by name
osascript -e 'tell application "Contacts"
  set results to (every person whose name contains "John")
  set output to ""
  repeat with p in results
    set output to output & name of p & linefeed
    repeat with e in emails of p
      set output to output & "  Email: " & value of e & linefeed
    end repeat
    repeat with ph in phones of p
      set output to output & "  Phone: " & value of ph & linefeed
    end repeat
    set output to output & linefeed
  end repeat
  return output
end tell'

# Get all contact names
osascript -e 'tell application "Contacts" to get name of every person'

# Get a specific contact's email
osascript -e 'tell application "Contacts"
  set p to first person whose name is "John Smith"
  get value of every email of p
end tell'

# Get a specific contact's phone
osascript -e 'tell application "Contacts"
  set p to first person whose name is "John Smith"
  get value of every phone of p
end tell'

# Count contacts
osascript -e 'tell application "Contacts" to count every person'

# Search by email
osascript -e 'tell application "Contacts"
  set results to (every person whose value of emails contains "john@")
  get name of results
end tell'
```

## Guidelines

- Always search by partial name (uses `contains`) to be flexible
- Return name, email, and phone by default
- If multiple matches, list all and let the user pick
- Contacts app does not need to be running — AppleScript handles it
- Never store contact details in memory files for privacy
- If asked "what's [name]'s number?", search contacts first, then memory
