contact-cache

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Contact Cache

联系人缓存

Track all identified/contacted people across strategies. CSV-backed contact database with dedup by LinkedIn URL or email. Prevents duplicate outreach when running strategies on a recurring cadence.
跨策略跟踪所有已识别/已联系的人员。基于CSV的联系人数据库,支持通过LinkedIn URL或邮箱去重。在按重复周期执行策略时,避免重复触达。

Usage

使用方法

bash
undefined
bash
undefined

Check if contacts are already cached

检查联系人是否已缓存

python3 skills/contact-cache/scripts/cache.py check --linkedin-urls "https://linkedin.com/in/person1,https://linkedin.com/in/person2" python3 skills/contact-cache/scripts/cache.py check --emails "john@example.com,jane@example.com"
python3 skills/contact-cache/scripts/cache.py check --linkedin-urls "https://linkedin.com/in/person1,https://linkedin.com/in/person2" python3 skills/contact-cache/scripts/cache.py check --emails "john@example.com,jane@example.com"

Add a single contact

添加单个联系人

python3 skills/contact-cache/scripts/cache.py add --name "John Smith" --linkedin-url "https://linkedin.com/in/johnsmith" --email "john@example.com" --company "Acme Corp" --title "VP Finance" --strategy "2A-hiring-signal"
python3 skills/contact-cache/scripts/cache.py add --name "John Smith" --linkedin-url "https://linkedin.com/in/johnsmith" --email "john@example.com" --company "Acme Corp" --title "VP Finance" --strategy "2A-hiring-signal"

Bulk import from CSV

从CSV批量导入

python3 skills/contact-cache/scripts/cache.py add --csv /path/to/leads.csv --strategy "2A-hiring-signal"
python3 skills/contact-cache/scripts/cache.py add --csv /path/to/leads.csv --strategy "2A-hiring-signal"

Update a contact's status

更新联系人状态

python3 skills/contact-cache/scripts/cache.py update --linkedin-url "https://linkedin.com/in/johnsmith" --status contacted --notes "Sent intro email 2026-02-24"
python3 skills/contact-cache/scripts/cache.py update --linkedin-url "https://linkedin.com/in/johnsmith" --status contacted --notes "Sent intro email 2026-02-24"

Export the full cache

导出完整缓存

python3 skills/contact-cache/scripts/cache.py export --format csv python3 skills/contact-cache/scripts/cache.py export --format json python3 skills/contact-cache/scripts/cache.py export --status contacted python3 skills/contact-cache/scripts/cache.py export --strategy "2A-hiring-signal"
python3 skills/contact-cache/scripts/cache.py export --format csv python3 skills/contact-cache/scripts/cache.py export --format json python3 skills/contact-cache/scripts/cache.py export --status contacted python3 skills/contact-cache/scripts/cache.py export --strategy "2A-hiring-signal"

Print summary statistics

打印汇总统计

python3 skills/contact-cache/scripts/cache.py stats
undefined
python3 skills/contact-cache/scripts/cache.py stats
undefined

Data

数据存储

Contacts are stored in
skills/contact-cache/data/contacts.csv
. The file is auto-created on first use.
Dedup is by LinkedIn URL (preferred) or email. Both are normalized and hashed (SHA256, first 16 chars) to produce a stable
contact_id
.
联系人存储在
skills/contact-cache/data/contacts.csv
中,首次使用时会自动创建该文件。
去重依据为LinkedIn URL(优先)或邮箱。两者都会被标准化并通过SHA256哈希(取前16位)生成稳定的
contact_id

Valid Statuses

有效状态

new
,
qualified
,
contacted
,
replied
,
meeting_booked
,
converted
,
not_interested
new
,
qualified
,
contacted
,
replied
,
meeting_booked
,
converted
,
not_interested