Ira Bodnar··Updated ·12 min read

Claude Skills for HubSpot: 9 SKILL.md Files for Your CRM

Quick answer: Save each recurring HubSpot task as a Claude skill that says which records to search and what to hand back. Ryze AI is the best Claude connector for running these skills on live HubSpot data, with one caveat: it reaches 5 HubSpot tools, so lists are read-only and custom objects are not covered.

Below: 9 SKILL.md files for deals, contacts, owners and blog posts, install steps for Claude Code and claude.ai, and how to connect live data.

Ryze AI · Paid Ads

HubSpot skills on live CRM data

  • 7-day free trial, $89 a month flat

Used by 2,000+ marketers

Uber Eats logoadidas logoDuolingo logoMGM Resorts logoWharton logoLendingClub logoNorton logoEventbrite logoHuel logoTogether AI logoghd logoHack The Box logo

The 9 Claude skills for HubSpot at a glance

Skills 01 to 08 only read. Skill 09 changes records and is set so that only you can start it.

  1. 01Weekly pipeline digestDeals created, moved and closed this week

    Ryze AI tools it calls: hubspot__search, hubspot__read

    Cadence: Weekly

  2. 02Stale deal finderOpen deals nobody has touched

    Ryze AI tools it calls: hubspot__search

    Cadence: Weekly

  3. 03Close date checkOpen deals with a close date in the past

    Ryze AI tools it calls: hubspot__search

    Cadence: Weekly

  4. 04Missing fields auditDeals with no amount or close date

    Ryze AI tools it calls: hubspot__search, hubspot__read

    Cadence: Monthly

  5. 05Owner workloadOpen deals per account owner

    Ryze AI tools it calls: hubspot__read, hubspot__search

    Cadence: Weekly

  6. 06Duplicate checkContacts and companies that look the same

    Ryze AI tools it calls: hubspot__search, hubspot__listObjects

    Cadence: Monthly

  7. 07Property auditWhich properties exist and which are used

    Ryze AI tools it calls: hubspot__read, hubspot__listObjects

    Cadence: Quarterly

  8. 08Blog post inventoryPosts in the HubSpot blog with their state

    Ryze AI tools it calls: hubspot__read

    Cadence: Monthly

  9. 09Guarded record cleanupFix field values after you approve a list

    Ryze AI tools it calls: hubspot__search, hubspot__write

    Cadence: On demand

The tool names are the ones the Ryze AI connector exposes for HubSpot. Field names such as dealstage, amount and closedate are HubSpot property names from HubSpot's CRM search documentation.

What are Claude skills for HubSpot?

A Claude skill for HubSpot is a saved SKILL.md file that tells Claude which CRM records to look up and how to report them. Per Anthropic's Agent Skills docs, the file starts with a name and a description, and Claude reads the rest when a request matches the description.

The name allows up to 64 lowercase letters, numbers and hyphens and cannot contain the words claude or anthropic, so every skill here starts with hubspot. The description is capped at 1,024 characters and says what the skill does and when to use it.

  1. What it is

    One-off prompt
    A question in chat
    Skill
    A saved file with fixed searches and a fixed output
    HubSpot connection
    Tools Claude calls to reach your portal
  2. Setup

    One-off prompt
    None
    Skill
    Save the file once per Claude app
    HubSpot connection
    One HubSpot OAuth consent
  3. Same steps each run

    One-off prompt
    No
    Skill
    Yes
    HubSpot connection
    Depends on the prompt or skill

HubSpot's CRM search takes filter groups, a sort, a text query and a list of properties to return, which is what each skill below spells out (HubSpot CRM search docs). For the connector itself, see the HubSpot MCP page. For ad accounts, see Claude skills for Google Ads.

How to install the skills in Claude Code and claude.ai

Claude Code

Save each block as ~/.claude/skills/<skill-name>/SKILL.md for yourself, or .claude/skills/<skill-name>/SKILL.md inside a project to share it. Type /hubspot-stale-deals to run one, or let Claude pick it from the description (Claude Code skills docs).

claude.ai

Zip each skill folder and upload it as a custom skill. Anthropic lists custom skills on the Pro, Max, Ultra, Team and Enterprise plans with code execution enabled.

Connect the data

How to connect Claude to HubSpot covers each Claude app, and the HubSpot MCP page lists the tools.

Custom skills do not sync between surfaces: a skill uploaded to claude.ai is not in Claude Code, and the other way round. Anthropic advises using skills only from sources you trust, so read each file before saving it. More free skills are in the Claude skills library.

Pipeline skills: what moved and what stalled

These four read deals only. They give a sales lead a weekly view and a short list of deals to chase.

01. Weekly pipeline digest

Lists deals created, changed and closed in the last 7 days, grouped by pipeline stage. The skill has Claude read the pipeline definitions first, because HubSpot returns stages as internal IDs.

SKILL.md
--- name: hubspot-weekly-pipeline description: Weekly recap of HubSpot deals by pipeline stage. Use for a Monday pipeline update or when asked what moved in the CRM this week. --- # HubSpot weekly pipeline digest 1. hubspot__read the deal pipelines so stage IDs map to stage labels. 2. hubspot__search deals three times, asking for dealname, amount, closedate, pipeline, dealstage: - createdate in the last 7 days - hs_lastmodifieddate in the last 7 days - closedate in the last 7 days 3. Group by stage label. Say which deals are new, which changed and which closed. Output: 5 short sentences, then a table of deal, stage, amount, close date. Use CRM values only. Do not write to HubSpot.

Use it when: you send a Monday pipeline note and want it built from the CRM.

02. Stale deal finder

Finds open deals whose last modified date is old. hs_lastmodifieddate is a default deal property in HubSpot's search docs, so no custom field is needed.

SKILL.md
--- name: hubspot-stale-deals description: Finds open HubSpot deals with no recent changes. Use when asked which deals are stuck or need a follow-up. --- # HubSpot stale deals Ask for the number of days (default 30) and the pipeline. 1. hubspot__read the pipeline so closed stages can be excluded. 2. hubspot__search deals with hs_lastmodifieddate before today minus the days, dealstage not in a closed stage, sorted by hs_lastmodifieddate ascending. Properties: dealname, amount, closedate, dealstage, hs_lastmodifieddate. 3. If the result is 200 deals, say so and ask which stage to narrow to. Output: a table, oldest first, with days since last change. One line per deal on what to check. Read only.

Use it when: a rep or manager asks which deals have gone quiet.

03. Close date check

Lists open deals whose close date is already in the past. A forecast that includes them is overstated until the dates are moved or the deals are closed.

SKILL.md
--- name: hubspot-close-date-check description: Lists open HubSpot deals with a close date in the past. Use before a forecast call or pipeline review. --- # HubSpot close date check 1. hubspot__read the pipeline to find the open stages. 2. hubspot__search deals with closedate before today and dealstage in an open stage. Properties: dealname, amount, closedate, dealstage, hs_lastmodifieddate. Sort by amount descending. 3. Add the amount of all returned deals. Output: the total, then a table sorted by amount. Say which deals were also changed in the last 14 days. Read only.

Use it when: before a forecast call.

05. Owner workload

Counts open deals per account owner. Owners are a separate HubSpot resource, so the skill reads them and then searches deals.

SKILL.md
--- name: hubspot-owner-workload description: Counts open HubSpot deals and their amount per owner. Use when balancing the pipeline across the sales team. --- # HubSpot owner workload 1. hubspot__read the owners list to map owner IDs to names. 2. hubspot__read the deal property definitions and find the owner property. 3. hubspot__search open deals for the pipeline the user names. Properties: dealname, amount, dealstage and the owner property. 4. Count deals and add amounts per owner. Output: a table of owner, open deals, total amount. Flag deals with no owner. Read only.

Use it when: you rebalance accounts or a rep leaves.

Data quality skills: clean the CRM before you report on it

Reports from a CRM are only as good as its records. These skills find gaps and duplicates. The last one fixes values, and only after you approve the list.

04. Missing fields audit

Finds deals with no amount or no close date. Both are properties HubSpot's search docs use for deals, so both can be filtered.

SKILL.md
--- name: hubspot-missing-fields description: Finds HubSpot deals with no amount or no close date. Use before a forecast or when deal reports look too small. --- # HubSpot missing fields audit 1. hubspot__search deals that have no amount, open stages only. Properties: dealname, dealstage, closedate, hs_lastmodifieddate. 2. hubspot__search deals that have no closedate, open stages only. Same properties. 3. Merge the two lists and mark each deal as missing amount, missing close date or both. Output: counts first, then a table. Say how many results hit the page size of 200. Read only.

Use it when: deal totals look low or a forecast is due.

06. Duplicate check

Looks for contacts and companies that appear twice. It reports candidates only. Merging stays a decision in HubSpot.

SKILL.md
--- name: hubspot-duplicate-check description: Lists possible duplicate HubSpot contacts or companies. Use when asked to find repeated records before an import or cleanup. --- # HubSpot duplicate check Ask which object (contacts or companies) and for a name or domain to start from. 1. hubspot__read the property definitions for that object and pick the email or domain property. 2. hubspot__listObjects for the object, page by page, with that property and the name properties. 3. Group records whose email or domain match after lowercasing, or whose names differ by one word. 4. Use hubspot__search with a text query to confirm any pair you are unsure about. Output: groups of 2 or more records with their IDs and the property that matched. Do not merge or edit.

Use it when: before an import or after two teams used the same CRM.

07. Property audit

Reads property definitions and checks which ones hold values. HubSpot returns only a default set of properties unless you ask for specific ones, so the skill names them.

SKILL.md
--- name: hubspot-property-audit description: Reviews HubSpot property definitions for contacts, companies and deals and checks which are filled in. Use when taking over a portal. --- # HubSpot property audit 1. hubspot__read the property definitions for deals, then contacts, then companies. 2. List custom properties (not created by HubSpot) with label, type and group. 3. For the 10 most useful custom properties, hubspot__listObjects 100 records with those properties requested and count how many have a value. Output: a table of property, type, share of sampled records filled. Say it is a sample of 100. Read only.

Use it when: you take over a portal.

08. Blog post inventory

Lists the posts in the HubSpot blog with their publish state. Blog access needs the content scope on the HubSpot connection.

SKILL.md
--- name: hubspot-blog-inventory description: Lists HubSpot blog posts with title, state and dates. Use when asked what is published, drafted or outdated on the HubSpot blog. --- # HubSpot blog inventory 1. hubspot__read the blog posts resource. 2. Group posts by state (draft, scheduled, published). 3. Flag published posts with the oldest update date. Output: one table per state. Read only. Do not publish or archive.

Use it when: you plan a content refresh.

09. Guarded record cleanup

Fixes one field across a list of records you have already reviewed. It is the only skill here that writes. The frontmatter line disable-model-invocation: true stops Claude from starting it by itself, per the Claude Code docs.

SKILL.md
--- name: hubspot-guarded-cleanup description: Updates one HubSpot property on a reviewed list of records. Use only when the user asks for a cleanup and names the field and the new value. disable-model-invocation: true --- # HubSpot guarded cleanup 1. Ask for the object, the property and the new value. 2. hubspot__search the records that match. Show the count and the first 20 with the current value. 3. Stop and wait for the user to type the word approve. 4. After approve, hubspot__write the update for each record, then hubspot__search again to confirm the new value. Never call hubspot__delete from this skill. Report any record that failed to update.

Use it when: a value is wrong on a known set of records. In Claude, also set the write and delete tools to Needs approval, covered in the next section.

Quick HubSpot prompts: no skill file needed

For a one-time question, a plain prompt works once Claude can reach HubSpot. Replace the words in brackets.

Prompt
Search HubSpot deals in the [PIPELINE] pipeline created this month and list dealname, amount, dealstage and closedate, largest amount first.
Prompt
Read the list [LIST NAME] in HubSpot and tell me how many contacts it holds and which properties I can use to filter it.
Prompt
Look up the company [COMPANY] in HubSpot and list its associated contacts and open deals.
Prompt
Read the HubSpot owners and show which owner has no open deals.

If an answer looks off, ask Claude which tool it called and which properties it asked for.

How to run the skills on live HubSpot data

A skill only describes the work. Claude needs a connection to run it. The Ryze AI connector gives Claude 5 HubSpot tools:

  1. hubspot__listObjects

    What it does
    Lists CRM records of one object type page by page, with the properties you choose and associated record IDs
    Access
    Read
    Used by
    Skills 06, 07
  2. hubspot__search

    What it does
    Searches records with filter groups, sorts, a text query and chosen properties
    Access
    Read
    Used by
    Skills 01 to 06, 09
  3. hubspot__read

    What it does
    GET request to a HubSpot JSON API resource such as a record, property definitions, owners, a list or blog posts
    Access
    Read
    Used by
    Skills 01, 04, 05, 07, 08
  4. hubspot__write

    What it does
    Creates or updates a resource such as a contact, company, deal or blog post, and adds associations
    Access
    Write
    Used by
    Skill 09
  5. hubspot__delete

    What it does
    Archives a resource by ID
    Access
    Delete
    Used by
    No skill here

You connect HubSpot in Ryze AI by signing in to HubSpot, choosing the portal and approving the permissions (Ryze AI help center). Then add https://connector.get-ryze.ai/mcp as a custom connector in Claude. If the connector was added before HubSpot was connected, remove and re-add it so the tool list refreshes. Each connection is one portal, and several portals can sit in one workspace.

Approvals: the Ryze AI chat starts on Skip all approvals, and scheduled tasks run without an approval step. To require approval in Claude, open Customize > Connectors > Ryze AI > Tool permissions and set write and delete tools to Needs approval. Ryze AI plans and the 7-day trial are on the pricing page.

HubSpot's own MCP server and what changes for skills

HubSpot also runs a remote MCP server at https://mcp.hubspot.com. Its docs say it uses OAuth 2.0 with PKCE, requires you to create an MCP connector in your HubSpot account to get client credentials, and lists more than 50 tools covering CRM records, activities, content and marketing assets (HubSpot docs).

The skills above work with either one, because the skill files name what to look up and the connection supplies the tools. Tool names differ, so replace the hubspot__ names if you use HubSpot's own server. Pick HubSpot's server for its wider tool list. Pick the Ryze AI connector when you want HubSpot next to the other platforms on the same connector URL.

Troubleshooting: when a HubSpot skill returns a wrong answer

Claude has no HubSpot tools

Claude keeps the tool list from when you added the connector. Remove and re-add it, then start a new chat (Ryze AI connector FAQ).

A search stops at 200 results

HubSpot returns at most 200 results per page and 10,000 per search. Narrow by stage, date or owner.

A property comes back empty

HubSpot returns a default set of properties unless you name them. Put the property names in the skill.

A search is refused or slow

HubSpot limits search to 5 requests per second per account. Run one skill at a time.

A deleted record is gone

Most CRM deletes go to the HubSpot recycling bin. Deleted blog posts may not be recoverable, so keep delete tools on Needs approval.

Custom objects do not show

The Ryze AI connection does not claim custom object support. Use standard contacts, companies and deals.

Sources

The verdict

Turn each recurring CRM question into a skill with fixed searches. Start with the stale deal finder and the missing fields audit, keep the cleanup skill behind a typed approval, and leave one-off questions as prompts.

Ryze AI runs these skills in Claude on live HubSpot data through 5 tools. It does not edit lists, and custom objects are not covered.

Frequently asked questions

What are Claude skills for HubSpot?
SKILL.md files that tell Claude which HubSpot records to search, which properties to ask for and how to present the result. Claude loads one when a request matches its description, so each check follows the same steps.
Do I need a HubSpot connection to use these skills?
Yes for live data. Without a connection, attach a CRM export that has the columns a skill names. A connection removes the export step.
Which Claude plan do I need?
Anthropic lists custom skill uploads on claude.ai for Pro, Max, Ultra, Team and Enterprise with code execution enabled. In Claude Code, skills are folders on your computer. Custom connectors are available on Free, Pro, Max, Ultra, Team and Enterprise, with Free limited to one.
How does Ryze AI compare with HubSpot's own server for these skills?
Ryze AI puts HubSpot on the same connector URL as its other platforms. The trade-off: HubSpot's own MCP server lists more than 50 tools, while Ryze AI exposes 5 for HubSpot.
Show 8 more questions
Which Ryze AI tools do the skills use?
hubspot__search, hubspot__read and hubspot__listObjects for reading, hubspot__write for the one cleanup skill, and hubspot__delete is not used by any skill here.
Can the skills change my CRM?
Eight of the nine only read. The cleanup skill writes after you type approve. In Claude, you can also set write and delete tools to Needs approval under Customize > Connectors > Ryze AI > Tool permissions.
Does the Ryze AI chat ask before changing records?
By default the Ryze AI chat starts on Skip all approvals, and scheduled tasks run without an approval step. Switch the Tool approvals setting to Approve write & delete or Manual approve to review changes.
Can Claude edit HubSpot lists or custom objects?
No. The Ryze AI help center says lists are read, and the connection does not claim custom object support.
Which HubSpot permissions are needed?
You sign in to HubSpot, choose the portal and approve the permissions on the consent screen. They cover contacts, companies and deals, owners, lists and content. Blog skills need the content scope.
Can I use more than one HubSpot portal?
Yes. Several portals can be connected to one workspace. One is the primary and answers by default unless you name another.
How much does it cost?
Connecting is free. The tools need an active plan or trial: Paid Ads is $89 a month with a 7-day free trial, and annual billing is 30% off the first year.
Do these skills work with HubSpot's own MCP server?
Yes, with edits. The skills describe the work, and HubSpot's server at mcp.hubspot.com uses different tool names, so replace the hubspot__ names with its tools.

Related guides

Ryze AI: HubSpot skills on live data

7-day free trial, $89 a month flat

Start free trial