mcpField
G
get-contact

get-contact

github.com/aviz85生产力5044 次安装16 周前更新
代码仓库

关于 get-contact

get-contact 是一项按姓名查找电子邮件和电话的技能,可搜索本地 JSON 等配置的数据源,供其他需要联系人查询的技能使用。使用联系方式前必须先取得用户确认。

主要功能

  1. 01不区分大小写的姓名部分匹配
  2. 02搜索配置的联系人数据源
  3. 03处理零个、一个或多个匹配项
  4. 04使用前要求用户确认

适用场景

  1. 01让其他技能联系某人前查找邮箱
  2. 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 - 根据你的系统调整搜索方式

用法

需要联系信息时:

  1. 按姓名搜索联系人(部分匹配,不区分大小写)
  2. 如果结果数为 0 → 告知用户“未找到,请提供邮箱/电话”
  3. 如果结果数为 1 → 向用户确认:“找到 [name] - [email]。这是正确的吗?”
  4. 如果有多个结果 → 请用户选择:“找到多个结果: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