automating-contacts
Automates macOS Contacts via JXA with AppleScript dictionary discovery. Use when asked to "automate contacts", "JXA contacts automation", "macOS address book scripting", "AppleScript contacts", or "Contacts app automation". Covers querying, CRUD, multi-value fields, groups, images, and ObjC bridge fallbacks.
Third-Party Agent Skill: Review the code before installing. Agent skills execute in your AI assistant's environment and can access your files. Learn more about security
Installation for Agentic Skill
View all platforms →skilz install SpillwaveSolutions/automating-mac-apps-plugin/automating-contactsskilz install SpillwaveSolutions/automating-mac-apps-plugin/automating-contacts --agent opencodeskilz install SpillwaveSolutions/automating-mac-apps-plugin/automating-contacts --agent codexskilz install SpillwaveSolutions/automating-mac-apps-plugin/automating-contacts --agent geminiFirst time? Install Skilz: pip install skilz
Works with 14 AI coding assistants
Cursor, Aider, Copilot, Windsurf, Qwen, Kimi, and more...
Extract and copy to ~/.claude/skills/ then restart Claude Desktop
git clone https://github.com/SpillwaveSolutions/automating-mac-apps-plugincp -r automating-mac-apps-plugin/plugins/automating-mac-apps-plugin/skills/automating-contacts ~/.claude/skills/Need detailed installation help? Check our platform-specific guides:
Related Agentic Skills
automating-mail
by SpillwaveSolutions
Automates Apple Mail via JXA with AppleScript dictionary discovery. Use when asked to "automate email", "send mail via script", "JXA Mail automatio...
automating-reminders
by SpillwaveSolutions
Automates Apple Reminders using JavaScript for Automation (JXA). Use when asked to "create reminders programmatically", "automate reminder lists", ...
mastering-postgresql
by SpillwaveSolutions
PostgreSQL development for Python with full-text search (tsvector, tsquery, BM25 via pg_search), vector similarity (pgvector with HNSW/IVFFlat), JS...
automating-pages
by SpillwaveSolutions
Automates Apple Pages using JXA with AppleScript dictionary discovery. Use when asked to "automate Pages documents", "create documents programmatic...
Agentic Skill Details
- Owner
- SpillwaveSolutions (GitHub)
- Repository
- automating-mac-apps-plugin
- Stars
- 5
- Forks
- 1
- Type
- Other
- Meta-Domain
- Primary Domain
- Market Score
- 99
Agent Skill Grade
A Score: 99/100 Click to see breakdown
Score Breakdown
Areas to Improve
- Missing input/output validation examples
- Relationship section verbose
Recommendations
- Add trigger phrases to description for discoverability
- Add table of contents for files over 100 lines
Graded: 2026-01-19
Developer Feedback
I took a look at your automating-contacts skill and wanted to share some thoughts.
Links:
The TL;DR
You're at 99/100, which puts you in solid A territory. This is based on Anthropic's skill best practices rubric. Your strongest area is Spec Compliance (14/15) - the YAML is clean, naming conventions are correct, and your trigger phrases are solid. The weakest spot is Utility (18/20), mainly because your recipe examples could use better validation outputs to show what success looks like.
What's Working Well
Progressive Disclosure Architecture is chef's kiss. Your SKILL.md clocks in at 95 lines with zero fluff, and you've properly isolated the massive PyXA API reference (880+ lines) into a separate file. The "What to load" section makes navigation crystal clear.
Your trigger phrases are doing the heavy lifting. Six specific triggers like "JXA contacts", "macOS address book", and "AppleScript contacts automation" make this discoverable. That's the kind of specificity that actually helps people find your skill.
The workflow is actionable. Eight numbered steps with a validation checklist at the end means someone can actually follow this and know when they're done. That's real utility.
The Big One
Your recipe examples show code patterns but don't show expected outputs. This matters because someone using your skill needs to know what success looks like. Right now you've got patterns like:
const matches = Contacts.people.whose({firstName: 'Ada'})();
But no comment showing what matches actually contains. Add inline comments with sample outputs:
const matches = Contact...
AI-Detected Topics
Extracted using NLP analysis
Report Security Issue
Found a security vulnerability in this agent skill?
Report Security Issue
Reporting issue with:
automating-contacts
https://github.com/SpillwaveSolutions/automating-mac-apps-pluginThank you for helping keep SkillzWave secure. We'll review your report and take appropriate action.
Note: For critical security issues that require immediate attention, please also email security@skillzwave.ai directly.