关于 get-contact
get-contact 是一项按姓名查找电子邮件和电话的技能,可搜索本地 JSON 等配置的数据源,供其他需要联系人查询的技能使用。使用联系方式前必须先取得用户确认。
主要功能
- 01不区分大小写的姓名部分匹配
- 02搜索配置的联系人数据源
- 03处理零个、一个或多个匹配项
- 04使用前要求用户确认
适用场景
- 01让其他技能联系某人前查找邮箱
- 02区分姓名相同的联系人
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ aviz85/ claude-skills-library --skill get-contact安装后在 Claude Code 中输入/get-contact确认已加载。
详细介绍
获取联系人
按姓名搜索,查找联系人详细信息(邮箱、电话)。
来源
配置联系人来源。示例:
- 本地 JSON -
~/contacts.json或你的 CRM 数据文件 - Google Contacts - 通过 People API(未来支持)
- 任意 CRM - 根据你的系统调整搜索方式
用法
需要联系信息时:
- 按姓名搜索联系人(部分匹配,不区分大小写)
- 如果结果数为 0 → 告知用户“未找到,请提供邮箱/电话”
- 如果结果数为 1 → 向用户确认:“找到 [name] - [email]。这是正确的吗?”
- 如果有多个结果 → 请用户选择:“找到多个结果:1) Name A 2) Name B”
重要
使用联系信息前,务必先向用户确认。 常见姓名(יוסי、דוד、John、David)可能对应多个人,或者用户指的并不是联系人列表中的人。
搜索示例(JSON)
# Search by name in contacts file
jq '.contacts[] | select(.name | test("QUERY"; "i")) | {name, email, phone}' ~/contacts.json
响应格式
返回给调用方技能:
{
"found": true,
"count": 1,
"contact": {
"name": "John Smith",
"email": "[email protected]",
"phone": "+1234567890"
}
}
或者有多个结果时:
{
"found": true,
"count": 2,
"contacts": [
{"name": "John Smith", "email": "john.s@...", "phone": "..."},
{"name": "John Doe", "email": "john.d@...", "phone": "..."}
]
}
配置
创建联系人文件,或配置数据源路径:
// ~/contacts.json
{
"contacts": [
{
"name": "John Smith",
"email": "[email protected]",
"phone": "+1234567890"
}
]
}
更新技能中的搜索路径,使其与你的设置相符。
集成
其他技能(zoom-meeting、whatsapp)会使用此技能查找联系人。如果此技能不可用,这些技能会直接向用户索取联系信息。
评论
支持 Markdown