Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
sundial-org avatar

Apple Contacts

  • 75 installs
  • 638 repo stars
  • Updated March 7, 2026
  • sundial-org/awesome-openclaw-skills

Helps with ai & agent building tasks during AI-assisted development.

About

apple-contacts is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • apple-contacts
  • AI & Agent Building
  • AI-coding skill

Apple Contacts by the numbers

  • 75 all-time installs (skills.sh)
  • Ranked #5,460 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sundial-org/awesome-openclaw-skills --skill apple-contacts

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs75
repo stars638
Last updatedMarch 7, 2026
Repositorysundial-org/awesome-openclaw-skills

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

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'

Phone Lookup

⚠️ 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).

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.