Agent skill

CRM

by magnus919 in magnus919/agent-skills

Operate HubSpot CRM from a terminal or agent: list and search contact records, view deal pipeline stages, and — with explicit confirmation — move deals between stages, backed by a bundled crm-cli…

MITAuto-check passedSales & Support

Install CRM

skills CLI
$ npx skills add magnus919/agent-skills --skill crm -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install magnus919/agent-skills crm --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/magnus919/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/crm .claude/skills/crm && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
crm
GitHub stars
115
Token cost
~2.1k tokens
SKILL.md length
892 words
Files
7 (incl. scripts, references)
Skills in repo
131
Repo updated
First seen
Licence
MIT

At a glance

Operate HubSpot CRM from a terminal or agent: list and search contact records, view deal pipeline stages, and — with explicit confirmation — move deals between stages, backed by a bundled crm-cli…

  • Works in 5 steps: Read-only discovery before any mutation.… → Confirm the target, scope, and rollback… → Respect bounded reads. HubSpot pages… → …
  • An agent needs to answer questions about contacts
  • SKILL.md covers Operating contract, The crm-cli script, Operating loop and Records, search, pipeline views, plus 6 more sections
  • Runs Python scripts from its folder; needs HUBSPOT_TOKEN

What it does

CRM is an agent skill from magnus919/agent-skills. Operate HubSpot CRM from a terminal or agent: list and search contact records, view deal pipeline stages, and — with explicit confirmation — move deals between stages, backed by a bundled crm-cli script that is read-only by default and gates every stage change behind a --dry-run/--yes confirmation. Use when an agent needs to answer questions about contacts or deals, produce pipeline views, or apply a confirmed stage change. Do not use for building HubSpot apps or workflow automations (that is HubSpot app…

Its SKILL.md is about 2.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `README.md`, `evals/evals.json` and `references/00-source-index.md`). Compatibility notes: The bundled crm-cli script runs on Python 3.9+ with only the standard library. --help and all reads need no network beyond api.hubapi.com; live reads require…

It sits in Sales & Support, covering CRM management. It works with HubSpot and Salesforce. The repository describes itself as: Curated collection of AI agent skills for Hermes and other agent frameworks. The licence is MIT.

When your agent uses it

  • An agent needs to answer questions about contacts
  • Produce pipeline views
  • Apply a confirmed stage change
  • Building HubSpot apps

Example prompts

  • “/crm”

Requirements

  • Python 3
  • A credential in HUBSPOT_TOKEN
  • Compatibility (from SKILL.md): The bundled crm-cli script runs on Python 3.9+ with only the standard library. --help and all reads need no network beyond api.hubapi.com; live reads require a HubSpot private app access token with the relevant object scopes (crm.objects.contacts.read, crm.objects.deals.read) and network access to api.hubapi.com.

Workflow steps

5 steps, taken from the first numbered list in SKILL.md.

  1. Read-only discovery before any mutation. List and search contacts, view deals and pipelines freely. The bundled crm-cli script makes reads…
  2. Confirm the target, scope, and rollback path before acting. Moving a deal to a new stage changes a shared pipeline that revenue reporting…
  3. Respect bounded reads. HubSpot pages with limit; never page past what the task needs. crm-cli --limit caps every listing and search.
  4. Keep evidence bounded. Quote short names, emails, amounts, and stage labels; never dump full records, tokens, or raw payloads into chat.
  5. Know the object model. Contacts and deals are distinct objects with property maps; stage transitions must use a stage ID from the deal's…

What it can do on your machine

Read from SKILL.md and the folder at commit 22b4723. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • HUBSPOT_TOKEN

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    The bundled crm-cli script runs on Python 3.9+ with only the standard library. --help and all reads need no network beyond api.hubapi.com; live reads require a HubSpot private app access token with the relevant object scopes (crm.objects.contacts.read, crm.objects.deals.read) and network access to api.hubapi.com.

    From compatibility in the SKILL.md frontmatter.

Context cost

CRM loads about 2.1k tokens when it runs, and up to ~3.3k if it reads all its reference files. Until then it costs about 154 tokens; SKILL.md has 892 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~154
When it runs · the whole SKILL.md, loaded when a task matches
~2.1k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~3.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from magnus919/agent-skills at commit 22b4723, republished under its MIT licence (© magnus919). 892 words, ~2,052 tokens.

Download SKILL.mdSave it as .claude/skills/crm/SKILL.md (or your agent's skills folder). This skill also uses 6 other files; get the full folder from GitHub.
name
crm
description
Operate HubSpot CRM from a terminal or agent: list and search contact records, view deal pipeline stages, and — with explicit confirmation — move deals between stages, backed by a bundled crm-cli script that is read-only by default and gates every stage change behind a --dry-run/--yes confirmation. Use when an agent needs to answer questions about contacts or deals, produce pipeline views, or apply a confirmed stage change. Do not use for building HubSpot apps or workflow automations (that is HubSpot app development), marketing/sequence automation, or other CRMs like Salesforce (that is their own tooling).
compatibility
The bundled crm-cli script runs on Python 3.9+ with only the standard library. --help and all reads need no network beyond api.hubapi.com; live reads require a HubSpot private app access token with the relevant object scopes (crm.objects.contacts.read, crm.objects.deals.read) and network access to api.hubapi.com.
license
MIT
metadata.source
https://developers.hubspot.com/docs/api/crm/understanding-the-crm
metadata.source_index
references/00-source-index.md
metadata.research_checked
2026-08-03

HubSpot CRM Operations

Use this skill to read and, with explicit confirmation, update HubSpot CRM data through the HubSpot CRM v3 API: contact records, contact search, deal pipeline views, and deal stage changes. This is a tool skill for one CRM vendor (HubSpot). Building HubSpot apps or workflows is application development; this skill owns the everyday agent workflow: answering "who is this contact?", "what is in the pipeline?", and applying a confirmed stage change.

Operating contract

  1. Read-only discovery before any mutation. List and search contacts, view deals and pipelines freely. The bundled crm-cli script makes reads without writing anything.
  2. Confirm the target, scope, and rollback path before acting. Moving a deal to a new stage changes a shared pipeline that revenue reporting reads: it requires an explicit human directive naming the deal and the target stage, plus --dry-run preview and --yes confirmation through crm-cli. Stage moves are reversible but leave audit history — confirm before acting.
  3. Respect bounded reads. HubSpot pages with limit; never page past what the task needs. crm-cli --limit caps every listing and search.
  4. Keep evidence bounded. Quote short names, emails, amounts, and stage labels; never dump full records, tokens, or raw payloads into chat.
  5. Know the object model. Contacts and deals are distinct objects with property maps; stage transitions must use a stage ID from the deal's pipeline (pipelines list), not a stage label.

The crm-cli script

scripts/crm-cli is an agent-first, stdlib-only CLI over the HubSpot CRM v3 API. It covers the full issue scope: records, search, and pipeline views.

bash
crm/scripts/crm-cli --help                                # no token or network needed
crm/scripts/crm-cli --json --limit 20 contacts list
crm/scripts/crm-cli --json contacts get --id 51
crm/scripts/crm-cli --json contacts search --query "ada"
crm/scripts/crm-cli --json --limit 20 deals list
crm/scripts/crm-cli --json deals list --pipeline default --stage appointmentscheduled
crm/scripts/crm-cli --json pipelines list
crm/scripts/crm-cli deals update-stage --id 901 --stage closedwon --dry-run   # preview
crm/scripts/crm-cli deals update-stage --id 901 --stage closedwon --yes       # confirmed

Exit codes: 0 success, 1 API error or failed check, 2 usage error. Stage changes are guarded: without --dry-run or --yes the script refuses with exit 1 and never calls the API. Reads are bounded by --limit (default 20, max 100).

Operating loop

  1. Scope the question: is this a lookup (who/what is in the CRM) or a change (move a deal)? Locate the object with contacts search/contacts list or deals list.
  2. Read with bounds: contacts get for one record, deals list for the pipeline view (optionally filtered by pipeline and stage), pipelines list to resolve stage labels to IDs.
  3. Triage the answer: map the question to evidence (contact details, deal amount/stage, pipeline distribution).
  4. Act with confirmation: only a human directive to change, previewed with --dry-run and confirmed with --yes.
  5. Verify: re-read the deal (deals list --stage <target>) and confirm the stage moved.

Records, search, pipeline views

  • Contact records (/objects/contacts): list (GET) or retrieve one (GET by ID); the CLI summarizes first/last name, email, company, and created date. Search (POST /objects/contacts/search) finds contacts by query text, bounded by --limit.
  • Deal pipeline views (/objects/deals): list deals with amount, pipeline, and stage, optionally filtered to one pipeline or stage. pipelines list (/pipelines/deals) returns the pipelines with their stage IDs and labels — use the stage ID when filtering or updating.
  • Stage changes (PATCH /objects/deals/{id}): a guarded mutation that sets the dealstage property. Preview the target stage with --dry-run, confirm with --yes, and verify with a follow-up read. Only stage moves are in scope; other deal property edits are application work.
Show full SKILL.md (373 more words)Show less

Access model

  • HubSpot private app access tokens (pat_...) scope per object and read/write. Reads need crm.objects.contacts.read and crm.objects.deals.read; stage updates need crm.objects.deals.write.
  • Records carry a properties map keyed by property names (e.g. dealstage, dealname, amount). Property values are strings; the CLI summarizes the fields this skill uses.
  • Tokens are credentials: store in HUBSPOT_TOKEN, never in code, chat, or commits. Rotate a leaked token in the private app settings.

Reference routing

Load whenReference
Sources, scope tables, refresh procedurereferences/00-source-index.md
Endpoints, pagination, object model, stage updates, errorsreferences/01-hubspot-crm-operations.md

Included artifacts

  • scripts/crm-cli: bounded, stdlib-only CLI (contacts list/get/search, deals list/update-stage, pipelines list; --json; --limit; mutations gated by --dry-run/--yes).
  • tests/test_crm_cli.py: 13 deterministic tests against a stub HubSpot API, including the mutation gate and the read-only contract.
  • references/: dated source index + HubSpot CRM operations reference.
  • evals/evals.json: six output-quality evaluation cases for agent runs.

Verification boundary

ClaimMinimum evidence
A contact existscrm-cli contacts search --query ... --json or contacts get returns the record
A pipeline view is accuratecrm-cli deals list --json returns deals with stage IDs and the filter applied
A stage label maps to an IDcrm-cli pipelines list --json returns the pipeline stage map
A stage change landedcrm-cli deals update-stage --yes exits 0 and a follow-up deals list --stage shows the deal
A mutation is safe to runcrm-cli deals update-stage --dry-run prints the exact deal + target stage

Hard boundaries

  • Never move a deal without a human directive, --dry-run preview, and --yes confirmation — pipeline changes feed revenue reporting and audit history.
  • Never claim a record is missing when the token may lack object scope; check the access model first.
  • Never page reads past --limit; never dump full records, tokens, or raw payloads into chat.
  • This skill operates the HubSpot CRM API. It does not build HubSpot apps or cover other CRMs.

When not to use

  • Building HubSpot apps, workflow automations, or custom objects — that is HubSpot app development; see backend-engineering for service design.
  • Marketing, sequences, and email automation in HubSpot — that is the HubSpot Marketing surface, not the CRM API this skill covers.
  • Other CRMs (Salesforce, Pipedrive, Zoho) — each has its own API and tooling; this skill covers HubSpot.
  • CRM strategy, sales process design, or pipeline methodology — that is organizational/strategy work, not an API operation.

© magnus919, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 6 other files (scripts, references) in crm of magnus919/agent-skills.

  • SKILL.md
  • README.md
  • evals/evals.json
  • references/00-source-index.md
  • references/01-hubspot-crm-operations.md
  • scripts/crm-cli
  • tests/test_crm_cli.py

Open the folder on GitHubat commit 22b4723

Compare with similar skills

CRM next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

CRM compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
CRM this skillmagnus919/agent-skills115—~2.1kAutomated safety check: PassMIT
Google Maps Exportgmapsscraper/google-maps-agent-skills132—~1.2kAutomated safety check: PassMIT
Pipeline Reviewgooseworks-ai/goose-skills1.2k1 repos~6.9kAutomated safety check: PassMIT
Hubspot Bulk Migrationjeremylongshore/tons-of-skills-marketplace2.8k—~3.9kAutomated safety check: PassMIT
CRM Integrationmanojbajaj95/claude-gtm-plugin105—~3.8kAutomated safety check: PassMIT
Fathom Core Workflow Bjeremylongshore/tons-of-skills-marketplace2.8k—~871Automated safety check: PassMIT

Similar skills

  • Google Maps Export

    gmapsscraper/google-maps-agent-skills

    Export Google Maps business data to CSV, JSON, or CRM format (HubSpot, Pipedrive, Salesforce).

    132 GitHub stars~1.2k tokensUpdated 4 mo ago
    Sales & SupportAuto-check passed
  • Pipeline Review

    gooseworks-ai/goose-skills

    Pipeline analysis composite. An agent skill from gooseworks-ai/goose-skills.

    1.2k GitHub starsUsed in 1 repo~6.9k tokens
    Sales & SupportAuto-check passed
  • Hubspot Bulk Migration

    jeremylongshore/tons-of-skills-marketplace

    Bulk-migrate CRM data into HubSpot from Salesforce, Pipedrive, or Copper — or export off HubSpot — with field mapping, ID continuity, association re-linking, dedup safety, rate-limit budgeting, and…

    2.8k GitHub stars~3.9k tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • CRM Integration

    manojbajaj95/claude-gtm-plugin

    CRM integration patterns for Close CRM, HubSpot, and Salesforce.

    105 GitHub stars~3.8k tokensUpdated 23 days ago
    Sales & SupportAuto-check passed
  • Fathom Core Workflow B

    jeremylongshore/tons-of-skills-marketplace

    Sync Fathom meeting data to CRM and build automated follow-up workflows.

    2.8k GitHub stars~871 tokensUpdated yesterday
    Sales & SupportAuto-check passed
  • CRM Data Cleaner

    LeoYeAI/openclaw-master-skills

    Deduplicate, normalize, and enrich CRM contacts and companies.

    2.2k GitHub stars~7.3k tokensUpdated 2 mo ago
    Sales & SupportAuto-check passed

More from magnus919/agent-skills

All 131 skills in this repo
  • Artifact Pyramids

    magnus919/agent-skills

    Organize durable agent research outputs as summaries, analysis, and evidence dossiers.

    119 GitHub stars~2.7k tokensUpdated today
    Auto-check passed
  • Ascii City Engine

    magnus919/agent-skills

    Build portable, first-person colored ASCII city engines and small GIS-derived city packs.

    119 GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Color Management

    magnus919/agent-skills

    Manage color workflows with ICC profiles, working spaces, gamut mapping, and color science.

    119 GitHub stars~2.6k tokensUpdated today
    Auto-check: notes
  • Data Scientist

    magnus919/agent-skills

    A skill your agent uses for PhD-level expertise in data science, statistics, and machine learning: rigorous statistical analysis, experimental design, causal inference, advanced modeling, research…

    119 GitHub stars~4.1k tokensUpdated today
    Auto-check passed
  • Docker Compose

    magnus919/agent-skills

    Use Docker Compose to define, run, debug, and harden multi-container applications.

    119 GitHub stars~2k tokensUpdated today
    Auto-check: notes
  • Fpga Development

    magnus919/agent-skills

    Design, review, simulate, and verify FPGA logic using explicit RTL contracts, clock and reset models, CDC analysis, timing constraints, and reproducible implementation evidence.

    119 GitHub stars~2.7k tokensUpdated today
    Auto-check passed

Categories

Questions about CRM

What does CRM do?

Operate HubSpot CRM from a terminal or agent: list and search contact records, view deal pipeline stages, and — with explicit confirmation — move deals between stages, backed by a bundled crm-cli…. CRM is an agent skill from magnus919/agent-skills. Operate HubSpot CRM from a terminal or agent: list and search contact records, view deal pipeline stages, and — with explicit confirmation — move deals between stages, backed by a bundled crm-cli script that is read-only by default and gates every stage change behind a --dry-run/--yes confirmation.

When should I use CRM?

CRM fits situations like: an agent needs to answer questions about contacts; produce pipeline views; apply a confirmed stage change; building HubSpot apps.

How do I install CRM in Claude Code?

Run `npx skills add magnus919/agent-skills --skill crm -a claude-code`. Or copy the skill folder (crm in magnus919/agent-skills) into .claude/skills/crm in your project. Claude Code loads it when a task matches its description.

How do I install CRM in Codex?

Run `npx skills add magnus919/agent-skills --skill crm -a codex`. Or copy the skill folder (crm in magnus919/agent-skills) into .agents/skills/crm in your project. Codex loads it when a task matches its description.

Can I use CRM in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add magnus919/agent-skills --skill crm -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/crm, .gemini/skills/crm, .github/skills/crm and .opencode/skills/crm in your project.

What does CRM need to run?

Going by SKILL.md and its folder, CRM needs Python for the scripts in its folder and credentials named HUBSPOT_TOKEN. Our summary lists: Python 3; A credential in HUBSPOT_TOKEN. Compatibility (from SKILL.md): The bundled crm-cli script runs on Python 3.9+ with only the standard library. --help and all reads need no network beyond api.hubapi.com; live reads require a HubSpot private app access token with the relevant object scopes (crm.objects.contacts.read, crm.objects.deals.read) and network access to api.hubapi.com..

Does CRM access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is CRM safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does CRM use?

CRM is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does CRM use?

About 2.1k tokens (SKILL.md is roughly 8.2k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.3k tokens, read only when the agent opens those files.

What are the alternatives to CRM?

Skills that share tags, products or a category with CRM: Google Maps Export (gmapsscraper/google-maps-agent-skills, 132 stars), Pipeline Review (gooseworks-ai/goose-skills, 1.2k stars), Hubspot Bulk Migration (jeremylongshore/tons-of-skills-marketplace, 2.8k stars) and CRM Integration (manojbajaj95/claude-gtm-plugin, 105 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains CRM?

magnus919 (a GitHub user) maintains it in magnus919/agent-skills, which has 115 GitHub stars. The repository holds 131 skills in this directory. The repository was last updated on October 10, 2026.

Source: magnus919/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.