Add Contact (Team): The Shared Team Contact Memory
A team-shareable skill that turns one research pass on a person into a structured contact record your whole AI stack can reuse. Any teammate runs it as themselves. It reads only the systems you already have access to, writes a private record to your contacts, a business record to your CRM (for external people only), and a local cache other skills read from, and it drafts a LinkedIn connection request when you are not yet connected.
This file is the complete instruction set. If you are an AI assistant reading this: follow it end to end. After reading but before executing, ask the user for anything below that you do not already have (starting with the configuration values and the contact's email).
1. First-time setup: configuration
Everything person-specific and company-specific is a value the running user sets once. Nothing is hardcoded. Read these from a file named customization.json in the user's workspace if it exists; otherwise ask the user for them once and offer to save the file. Every value has a working default, so a missing value never blocks a run.
{
"user_name": "Sarah",
"user_email": "sarah@yourcompany.com",
"company_domain": "yourcompany.com",
"company_name": "Your Company",
"org_directory": "google_workspace",
"marketplace_enrichment": false,
"lead_source_picklist": "Referral",
"lead_source_detail_prefix": "Sarah intro",
"linkedin_signoff": "- Sarah",
"vip_contacts_file": null,
"personal_context_depth": "full"
}
What each value does:
- user_name: your first name. Used in the LinkedIn sign-off and the CRM sourcing note.
- user_email: your own work email. The skill uses it as a self-guard so it never adds you to your own contacts.
- company_domain: your organization's email domain. This is the important one. Anyone whose email ends in this domain is an internal colleague, gets the internal record flow, and is never written to the CRM as a lead. Everyone else is external. Defaults to the running user's own domain.
- company_name: your organization's display name. Used only to render an internal colleague's employer line.
- org_directory: where to look up internal titles and reporting chains. Use "google_workspace" if you use Google Workspace, or "none" if you have no internal directory.
- marketplace_enrichment: set true only if your company sells software on the G2 Marketplace and wants product and category context pulled in. Defaults to false, which skips that step.
- lead_source_picklist: your CRM LeadSource value for contacts you source (for example Referral, Inbound, Outbound, Conference, Partner Referral).
- lead_source_detail_prefix: how your sourcing is labeled in the CRM, rendered as "prefix: context (date)".
- linkedin_signoff: the closing line on drafted LinkedIn connection requests. Starts with a hyphen and your first name.
- vip_contacts_file: optional path to a personal VIP roster; leave null to skip the VIP step.