Skip to content
Back to skills

Apple Contacts

ASecurity

Search and view Apple Contacts from the command line using apple-contacts CLI. Use when asked to search, list, show, or export contacts, find birthdays, browse contact groups, or look up people by name, email, phone, organization, or address. Read-only access using Apple's native Contacts Framework for fast, reliable lookups.

  • 57 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 31, 2026
toolsgoswiftbashgitsecuritydocumentation

Works with

  • terminal
  • cli

Security analysis

A100/100

Scanned May 31, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill apple-contacts --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Apple Contacts?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Apple Contacts
[![Security: A β€” Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-apple-contacts/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-apple-contacts)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: apple-contacts
description: Search and view Apple Contacts from the command line using apple-contacts CLI. Use when asked to search, list, show, or export contacts, find birthdays, browse contact groups, or look up people by name, email, phone, organization, or address. Read-only access using Apple's native Contacts Framework for fast, reliable lookups.
metadata: {"clawdbot":{"emoji":"πŸ“‡","requires":{"bins":["apple-contacts"]},"install":[{"id":"source","kind":"source","repo":"https://github.com/fishfisher/apple-contacts","bins":["apple-contacts"],"label":"Install apple-contacts (from source)"}]}}
---

# Apple Contacts

Search and view your Apple Contacts from the command line using the `apple-contacts` CLI. This skill provides fast, read-only access to your contacts using Apple's native Contacts Framework.

**Key Features:**
- **Native framework**: Uses Apple's Contacts Framework for direct, fast access
- **Multi-criteria search**: Filter by name, email, phone, organization, address, birthday
- **vCard export**: Export contacts in standard vCard format
- **Group management**: Browse and search contact groups
- **JSON output**: Machine-readable output for automation

## Setup & Configuration

### Installation

From source:
```bash
git clone https://github.com/fishfisher/apple-contacts.git
cd apple-contacts && swift build -c release
cp .build/release/apple-contacts /usr/local/bin/
```

Or download a binary from the [releases page](https://github.com/fishfisher/apple-contacts/releases).

Verify installation:
```bash
apple-contacts --help
```

**First Run:** macOS will prompt for Contacts access permission on first use. Grant access to enable the CLI.

### Requirements

- macOS 14.0 or later
- Swift 6.0 or later (for building from source)
- Contacts app permission

## Quick Start

```bash
# List all contacts
apple-contacts list

# Search for a contact by name
apple-contacts search "John"

# Show full contact details
apple-contacts show "John Smith"

# Search by email
apple-contacts search --email "john@example.com"

# Search by phone number
apple-contacts search --phone "555-1234"

# Find contacts with birthdays this month
apple-contacts search --birthday-month 1

# List all contact groups
apple-contacts groups

# Export contact to vCard
apple-contacts export "John Smith"
```

## Core Capabilities

### 1. List All Contacts

Display all contacts in your address book:

```bash
# List all contacts
apple-contacts list

# Limit results
apple-contacts list --limit 20

# Output as JSON
apple-contacts list --json
```

### 2. Search Contacts

Find contacts using various criteria. Multiple filters use AND logic.

```bash
# Search by name (partial match)
apple-contacts search "John"
apple-contacts search "Smith"

# Search by email
apple-contacts search --email "gmail.com"
apple-contacts search --email "john@example.com"

# Search by phone number
apple-contacts search --phone "555"
apple-contacts search --phone "+1-555-123-4567"

# Search by organization
apple-contacts search --org "Acme"
apple-contacts search --org "Apple"

# Search by address
apple-contacts search --address "San Francisco"
apple-contacts search --address "CA"

# Search any field
apple-contacts search --any "keyword"

# Combine filters (AND logic)
apple-contacts search "John" --org "Apple"
apple-contacts search --email "gmail.com" --address "New York"

# Limit results
apple-contacts search "John" --limit 5

# Output as JSON
apple-contacts search "John" --json
```

### 3. Show Contact Details

Display complete information for a specific contact:

```bash
# Show contact by name
apple-contacts show "John Smith"

# Output as JSON
apple-contacts show "John Smith" --json
```

Shows all available fields including:
- Full name and nickname
- Phone numbers (with labels)
- Email addresses (with labels)
- Physical addresses
- Organization and job title
- Birthday
- Social profiles
- URLs

### 4. Birthday Search

Find contacts with birthdays:

```bash
# Find contacts with birthday on specific date (MM-DD format)
apple-contacts search --birthday 01-15

# Find contacts with birthdays this month
apple-contacts search --birthday-month 1

# Find December birthdays
apple-contacts search --birthday-month 12

# Combine with other filters
apple-contacts search --birthday-month 6 --org "Family"
```

### 5. Contact Groups

Browse and work with contact groups:

```bash
# List all groups
apple-contacts groups

# Output as JSON
apple-contacts groups --json
```

### 6. Export to vCard

Export contacts in vCard format for sharing or backup:

```bash
# Export single contact
apple-contacts export "John Smith"

# Save to file
apple-contacts export "John Smith" > john-smith.vcf
```

## Output Formats

### Default (Human-Readable)

```
John Smith
  Email: john@example.com (work)
  Phone: +1-555-123-4567 (mobile)
  Organization: Acme Corp
```

### JSON Output

Use `--json` flag for machine-readable output:

```bash
apple-contacts search "John" --json
apple-contacts show "John Smith" --json
apple-contacts list --json
apple-contacts groups --json
```

JSON output is useful for:
- Scripting and automation
- Integration with other tools
- Data processing pipelines

## Common Workflows

### Find a Contact's Phone Number

```bash
# Quick search
apple-contacts search "Jane"

# Or show full details
apple-contacts show "Jane Doe"
```

### Find Work Colleagues

```bash
# Search by company
apple-contacts search --org "MyCompany"

# Search by work email domain
apple-contacts search --email "@mycompany.com"
```

### Birthday Reminders

```bash
# Find this month's birthdays
apple-contacts search --birthday-month $(date +%m)

# Find today's birthdays
apple-contacts search --birthday $(date +%m-%d)
```

### Lookup by Email

```bash
# Find who owns an email address
apple-contacts search --email "unknown@example.com"
```

### Find Local Contacts

```bash
# Search by city
apple-contacts search --address "San Francisco"

# Search by state
apple-contacts search --address "California"
```

### Export for Sharing

```bash
# Export contact to vCard file
apple-contacts export "John Smith" > ~/Desktop/john.vcf

# Share multiple contacts
for name in "John Smith" "Jane Doe"; do
  apple-contacts export "$name" >> ~/Desktop/contacts.vcf
done
```

## Limitations

- **Read-only**: Cannot create, edit, or delete contacts (use Contacts.app for modifications)
- **macOS only**: Requires macOS 14.0 or later
- **Notes field**: Accessing contact notes requires special Apple entitlements (not available)
- **Permission required**: Must grant Contacts access on first run

## Troubleshooting

### "Contacts access denied" error
- Go to System Settings > Privacy & Security > Contacts
- Enable access for Terminal (or your terminal app)
- Restart the terminal

### Contact not found
- Try a partial name: `apple-contacts search "Jo"` instead of "John Smith"
- Check spelling
- Use `apple-contacts list` to see all contacts

### Permission prompt not appearing
- Run any command to trigger the prompt: `apple-contacts list`
- If still no prompt, manually enable in System Settings > Privacy & Security > Contacts

### Empty results
- Ensure Contacts.app has contacts (check the app directly)
- Verify permissions are granted
- Try broader search terms

## Resources

- [apple-contacts GitHub](https://github.com/fishfisher/apple-contacts)
- [Apple Contacts Framework Documentation](https://developer.apple.com/documentation/contacts)

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.