301 Redirect Mapper Skill
Map old URLs to new ones for a site migration, collapse redirect chains, catch loops, and export 301 rules for Apache, Nginx, Netlify, Vercel, Cloudflare and Shopify.
View 301 Redirect Mapper Skill
Export your contacts or companies, run one command, and get every duplicate group with a reason, the record to keep, the blanks to fill, and ready merge files for HubSpot and Salesforce.

Find duplicate contacts and companies in a CRM export, pick the record to keep, fill its blanks from the duplicates, and get merge files for HubSpot and Salesforce. It works as a Claude Code plugin (skill crm-duplicate-cleanup) or a command-line tool. Python 3.9+, no dependencies. It's read-only: it never connects to your CRM.
The screenshot is real output from the kit’s own commands. Tested from a fresh download of this exact zip: ./run_tests.sh ran 13 tests OK on Python 3.13 and 3.10.

python3 -m crmdedupe contacts hubspot-contacts.csv --out dedupe/
python3 -m crmdedupe companies salesforce-accounts.csv --out dedupe/
./demo.sh # bundled HubSpot contacts example
./run_tests.sh # 13 tests, including a 20,000-row run| Contacts: merged (high confidence) | Contacts: review only |
|---|---|
| same email (case-insensitive) | same phone and name, but different company or email domain |
| same Gmail inbox (dots, +tags, googlemail.com) | same phone, different or similar name (shared line) |
| same phone and same name (nicknames count: Bob = Robert, Kate = Katherine) | similar name (typos) at the same company |
| same name and same company (Inc/LLC/Ltd ignored) or same work-email domain | same last name and company, different first name |
| Companies: merged | Companies: review only |
|---|---|
| same website domain (https://www.x.com/about = x.com) | same name, different domains (subsidiaries or regions) |
| same normalized name (Acme, Inc. = The Acme Corporation) when at most one has a domain | similar name in the same city |
| same phone and a similar name |
Accents, punctuation, &, phone formats, extensions and +1 are normalized. Ten-digit numbers without + are treated as US/Canada. Use --country-code 44 or --country-code '' to change that.
Master rule (--master): most-complete (default: most filled fields, then oldest create date), oldest, or newest (latest modified or activity date).
Column detection covers HubSpot and Salesforce export headers (Record ID, Contact ID, Account ID, Email, First/Last Name, Company Name or Account Name, Phone Number, Website or Company Domain Name, City, Create/Created Date, Last Modified/Activity Date). Override any column with --email-col, --company-col, --id-col, --phone-col and so on.
Zip, 17 KB, v1.0, 13 files. You may use and modify this kit for your own work and for clients you serve, including paid client work. Not affiliated with or endorsed by HubSpot or Salesforce.
Find HubSpot and Salesforce duplicate contacts and companies from a CSV export: emails, Gmail aliases, phones, nicknames, Inc/LLC names. Master record, filled blanks, merge files.
Map old URLs to new ones for a site migration, collapse redirect chains, catch loops, and export 301 rules for Apache, Nginx, Netlify, Vercel, Cloudflare and Shopify.
View 301 Redirect Mapper SkillReconcile Amazon settlement reports (Flat File V2) to bank payouts offline: rows checked against total-amount, balanced journal, profit per SKU, gap and duplicate checks.
View Amazon Settlement Reconciliation SkillTrack contract and SaaS renewals from a spreadsheet: auto-renewals rolled forward, cancel-by deadlines, locked-in renewals flagged, .ics reminders. $19 once.
View Contract Renewal Tracker Skill