The HubSpot cleanup you keep postponing, run by Claude Code

Duplicate companies, hard bounces still marked marketable, open deals with close dates from last quarter. You know the backlog. These 40 open-source skills work through it: each one audits first, exports a CSV baseline, makes the change, and shows you the before/after.

claude code$/hubspot-auditContactsB2,140 unownedDeliverabilityDhard bounces still marketableDuplicatesC87 companies share a domainLifecycleF31% of contacts have no stagePipelineB64 open deals past close dateFix in this order:1. /suppress-hard-bounced← protects sender reputation2. /fix-lifecycle-stages← unblocks funnel reporting3. /merge-duplicate-companies
The loop: Audit your portal → get a phased plan → execute skill by skill → maintain

What a cleanup actually looks like

Step 1: Audit

Run /hubspot-audit for the whole portal, or /hubspot-marketing-audit or /hubspot-sales-audit for one side of it. All three are read-only and run on the same engine. Every finding gets a grade and the name of the skill that fixes it.

Step 2: Plan

Run /hubspot-implementation-plan. It orders the fixes by dependency: you can't score leads on firmographics nobody backfilled, so enrichment comes before scoring, hygiene before both.

Step 3: Execute

One skill per finding. Destructive skills export a CSV baseline before touching anything, stop at an abort threshold, and document the rollback. Workflows are created disabled so you review them in the UI first.

Step 4: Maintain

Prevention workflows screen new records at creation. /weekly-cleanup-routine is a five-minute check; /quarterly-database-cleanup handles the drift both miss.

1 · Planthe approach, thresholds, your sign-off2 · Beforeaudit current state, export baseline3 · Executebatched API writes, abort threshold4 · Afterre-audit, compare against baselinebaseline.csvverified diffrollback

One portal, two teams, the same numbers

Marketing ops and sales ops share a database and rarely share an audit. Here both run on one engine. The foundation (owners, company data, duplicates) is computed by the same code under either scope, so the two reports cannot disagree about it.

Marketing audit

Deliverability, contact completeness, engagement, lifecycle consistency, and list, workflow and form sprawl. Answers: who can we still reach, and what are we paying for that we cannot?

Sales audit

Pipeline configuration, deal data quality, stale and past-due deals, ownership and handoff gaps, overdue follow-up. Answers: can anyone trust what the pipeline says?

Full audit

Both lenses in one report, for the admin who owns the whole portal. Opens with a single prioritized list of skills to run.

Watch

See it in action

Play

Skill categories

Skills for every phase of the CRM lifecycle

40 skills across six categories. 22 ship with ready-to-run Python scripts.

Audit & Planning

Marketing, sales, and full-portal audits, connections, and planning.

Database Hygiene

Removing bad data, suppressing contacts, deduplication.

Data Enrichment

Filling gaps in contact and company data.

Segmentation & Scoring

ICP tiers, lead scoring, smart lists.

Automation Workflows

HubSpot workflows for ongoing hygiene.

Ongoing Maintenance

Recurring cleanup and health checks.

For AI agents

Built to be read by agents, not scraped

Point your agent at this site

If an agent does your HubSpot work, it can read this site directly and run any skill against your portal with your own token. Agent install guide →

llms.txt and llms-full.txt

An index of every skill, and the full documentation in one fetch.

Raw markdown twins

Every skill page has a .md URL serving the SKILL.md verbatim, frontmatter included.

skills.json

The whole catalog as JSON: slugs, categories, script URLs, install commands.

40
Skills
22
With Python scripts
23
Common problems covered
MIT
License

FAQs

The questions that decide whether you run this

Is this safe to run against production?

The audit is read-only. Skills that change data export a CSV of every affected record first, show you what will change, ask before writing, and stop at an abort threshold. Run /sandbox-self-test against a free HubSpot developer test account if you want proof before granting a production token.

Where does my CRM data go?

Nowhere. There is no SaaS here. The skills are markdown instructions plus Python scripts that run on your machine, calling the HubSpot API with your own service key. CSV exports stay in a local, gitignored folder.

What do I need?

Claude Code, a HubSpot service key, and Python 3.10+ with uv for the scripted skills. A token from an existing private app still works, but HubSpot stops allowing new private apps on October 26, 2026. Workflow skills need Marketing Professional or higher; the audits and hygiene skills work on any tier.

Does this replace the HubSpot MCP server or the Agent CLI?

No, it uses them. The MCP server is for looking things up in conversation and cannot delete or touch workflows. HubSpot’s Agent CLI (beta) handles one-off bulk jobs from the terminal. The scripted skills are for work you repeat or cannot afford to get wrong: they export first and stop at a threshold. Two skills cover connecting each.

What if the audit finds something no skill covers?

It offers to write the skill on the spot, and to contribute it back as a pull request. The skill set grows out of real portals, not a roadmap.

Is this a HubSpot product?

No. Independent open source, built from years of administering HubSpot portals. It works inside your existing portal; nothing gets replaced. HubSpot is a trademark of HubSpot, Inc.

Two commands and you're auditing

/plugin marketplace add tomgranot/hubspot-admin-skills /plugin install hubspot-admin@hubspot-admin-skills