skills$openclaw/apple-contacts
tyler6204558

by tyler6204

apple-contacts – OpenClaw Skill

apple-contacts is an OpenClaw Skills integration for data analytics workflows. Look up contacts from macOS Contacts.app. Use when resolving phone numbers to names, finding contact info, or searching the address book.

558 stars1.2k forksSecurity L1
Updated Feb 7, 2026Created Feb 7, 2026data analytics

Skill Snapshot

nameapple-contacts
descriptionLook up contacts from macOS Contacts.app. Use when resolving phone numbers to names, finding contact info, or searching the address book. OpenClaw Skills integration.
ownertyler6204
repositorytyler6204/apple-contacts
languageMarkdown
licenseMIT
topics
securityL1
installopenclaw add @tyler6204/apple-contacts
last updatedFeb 7, 2026

Maintainer

tyler6204

tyler6204

Maintains apple-contacts in the OpenClaw Skills directory.

View GitHub profile
File Explorer
2 files
.
_meta.json
461 B
SKILL.md
1.8 KB
SKILL.md

name: apple-contacts description: Look up contacts from macOS Contacts.app. Use when resolving phone numbers to names, finding contact info, or searching the address book. metadata: {"clawdbot":{"emoji":"👤","os":["darwin"]}}

Apple Contacts

Query Contacts.app via AppleScript.

Quick Lookups

# By phone (name only)
osascript -e 'tell application "Contacts" to get name of every person whose value of phones contains "+1XXXXXXXXXX"'

# By name
osascript -e 'tell application "Contacts" to get name of every person whose name contains "John"'

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

Full Contact Info

⚠️ Don't use first person whose — buggy. Use this pattern:

# By phone
osascript -e 'tell application "Contacts"
  set matches to every person whose value of phones contains "+1XXXXXXXXXX"
  if length of matches > 0 then
    set p to item 1 of matches
    return {name of p, value of phones of p, value of emails of p}
  end if
end tell'

# By name
osascript -e 'tell application "Contacts"
  set matches to every person whose name contains "John"
  if length of matches > 0 then
    set p to item 1 of matches
    return {name of p, value of phones of p, value of emails of p}
  end if
end tell'

⚠️ Exact string match required — must match stored format exactly.

StoredSearchWorks?
+1XXXXXXXXXX+1XXXXXXXXXX
+1XXXXXXXXXXXXXXXXXXXX

Try with +1 prefix first. If fails, search by name instead.

Name Search

  • Case-insensitive
  • Partial match with contains
  • Exact match: use is instead of contains

Output

Returns comma-separated: name, phone1, [phone2...], email1, [email2...]

No match = empty output (not an error).

README.md

No README available.

Permissions & Security

Security level L1: Low-risk skills with minimal permissions. Review inputs and outputs before running in production.

Requirements

  • OpenClaw CLI installed and configured.
  • Language: Markdown
  • License: MIT
  • Topics:

FAQ

How do I install apple-contacts?

Run openclaw add @tyler6204/apple-contacts in your terminal. This installs apple-contacts into your OpenClaw Skills catalog.

Does this skill run locally or in the cloud?

OpenClaw Skills execute locally by default. Review the SKILL.md and permissions before running any skill.

Where can I verify the source code?

The source repository is available at https://github.com/openclaw/skills/tree/main/skills/tyler6204/apple-contacts. Review commits and README documentation before installing.