c-contacts — скилл для Claude Code: что делает и как установить
Скилл обращается к macOS Contacts через AppleScript: ищет людей, показывает контакты и достаёт email или телефон. Подойдёт для запросов к адресной книге из агента.
npx skills add daxaur/openpaw --skill c-contacts -a claude-codeЧто делает c-contacts
c-contacts работает с приложением macOS Contacts через AppleScript, без отдельной CLI-утилиты. Скилл ищет людей по части имени или email, возвращает имена, адреса и телефоны, получает данные конкретного контакта и считает записи в адресной книге.
При нескольких совпадениях он должен показать все найденные варианты и дать выбрать нужный. Для поиска по имени используется частичное совпадение, а данные контактов нельзя сохранять в файлах памяти. На macOS приложение Contacts может быть закрыто: AppleScript сам обращается к нему.
Какие задачи решает
- найти контакт по части имени
- получить email конкретного человека
- узнать номер телефона из адресной книги
- показать все имена контактов
- найти записи по части email
Примеры запросов агенту
- Найди в macOS Contacts все контакты с именем «John» и покажи их email и телефоны.
- Получи email контакта «John Smith».
- Посчитай количество записей в macOS Contacts.
Как установить c-contacts
1Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-contacts -a claude-code2Вручную: положить файлы
~/.claude/skills/c-contacts/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/c-contacts/
1Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-contacts -a codex2Вручную: положить файлы
.agents/skills/c-contacts/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-contacts -a cursor2Вручную: положить файлы
.cursor/skills/c-contacts/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install daxaur/openpaw c-contacts2Вручную: положить файлы
.github/skills/c-contacts/SKILL.md1Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-contacts -a gemini-cli2Командой платформы
gemini skills install https://github.com/daxaur/openpaw --path skills/c-contactsВручную: положить файлы
.devin/skills/c-contacts/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add daxaur/openpaw --skill c-contacts -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о c-contacts
Как установить c-contacts в Claude Code?
Выполните npx skills add daxaur/openpaw --skill c-contacts -a claude-code, затем проверьте файл ~/.claude/skills/c-contacts/SKILL.md.
Что делает c-contacts?
Скилл управляет поиском и чтением контактов macOS Contacts через AppleScript. Он может находить людей по имени или email, возвращать телефоны и адреса, а также считать записи.
Нужно ли запускать приложение Contacts заранее?
Нет. AppleScript обращается к Contacts, даже когда приложение не запущено.
Исходный текст
SKILL.md · MIT
---
name: c-contacts
description: macOS Contacts — search, list, and look up contact details via AppleScript.
tags: [contacts, address-book, people, phone]
---
# Contacts — Address Book
Access macOS Contacts app via AppleScript. No CLI tool needed.
## Commands
```bash
# Search for a contact by name
osascript -e 'tell application "Contacts"
set results to (every person whose name contains "John")
set output to ""
repeat with p in results
set output to output & name of p & linefeed
repeat with e in emails of p
set output to output & " Email: " & value of e & linefeed
end repeat
repeat with ph in phones of p
set output to output & " Phone: " & value of ph & linefeed
end repeat
set output to output & linefeed
end repeat
return output
end tell'
# Get all contact names
osascript -e 'tell application "Contacts" to get name of every person'
# Get a specific contact's email
osascript -e 'tell application "Contacts"
set p to first person whose name is "John Smith"
get value of every email of p
end tell'
# Get a specific contact's phone
osascript -e 'tell application "Contacts"
set p to first person whose name is "John Smith"
get value of every phone of p
end tell'
# Count contacts
osascript -e 'tell application "Contacts" to count every person'
# Search by email
osascript -e 'tell application "Contacts"
set results to (every person whose value of emails contains "john@")
get name of results
end tell'
```
## Guidelines
- Always search by partial name (uses `contains`) to be flexible
- Return name, email, and phone by default
- If multiple matches, list all and let the user pick
- Contacts app does not need to be running — AppleScript handles it
- Never store contact details in memory files for privacy
- If asked "what's [name]'s number?", search contacts first, then memory
© daxaur · MIT · daxaur/openpaw