contact-research by anthropics/knowledge-work-plugins
npx skills add https://github.com/anthropics/knowledge-work-plugins --skill contact-research从 Common Room 获取全面的联系人档案。支持通过电子邮件、社交账号或姓名+公司进行查找。返回丰富的数据,包括活动历史、Spark、分数、网站访问记录和 CRM 字段。
Common Room 支持多种查找方法——使用用户提供的任意一种:
| 用户提供的信息 | 查找方法 |
|---|---|
| 电子邮件地址 | 通过电子邮件查找(最可靠) |
| LinkedIn、Twitter/X 或 GitHub 账号 | 通过社交账号查找——需明确指定账号类型 |
| 姓名 + 公司 | 通过姓名和组织域名进行身份解析;如果存在歧义,则呈现匹配项 |
| 仅姓名 | 通过姓名搜索;如果存在多个匹配项,显示简要列表并请用户确认 |
如果未找到匹配项,请回复:"Common Room 没有此人的记录。" 不要推测或编造档案数据。
使用 Common Room 对象目录查看可用的字段组及其内容。对于完整档案,请求所有组。对于有针对性的问题,仅请求相关部分。
需要了解的关键字段组:
Contact Initiated 过滤器(最近 60 天)来获取他们的行为,而非您团队的行为广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
如果 Spark 可用,请使用它。Spark 提供:
如果 Spark 不可用但存在真实活动数据(近期行为、网站访问、社区互动),则从这些信号中推断角色。如果 Spark 和活动数据都不可用,则归类为未知——不要仅根据职位头衔猜测角色。
当用户希望了解此联系人的互动如何随时间演变时,检索所有 Spark 记录(不仅仅是最近的)。
获取此联系人所属母公司的简要快照。注意:
根据活动和信号,提出最强的 2-3 个切入点:
Contact Initiated 活动(社区帖子、产品活动、支持工单)仅包含实际返回数据的部分。省略没有数据的部分,而不是用猜测来填充。
当数据丰富时:
## [联系人姓名] — 档案
**概述**
[2 句话:他们是谁、他们的角色以及关系状态]
**详细信息**
- 职位:[title]
- 公司:[company]
- 电子邮件:[email]
- LinkedIn:[URL]
- 其他资料:[Twitter/X, GitHub, CRM 链接(如果可用)]
**分数** [如果返回了分数]
[所有分数以原始值或百分位数表示]
**近期活动** (最近 60 天) [如果返回了活动数据]
[3–5 个带日期的要点]
**网站访问** (最近 12 周) [如果存在访问数据]
[总访问次数 + 访问过的页面列表]
**Spark 档案** [如果 Spark 数据非空]
[角色类型、背景摘要、影响力信号]
**细分群组** [如果返回了细分群组]
[此联系人所属的细分群组名称列表]
**客户公司背景**
[关于他们公司状态的 1–2 句话]
**对话开场白**
[2–3 个具体的、有信号支持的开场白]
当数据稀疏时(例如,仅返回了姓名、职位、电子邮件、标签;sparkSummary 为空):
## [联系人姓名] — 档案 (数据有限)
**可用数据:** [准确列出 Common Room 返回的内容]
[仅呈现返回的字段]
**网络搜索**
[通过搜索他们的姓名 + 公司发现的任何信息]
**注意:** Common Room 关于此联系人的数据有限。没有活动历史、分数或 Spark 档案可用。我可以进行更深入的网络搜索或查找他们的公司以获取更多背景信息。
不要根据稀疏数据生成对话开场白、角色推断或互动评估。这些需要真实的信号。
Contact Initiated 活动(最近 60 天)是主要的互动信号——以此为首要依据references/contact-signals-guide.md — 完整的字段描述、Spark 角色指南和对话开场白原则每周安装次数
72
代码仓库
GitHub 星标数
8.8K
首次出现
13 天前
安全审计
安装于
codex69
opencode68
github-copilot68
kimi-cli68
gemini-cli68
amp68
Retrieve a comprehensive contact profile from Common Room. Supports lookup by email, social handle, or name + company. Returns enriched data including activity history, Spark, scores, website visits, and CRM fields.
Common Room supports multiple lookup methods — use whichever the user has provided:
| What the user gives | Lookup method |
|---|---|
| Email address | Look up by email (most reliable) |
| LinkedIn, Twitter/X, or GitHub handle | Look up by social handle — specify handle type explicitly |
| Name + company | Identity resolution by name + org domain; present matches if ambiguous |
| Name only | Search by name; if multiple matches, show a brief list and ask the user to confirm |
If no match is found, respond: "Common Room doesn't have a record for this person." Do not speculate or fabricate profile data.
Use the Common Room object catalog to see available field groups and their contents. For full profiles, request all groups. For targeted questions, request only what's relevant.
Key field groups to know about:
Contact Initiated filter (last 60 days) for their actions, not your team'sIf Spark is available, use it. Spark provides:
If Spark is unavailable but real activity data exists (recent actions, website visits, community engagement), infer a persona from those signals. If neither Spark nor activity data is available, classify as Unknown — do not guess a persona from title alone.
Retrieve all Sparks (not just the most recent) when the user wants to understand how this contact's engagement has evolved over time.
Pull an abbreviated account snapshot for this contact's parent company. Note:
Based on activity and signals, surface the strongest 2–3 hooks:
Contact Initiated activity (community post, product event, support ticket)Only include sections where data was actually returned. Omit sections with no data rather than filling them with guesses.
When data is rich:
## [Contact Name] — Profile
**Overview**
[2 sentences: who they are, their role, and relationship status]
**Details**
- Title: [title]
- Company: [company]
- Email: [email]
- LinkedIn: [URL]
- Other profiles: [Twitter/X, GitHub, CRM link if available]
**Scores** [If scores returned]
[All scores as raw values or percentiles]
**Recent Activity** (last 60 days) [If activity returned]
[3–5 bullets with dates]
**Website Visits** (last 12 weeks) [If visit data exists]
[Total visit count + list of pages visited]
**Spark Profile** [If Spark data is non-null]
[Persona type, background summary, influence signals]
**Segments** [If segments returned]
[List of segment names this contact belongs to]
**Account Context**
[1–2 sentences on their company's status]
**Conversation Starters**
[2–3 specific, signal-backed openers]
When data is sparse (e.g., only name, title, email, tags returned; sparkSummary is null):
## [Contact Name] — Profile (Limited Data)
**Data available:** [List exactly what Common Room returned]
[Present only the returned fields]
**Web Search**
[Any findings from searching their name + company]
**Note:** Common Room has limited data on this contact. No activity history, scores, or Spark profile available. I can run deeper web searches or look up their company for additional context.
Do not generate conversation starters, persona inferences, or engagement assessments from sparse data. These require real signals.
Contact Initiated activity (last 60 days) is the primary engagement signal — lead with itreferences/contact-signals-guide.md — full field descriptions, Spark persona guide, and conversation starter principlesWeekly Installs
72
Repository
GitHub Stars
8.8K
First Seen
13 days ago
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
codex69
opencode68
github-copilot68
kimi-cli68
gemini-cli68
amp68