Track all identified/contacted people across strategies
Contact cache

Track all identified/contacted people across strategies. CSV-backed contact database with dedup by LinkedIn URL or email.
--- name: contact-cache description: > 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. tags: [lead-generation] --- # 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. ## Usage ```bash # 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"
Overview
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.
Manual install (npx, ZIP)
npx skills add gooseworks-ai/goose-skills --skill contact-cache -g -a claude-codemkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/gooseworks-ai/goose-skills/tar.gz/615c685f34f8 \
| tar -xz -C ~/.claude/skills --strip-components=4 goose-skills-615c685f34f8/skills/lead-generation/capabilities/contact-cacheNew-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/0faeb026ca9abf689ba0/contact-cache.zip" -OutFile "$env:TEMP\contact-cache.zip"; Expand-Archive "$env:TEMP\contact-cache.zip" -DestinationPath "$HOME\.claude\skills" -ForceConnects with Agent Alley MCP · agentalley.io/mcp
Files included
SKILL.md2.1 KBskill.meta.json256 Bscripts/1 file · 12.3 KB
Read the files here
Show the full text49 lines
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.
Usage
# 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 "[email protected],[email protected]"
# Add a single contact
python3 skills/contact-cache/scripts/cache.py add --name "John Smith" --linkedin-url "https://linkedin.com/in/johnsmith" --email "[email protected]" --company "Acme Corp" --title "VP Finance" --strategy "2A-hiring-signal"
# Bulk import from CSV
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"
# 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"
# Print summary statistics
python3 skills/contact-cache/scripts/cache.py stats
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.
Valid Statuses
new, qualified, contacted, replied, meeting_booked, converted, not_interested
| 1 | |
| 2 | name contact-cache |
| 3 | description > |
| 4 | Track all identified/contacted people across strategies. CSV-backed contact |
| 5 | database with dedup by LinkedIn URL or email. Prevents duplicate outreach |
| 6 | when running strategies on a recurring cadence. |
| 7 | tags [lead-generation] |
| 8 | |
| 9 | |
| 10 | # Contact Cache |
| 11 | |
| 12 | 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. |
| 13 | |
| 14 | ## Usage |
| 15 | |
| 16 | |
| 17 | # Check if contacts are already cached |
| 18 | python3 skills/contact-cache/scripts/cache.py check --linkedin-urls "https://linkedin.com/in/person1,https://linkedin.com/in/person2" |
| 19 | python3 skills/contact-cache/scripts/cache.py check --emails "[email protected],[email protected]" |
| 20 | |
| 21 | # Add a single contact |
| 22 | python3 skills/contact-cache/scripts/cache.py add --name "John Smith" --linkedin-url "https://linkedin.com/in/johnsmith" --email "[email protected]" --company "Acme Corp" --title "VP Finance" --strategy "2A-hiring-signal" |
| 23 | |
| 24 | # Bulk import from CSV |
| 25 | python3 skills/contact-cache/scripts/cache.py add --csv /path/to/leads.csv --strategy "2A-hiring-signal" |
| 26 | |
| 27 | # Update a contact's status |
| 28 | python3 skills/contact-cache/scripts/cache.py update --linkedin-url "https://linkedin.com/in/johnsmith" --status contacted --notes "Sent intro email 2026-02-24" |
| 29 | |
| 30 | # Export the full cache |
| 31 | python3 skills/contact-cache/scripts/cache.py export --format csv |
| 32 | python3 skills/contact-cache/scripts/cache.py export --format json |
| 33 | python3 skills/contact-cache/scripts/cache.py export --status contacted |
| 34 | python3 skills/contact-cache/scripts/cache.py export --strategy "2A-hiring-signal" |
| 35 | |
| 36 | # Print summary statistics |
| 37 | python3 skills/contact-cache/scripts/cache.py stats |
| 38 | |
| 39 | |
| 40 | ## Data |
| 41 | |
| 42 | Contacts are stored in `skills/contact-cache/data/contacts.csv`. The file is auto-created on first use. |
| 43 | |
| 44 | Dedup is by LinkedIn URL (preferred) or email. Both are normalized and hashed (SHA256, first 16 chars) to produce a stable `contact_id`. |
| 45 | |
| 46 | ## Valid Statuses |
| 47 | |
| 48 | `new`, `qualified`, `contacted`, `replied`, `meeting_booked`, `converted`, `not_interested` |
| 49 |
Details
- Updated
- Sep 21, 2026
- License
- MIT
- Stars on the repo
- ★ 1,220
- Checked
- Source
- gooseworks-ai/goose-skills ↗
- Creator
- gooseworks-ai · 206 listings
Made with contact-cache

Similar skills
See all →
SkillAct as the company research engine for /sales research <urlCompany Research & Firmographic Analysis
SkillEthical people-finding and identity verificationPrivateinvestigator
SkillFree People Search to discover ICP-matching leadsApollo lead finder
SkillFind decision-makers at a specific company using ApolloCompany contact finder
SkillFind company funding history, investorsCompany funding search
SkillFull company intelligence reportCompany Intelligence - Comprehensive Company ReportsMore from gooseworks-ai
SkillMine the highest-converting ad angles from customer reviewsAd angle miner
SkillAnalyze ad campaign performance data to identify what'sAd campaign analyzer
SkillFor paid lead-gen and participant-recruitment adsAd lead quality analyzer
SkillAnalyze the message match between your ads and landing pagesAd to landing page auditor
SkillCheck and improve your brand's visibility across AI searchAeo
SkillSearch Amazon products - find items, compare pricesAmazon Product Search