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-serviceonly 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 inknowledge/platform/integrations/hubspot/hubspot-api-setup.mdv1.6,.cursor/rules/hubspot-logging.mdc, andknowledge/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.mdrepo-wide (replacing staleknowledge/standards/03-knowledge/engineering/setup/hubspot-api-setup.mdreferences).
1. Inventory (what touches HubSpot today)
| Skill / surface | Primary job | Write vs read |
|---|---|---|
| hubspot-new-opportunity | Net-new deal + company + contact + deal note (log-new-opportunity) | Write |
| partner-hubspot-ops | Partner Control Center ↔ company/contact; partner-hubspot notes/tasks | Write |
| partnership-hubspot-eod-payload | EOD JSON → HubSpot notes/tasks (approval-gated) | Write |
| hubspot-sales-funnel-hygiene | Router across monthly close / rollup / MBR paths | Mixed |
| hubspot-sales-review-rollup | Property / stage rollup maintenance | Mostly read + config |
| hubspot-its-monthly-sync | ITS CSV ↔ closed-won reconciliation | Human + sheet |
| hubspot-marketing-mql-deal | MQL / LinkedIn → draft deals for WBR/MBR | Draft / write |
| partner-ae-advisory | AE names, tiers, timeline (HubSpot MCP read) | Read |
| gtm-wbr-weekly-actuals / gtm-mbr-sql-stage-movements | Metrics that include HubSpot as a source | Read / sheet |
| gtm-review-sheet-context | Sheet context (pipeline, GTM) | Read |
hubspot-logging (.cursor/rules/hubspot-logging.mdc) | “Log via API” policy | Policy |
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
- Single
hubspot-crm-routerskill — one description that lists “which skill for which intent” with links (new opp vs partner note vs EOD vs marketing MQL vs hygiene). - Add “HubSpot” subsection to
delivery-orchestrator— only if delivery users often confuse CRM vs delivery. - 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)
- 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).
- Closed-won / invoice handoff skill — boundary with
hubspot-its-monthly-syncand Finance; reduce double-entry. - HubSpot property / pipeline guard — when stage IDs change (rollup skill exists; “who updates docs + portal” runbook).
C. Consolidation (merge candidates)
- Merge
hubspot-new-opportunity+partner-hubspot-ops— one mega “HubSpot writes” skill. - Merge all
hubspot-sales-*+hubspot-its-*into one “RevOps HubSpot” skill — one monthly monster doc. - Merge
partnership-hubspot-eod-payloadintodaily-partnership-refresh— EOD as a subsection only.
D. Hygiene (no new skill)
- Canonical
hubspot-api-setup.mdpath —several skills still cite the olddone (2026-04-21); canonical doc isknowledge/standards/…pathknowledge/platform/integrations/hubspot/hubspot-api-setup.md. reference-hubspot-access-modes.md— one-page “App vs MCP vs Private App token vs op read” linked from router + partner + new-opportunity.- Portal ID
47128656— document once; scripts/skills link to it or read from env.
E. Constraint flips
- “No new HubSpot skills” — only extend
partner-hubspotCLI + README; skills become thin wrappers. - “Skills are read-only maps” — all writes live in
tools/hubspot-api-servicepackage docs; agents only run npm scripts.
3. Critique — what to reject
| Idea | Verdict | Why |
|---|---|---|
| 7 — Mega merge new-opportunity + partner-hubspot-ops | Reject | Different audiences (net-new sales vs partner programs), different approval cadence; merged doc exceeds maintainability; cross-links already sufficient. |
| 8 — Merge all sales funnel + ITS skills | Reject | Different owners (Sales vs Finance), different frequencies; a mega-skill hurts skill-and-playbook-discovery precision. |
| 9 — Fold EOD payload into daily-partnership-refresh | Reject | EOD has legal/approval gates (#sales-partnerships, Robert); burying it loses visibility. Optional link improvement only. |
| 2 — delivery-orchestrator HubSpot block | Defer | Only if product evidence that CSOs confuse delivery vs CRM; otherwise noise. |
| 14 — Skills only as npm maps | Reject | Loses trigger text and allowed-tools gates; models need routing, not only package.json. |
4. Survivors (ranked)
| Rank | Idea | Type | Effort | Why it survives |
|---|---|---|---|---|
| 1 | Path + link hygiene (inventory item 10) | Doc / skill patch | Low | Stops agents hitting dead hubspot-api-setup paths; immediate trust win. |
| 2 | hubspot-crm-router skill (or equivalent HubSpot map in knowledge/.../hubspot/README.md + one line in each skill pointing to it) (1 + 3) | Router or doc | Low–Med | Reduces “which HubSpot skill?” without merging heavy skills. Prefer README hub map first, add router skill only if discovery still fails after 30 days. |
| 3 | Existing-deal / post-create workflow (4) | New skill or extend hubspot-new-opportunity + CLI | Med | Clear 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. |
| 4 | reference-hubspot-access-modes.md (11) | Reference | Low | Deduplicates “MCP vs token vs 1Password vault name” across partner, AE advisory, new opportunity, logging rule. |
| 5 | Explicit boundary doc: ITS sync ↔ rollup ↔ funnel hygiene (6 + table) | Doc | Low | Prevents three skills drifting into the same monthly checklist language. |
5. Synthesis — recommended sequence
- Week 0: Fix broken
hubspot-api-setuplinks across skills +partner-hubspot-opsreference (Survivor 1). - Week 0–1: Add HubSpot skill map table to
knowledge/platform/integrations/hubspot/README.md(Survivor 2, doc-first). - Next build slot: Either
note deal/task dealin Partner CLI + two lines inhubspot-new-opportunity+partner-hubspot-ops, or a slimhubspot-deal-activityskill if CLI stays partner-only by naming (Survivor 3). - When touching any HubSpot skill again: add
reference-hubspot-access-modes.mdand 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.