Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Look up contacts from macOS Contacts.app. Use when resolving phone numbers to names, finding contact info, or searching the address book.
.claude/skills/sundial-org-apple-contacts/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-05 | ✗→✓ | ▲ Improved | -42% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -31% | 0% |
| case-14 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-12 | ✗→✓ | ▲ Improved | -64% | 0% |
| case-17 | ✗→✓ | ▲ Improved | -50% | 0% |
Query Contacts.app via AppleScript.
bash# 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'
⚠️ Don't use first person whose — buggy. Use this pattern:
bash# 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.
| Stored | Search | Works? | |--------|--------|--------| | +1XXXXXXXXXX | +1XXXXXXXXXX | ✅ | | +1XXXXXXXXXX | XXXXXXXXXX | ❌ |
Try with +1 prefix first. If fails, search by name instead.
containsis instead of containsReturns comma-separated: name, phone1, [phone2...], email1, [email2...]
No match = empty output (not an error).
Other measured skills in the registry, with their headline benchmark lift.