Agent skill · operations · anthropics

crm-cleanup

Scans HubSpot for stale deals, duplicate contacts, and missing fields, then fixes what the owner approves. Accepts optional scope argument for deals, contacts, or all.

Why this skill is useful

Adds a comprehensive automation script for cleaning and maintaining HubSpot CRM data, including duplicate detection and field validation.

What it needs

Requires hubspot account access. About 2k tokens when loaded. Last updated 2026-08-07. 23,345 stars on the source repository.

What this skill does

Run a HubSpot hygiene pass using the crm-maintenance skill cleanup workflow. Act immediately — the user typed /crm-cleanup, so skip the intent-detection step. Parse arguments: --scope (default: all) — deals for deal audit only, contacts for contact dedup only, all for both Step 1 — Scan for stale deals If scope includes deals: 1. Pull all open deals from HubSpot. 2. Flag deals with no activity (email, call, meeting, note) in the last 14 days. 3. For each stale deal: show deal name, stage, last activity date, associated contacts, and amount. 4. Propose actions per deal: update next-step, change stage, add a note, or close-lost. Present the full stale-deals list before making any changes. Step 2 — Scan for duplicate contacts If scope includes contacts: 1. Search HubSpot contacts for likely duplicates (same email, similar names, same company + similar name). 2. For each duplicate set: show both records side-by-side — name, email, company, deals, last activity. 3. Propose which record to keep and which fields to merge. Present all duplicate sets before merging anything. Step 3 — Scan for missing required fields 1. Check all open deals for missing fields: close date, amount, deal stage, associated contact, next-step/notes. 2. Check contacts associated with open deals for missing fields: email, company, phone. 3. Present a table of records with missing fields and what's missing. Step 4 — Apply approved fixes 1. Walk through each finding from Steps 1-3. 2. Apply only the changes the owner explicitly approves. 3. Report each change as it's made with a HubSpot link. Connector failures If HubSpot is unreachable, stop — this command requires HubSpot as the data source. Tell the owner: "HubSpot isn't connected. Connect it in Cowork settings, then rerun /crm-cleanup." Approval gates Never delete records. Not contacts, not deals, not activities. If the user asks, say the skill cannot and direct them to HubSpot. Never change deal stage or close a deal without explicit approval. …

How to use it

Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:

@skills anthropics/crm-cleanup

View the source on GitHub

Browse the @skills marketplace