Ideation: HubSpot skills — create vs consolidate

Date: 2026-04-21
Focus: /ce-ideate — HubSpot-related agent skills: what to add, what to merge, what to leave alone
Mode: Repo-grounded (.cursor/skills, tools/hubspot-api-service, knowledge/platform/integrations/hubspot/)

Owner decisions (2026-04-21)

  • Access policy: HubSpot MCP is the standard for agents in Cursor; use the REST API / tools/hubspot-api-service only when MCP lacks the capability or is impractically slow for volume, or for explicit scripts/CI. Humans still use the web app for deep UI work. Documented in knowledge/platform/integrations/hubspot/hubspot-api-setup.md v1.6, .cursor/rules/hubspot-logging.mdc, and knowledge/platform/integrations/hubspot/README.md.
  • Motion split: Keep Sales, Partner, and CRO as separate concerns (table in integration README); do not merge mega-skills.
  • Link hygiene: Canonical playbook path is knowledge/platform/integrations/hubspot/hubspot-api-setup.md repo-wide (replacing stale knowledge/standards/03-knowledge/engineering/setup/hubspot-api-setup.md references).

1. Inventory (what touches HubSpot today)

Skill / surfacePrimary jobWrite vs read
hubspot-new-opportunityNet-new deal + company + contact + deal note (log-new-opportunity)Write
partner-hubspot-opsPartner Control Center ↔ company/contact; partner-hubspot notes/tasksWrite
partnership-hubspot-eod-payloadEOD JSON → HubSpot notes/tasks (approval-gated)Write
hubspot-sales-funnel-hygieneRouter across monthly close / rollup / MBR pathsMixed
hubspot-sales-review-rollupProperty / stage rollup maintenanceMostly read + config
hubspot-its-monthly-syncITS CSV ↔ closed-won reconciliationHuman + sheet
hubspot-marketing-mql-dealMQL / LinkedIn → draft deals for WBR/MBRDraft / write
partner-ae-advisoryAE names, tiers, timeline (HubSpot MCP read)Read
gtm-wbr-weekly-actuals / gtm-mbr-sql-stage-movementsMetrics that include HubSpot as a sourceRead / sheet
gtm-review-sheet-contextSheet context (pipeline, GTM)Read
hubspot-logging (.cursor/rules/hubspot-logging.mdc)“Log via API” policyPolicy

Tooling: tools/hubspot-api-service — Partner CLI, log-new-opportunity, deals SDK, MCP launcher docs.


2. Raw candidates (six frames → merged)

Ideas generated across pain, inversion, reframing, leverage, analogy, constraint-flip; duplicates merged.

A. Router / discovery

  1. Single hubspot-crm-router skill — one description that lists “which skill for which intent” with links (new opp vs partner note vs EOD vs marketing MQL vs hygiene).
  2. Add “HubSpot” subsection to delivery-orchestrator — only if delivery users often confuse CRM vs delivery.
  3. README-only hub map in `knowledge/platform/integrations/hubspot/README.md** — no new skill, just a table (inversion: solve discovery without another SKILL).

B. Gaps (missing skills)

  1. Existing-deal hygiene skill — note on deal by ID, task on deal, stage bump, attach Linear URL (today: partner CLI has deal rename only; new-opportunity creates new deals only).
  2. Closed-won / invoice handoff skill — boundary with hubspot-its-monthly-sync and Finance; reduce double-entry.
  3. HubSpot property / pipeline guard — when stage IDs change (rollup skill exists; “who updates docs + portal” runbook).

C. Consolidation (merge candidates)

  1. Merge hubspot-new-opportunity + partner-hubspot-ops — one mega “HubSpot writes” skill.
  2. Merge all hubspot-sales-* + hubspot-its-* into one “RevOps HubSpot” skill — one monthly monster doc.
  3. Merge partnership-hubspot-eod-payload into daily-partnership-refresh — EOD as a subsection only.

D. Hygiene (no new skill)

  1. Canonical hubspot-api-setup.md pathseveral skills still cite the old knowledge/standards/… path done (2026-04-21); canonical doc is knowledge/platform/integrations/hubspot/hubspot-api-setup.md.
  2. reference-hubspot-access-modes.md — one-page “App vs MCP vs Private App token vs op read” linked from router + partner + new-opportunity.
  3. Portal ID 47128656 — document once; scripts/skills link to it or read from env.

E. Constraint flips

  1. “No new HubSpot skills” — only extend partner-hubspot CLI + README; skills become thin wrappers.
  2. “Skills are read-only maps” — all writes live in tools/hubspot-api-service package docs; agents only run npm scripts.

3. Critique — what to reject

IdeaVerdictWhy
7 — Mega merge new-opportunity + partner-hubspot-opsRejectDifferent audiences (net-new sales vs partner programs), different approval cadence; merged doc exceeds maintainability; cross-links already sufficient.
8 — Merge all sales funnel + ITS skillsRejectDifferent owners (Sales vs Finance), different frequencies; a mega-skill hurts skill-and-playbook-discovery precision.
9 — Fold EOD payload into daily-partnership-refreshRejectEOD has legal/approval gates (#sales-partnerships, Robert); burying it loses visibility. Optional link improvement only.
2 — delivery-orchestrator HubSpot blockDeferOnly if product evidence that CSOs confuse delivery vs CRM; otherwise noise.
14 — Skills only as npm mapsRejectLoses trigger text and allowed-tools gates; models need routing, not only package.json.

4. Survivors (ranked)

RankIdeaTypeEffortWhy it survives
1Path + link hygiene (inventory item 10)Doc / skill patchLowStops agents hitting dead hubspot-api-setup paths; immediate trust win.
2hubspot-crm-router skill (or equivalent HubSpot map in knowledge/.../hubspot/README.md + one line in each skill pointing to it) (1 + 3)Router or docLow–MedReduces “which HubSpot skill?” without merging heavy skills. Prefer README hub map first, add router skill only if discovery still fails after 30 days.
3Existing-deal / post-create workflow (4)New skill or extend hubspot-new-opportunity + CLIMedClear product gap: after deal exists, teams still need note-on-deal, task-on-deal, stage updates; today scattered between UI, one-off API, and deal rename only.
4reference-hubspot-access-modes.md (11)ReferenceLowDeduplicates “MCP vs token vs 1Password vault name” across partner, AE advisory, new opportunity, logging rule.
5Explicit boundary doc: ITS sync ↔ rollup ↔ funnel hygiene (6 + table)DocLowPrevents three skills drifting into the same monthly checklist language.

  1. Week 0: Fix broken hubspot-api-setup links across skills + partner-hubspot-ops reference (Survivor 1).
  2. Week 0–1: Add HubSpot skill map table to knowledge/platform/integrations/hubspot/README.md (Survivor 2, doc-first).
  3. Next build slot: Either note deal / task deal in Partner CLI + two lines in hubspot-new-opportunity + partner-hubspot-ops, or a slim hubspot-deal-activity skill if CLI stays partner-only by naming (Survivor 3).
  4. When touching any HubSpot skill again: add reference-hubspot-access-modes.md and link once (Survivor 4).

6. Next step menu (ce:ideate handoff)

  • Refine — Narrow Survivor 3 to “CLI only” vs “skill + CLI” and name the deal-stage source of truth.
  • ce:brainstorm — Pick one survivor (e.g. deal-activity) and define acceptance criteria + file touch list.
  • ce:plan — Implementation plan for link sweep + README hub map (low risk).
  • Save and end — Use this doc as the decision record; no code until a later message picks a branch.

7. Cost / method note

Single orchestrator pass (inventory + frames + critique) in Cursor; no parallel sub-agent dispatch. Full ce:ideate multi-agent run can re-ground with web-researcher / learnings-researcher if you want external CRM skill-market comparisons.