automating-contacts
Automating Contacts (JXA-first, AppleScript discovery)
Relationship to Other Skills
- Standalone for Contacts: Use this skill for Contacts-specific operations (querying, CRUD, groups).
- Reuse
automating-mac-appsfor: TCC permissions setup, shell command helpers, UI scripting fallbacks, and ObjC bridge patterns. - Integration: Load both skills when combining Contacts automation with broader macOS scripting.
- PyXA Installation: To use PyXA examples in this skill, see the installation instructions in
automating-mac-appsskill (PyXA Installation section).
Core Framing
- Contacts dictionary is AppleScript-first; discover there, implement in JXA
- Object specifiers: read with methods (
name(),emails()), write with assignments - Multi-value fields (emails, phones, addresses) are elements; use constructor +
.push() - Group membership:
add ... tocommand or.people.push; handle duplicates defensively - TCC permissions required: running host must have Contacts access
More from spillwavesolutions/automating-mac-apps-plugin
automating-mac-apps
Automates macOS apps via Apple Events using AppleScript (discovery), JXA (legacy), and PyXA (modern Python). Use when asked to "automate Mac apps", "write AppleScript", "JXA scripting", "osascript automation", or "PyXA Python automation". Foundation skill for all macOS app automation.
125automating-keynote
Automates Apple Keynote using JXA with AppleScript dictionary discovery. Use when asked to "create Keynote presentations", "automate slide decks", "JXA Keynote scripting", or "generate presentations programmatically". Covers document lifecycle, slides, text, shapes, images, tables, charts, transitions, and UI scripting fallback.
79automating-calendar
Automates macOS Calendar via JXA with AppleScript dictionary discovery. Use when asked to "create calendar events", "automate calendar", "JXA calendar scripting", "EventKit automation", or "PyXA calendar automation". Covers events, calendars, recurrence, time zones, batch operations, and EventKit ObjC bridge.
47automating-notes
Automates Apple Notes via JXA. Use when asked to "create notes programmatically", "automate Notes app", "JXA notes scripting", or "organize notes with automation". Covers accounts/folders/notes, HTML bodies, queries, moves, and Objective-C/UI fallbacks for Notes.app automation on macOS.
22automating-powerpoint
Automates Microsoft PowerPoint via JXA with AppleScript dictionary discovery. Use when asked to "automate PowerPoint presentations", "create slides programmatically", "JXA PowerPoint scripting", or "export PowerPoint to PDF". Covers presentations, slides, shapes, text, tables, export enums, and interop with Excel.
22automating-numbers
Automates Apple Numbers via JXA with AppleScript dictionary discovery. Use when asked to "automate Numbers spreadsheets", "create spreadsheets programmatically", "JXA Numbers scripting", or "bulk data operations in Numbers". Focuses on sheets, tables, ranges, batch I/O, clipboard shim, and high-performance data workflows.
20