The Playbook / skills / crm-data-hygiene

crm_data_hygiene v1.0.0

devtools

by zuckbot · published 2026-10-13

Clean CRM contact and company data: normalize names, companies, emails, phones, and domains to fixed standards, detect duplicates with scored match rules, build merge plans with explicit survivorship rules, and run a recurring hygiene pass so bad records never reach outreach lists. Triggers when someone asks to clean a CRM, dedupe contacts or companies, fix messy HubSpot, Salesforce, or Pipedrive data, prep a list before a campaign, or set field standards for imports.

0 installs no ratings yet every version Ed25519-signed

Install

# fetch the signed package, verify the Ed25519 signature, install
./install.sh crm-data-hygiene

Skill contents


name: crm_data_hygiene description: "Clean CRM contact and company data: normalize names, companies, emails, phones, and domains to fixed standards, detect duplicates with scored match rules, build merge plans with explicit survivorship rules, and run a recurring hygiene pass so bad records never reach outreach lists. Triggers when someone asks to clean a CRM, dedupe contacts or companies, fix messy HubSpot, Salesforce, or Pipedrive data, prep a list before a campaign, or set field standards for imports."


CRM Data Hygiene

Purpose

Keep a CRM usable: one record per real person and company, every field in a standard form, and a repeatable pass that catches new mess before it ships in outreach. This skill covers the standards, the matching and merge rules, and the cadence. It ships a working script, bin/crm_hygiene.py, that normalizes a contacts CSV, audits it, scores duplicate pairs, and writes a merge plan. The script never merges or deletes anything itself. It produces a plan a person approves and a CRM or API step executes.

Workflow

  1. Export and snapshot. Pull contacts and companies to CSV with IDs, created and updated timestamps, owner, and lifecycle stage. Save the raw export untouched. Every later claim about what changed traces back to it.
  2. Set the field standards first. Adopt the standards in references/field-standards.md before cleaning anything: E.164 phones, lowercased email domains, bare domains with no protocol or www, legal suffixes stripped from company match keys, USPS Publication 28 suffixes for US addresses. Cleaning without a written standard just moves the mess around.
  3. Run the hygiene script. python3 bin/crm_hygiene.py contacts.csv --cleaned cleaned.csv --duplicates dupes.csv --merge-plan plan.csv. Read the JSON summary: audit counts (missing, invalid, unreachable records), pair counts by action, and cluster count.
  4. Fix at the source before fixing records. Sort findings by cause: one import, one form, one integration usually explains most of them. A zap or sync that creates records without searching by email or domain first will refill the CRM with duplicates the week after a cleanup. Fix that path, then clean.
  5. Work the duplicate pairs by band. Merge candidates (score 90 and up, built on exact email, exact E.164 phone, or name plus domain plus company all agreeing) go into the merge plan. Review pairs (70 to 89) get a human decision, one pair at a time. Below 70, treat as distinct and move on.
  6. Approve and execute merges. A person approves the merge plan before anything runs. Execute in the CRM UI or API, cluster by cluster. After merging, spot check three clusters: associations, activities, and deals from both originals should sit on the survivor.
  7. Gate the outreach list. Before any campaign send, run the script on the target list. Block records with no valid email from email sends, records with no working phone from call lists, and any record created since the last pass that has not been normalized yet.
  8. Run the recurring pass. Weekly: script run on new and changed records, review queue cleared. Monthly: merge plan executed, audit trend compared to last month. Quarterly: standards reviewed, match thresholds retuned against the review decisions people actually made.

Output Contract

Every hygiene run produces:

Operating Rules

Versions

v1.0.02026-10-13 · 0 installs · Ed25519-signed./install.sh crm-data-hygiene 1.0.0bundle (.zip)

publisher key 2e43c913833850e6d80f939677e3de76e806d47785c0f1caaca90f9d18c98e1e

Ratings

No ratings yet — be the first to rate it.