| name | crm-cleanup |
| description | 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. |
| allowed-tools | Read, WebFetch, Bash |
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:
- Pull all open deals from HubSpot.
- Flag deals with no activity (email, call, meeting, note) in the last 14 days.
- For each stale deal: show deal name, stage, last activity date, associated contacts, and amount.
- 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:
- Search HubSpot contacts for likely duplicates (same email, similar names, same company + similar name).
- For each duplicate set: show both records side-by-side — name, email, company, deals, last activity.
- Propose which record to keep and which fields to merge.
Present all duplicate sets before merging anything.
Step 3 — Scan for missing required fields
- Check all open deals for missing fields: close date, amount, deal stage, associated contact, next-step/notes.