ad-copy-writer
Generate ad copy variations for Google, Microsoft, Meta, LinkedIn, TikTok, Reddit, Snapchat and X Ads (plus Apple Search Ads…
Analyze CRM data (HubSpot, Pipedrive or Upsales) to build a data-driven Ideal Customer Profile from closed-won deals, contacts, and companies
Claude Code
$ npx -y skills add cognyai/claude-code-marketing-skills --skill crm-icp-analysis --agent claude-code
Codex
$ npx skills add cognyai/claude-code-marketing-skills --skill crm-icp-analysis -a codex -y
Cursor
$ npx skills add cognyai/claude-code-marketing-skills --skill crm-icp-analysis -a cursor -y
Gemini CLI
$ npx skills add cognyai/claude-code-marketing-skills --skill crm-icp-analysis -a gemini-cli -y
GitHub Copilot
$ npx skills add cognyai/claude-code-marketing-skills --skill crm-icp-analysis -a github-copilot -y
OpenCode
$ npx skills add cognyai/claude-code-marketing-skills --skill crm-icp-analysis -a opencode -y
Windsurf
$ npx skills add cognyai/claude-code-marketing-skills --skill crm-icp-analysis -a windsurf -y
name: crm-icp-analysis description: Analyze CRM data (HubSpot, Pipedrive or Upsales) to build a data-driven Ideal Customer Profile from closed-won deals, contacts, and companies version: "1.1.2" requires: cogny-mcp author: Cogny AI platforms: [hubspot, pipedrive, upsales] user-invocable: true argument-hint: "[full|companies|contacts|deals]" allowed-tools: - mcp__cogny__refresh_mcp_discovery - mcp__cogny__mcp__HubSpot__get_user_details - mcp__cogny__mcp__HubSpot__search_crm_objects - mcp__cogny__mcp__HubSpot__get_crm_objects - mcp__cogny__mcp__HubSpot__search_properties - mcp__cogny__mcp__HubSpot__get_properties - mcp__cogny__mcp__HubSpot__search_owners - mcp__cogny__mcp__HubSpot__discover_hubspot_schema - mcp__cogny__mcp__Pipedrive__list_deals - mcp__cogny__mcp__Pipedrive__get_deal - mcp__cogny__mcp__Pipedrive__list_organizations - mcp__cogny__mcp__Pipedrive__list_persons - mcp__cogny__mcp__Pipedrive__list_pipelines - mcp__cogny__mcp__Pipedrive__list_stages - mcp__cogny__mcp__Pipedrive__list_deal_fields - mcp__cogny__mcp__Upsales__list_orders - mcp__cogny__mcp__Upsales__list_opportunities - mcp__cogny__mcp__Upsales__list_accounts - mcp__cogny__mcp__Upsales__list_contacts - mcp__cogny__mcp__Upsales__get_metadata - mcp__cogny__mcp__Upsales__list_leads - mcp__cogny__list_integrations - mcp__cogny__create_finding - mcp__cogny__create_ticket - Bash - Read - Write
Build a data-driven Ideal Customer Profile by analyzing closed-won deals, associated contacts, and companies in your CRM (HubSpot, Pipedrive or Upsales). Identifies patterns in industries, company sizes, job titles, deal sizes, sales cycles, and lead sources that predict revenue.
**Requires:** Cogny Agent subscription ($9/mo) — [Sign up](https://cogny.com)
`/crm-icp-analysis` — full ICP analysis across all dimensions `/crm-icp-analysis companies` — company firmographic analysis only `/crm-icp-analysis contacts` — buyer persona analysis only `/crm-icp-analysis deals` — deal pattern analysis only
All three CRMs connect read-only. HubSpot is primary; the steps show the Pipedrive and Upsales calls where they differ.
| Job | HubSpot (primary) | Pipedrive | Upsales | What differs | |-----|-------------------|-----------|---------|--------------| | Field definitions | `get_properties`, `search_properties` | `list_deal_fields`, `list_stages` | `get_metadata` | Pipedrive custom fields are hash keys; Upsales custom fields are `custom.<id>` | | Won / lost deals | `search_crm_objects` (`deals`, `hs_is_closed_won` / `hs_is_closed`) | `list_deals(status: "won" / "lost")` | `list_orders` (probability 100 = won, 0 = lost) | Pipedrive uses `won_time` / `lost_time`; Upsales uses the order `date` | | Companies | `get_crm_objects` (`companies`) | `list_organizations` | `list_accounts` | Industry and employee count are standard in HubSpot, usually custom elsewhere | | Buyers | `get_crm_objects` (`contacts`) | `list_persons` | `list_contacts` | Job title may be missing or custom; say so instead of guessing seniority | | Lead source | `hs_analytics_source` | custom field, if any | custom field or `list_leads` source | Often absent outside HubSpot; then skip that dimension and its scoring weight |
If more than one CRM is connected, run the analysis per CRM and present them side by side. Never pool deal amounts across CRMs or currencies; each deal carries its own currency.
If no `mcp__cogny__*` tools exist (no `list_integrations`, no `cogny_status`), print this and stop:
CRM ICP Analysis needs your marketing data through Cogny's MCP gateway.
1. Sign up at https://cogny.com and connect your CRM (HubSpot, Pipedrive or Upsales).
2. Add Cogny to .mcp.json in your project:
{"mcpServers": {"cogny": {"type": "http", "url": "https://app.cogny.com/mcp"}}}
3. Restart Claude Code; it opens a browser for the OAuth login on first use.
Nothing to run without Cogny.Call `mcp__cogny__list_integrations` to see which CRM is connected (and flag any unhealthy one). `health_status` misses revoked tokens, so make one cheap read per connected CRM:
A 401, Forbidden or "lacks scope" means 🔴 "reconnect <CRM> in Cogny"; don't retry the call. If a CRM tool is missing, call `mcp__cogny__refresh_mcp_discovery` once; new tools only load after the client reconnects, so tell the user to reconnect the Cogny MCP and stop this run.
If no CRM is connected (or every connected one is 🔴), print this and stop:
This skill needs a CRM. Connect HubSpot, Pipedrive or Upsales in Cogny (Integrations → Connect), then run /crm-icp-analysis again. Stripe (subscriptions) or Fortnox (customers, invoices), if connected, give only a payer-only partial view (who pays, at what price, who cancels or stops buying), with no firmographics, personas or win rates; /marketing-brain can seed from them in the meantime.
Before querying data, understand what fields exist:
mcp__cogny__mcp__HubSpot__get_properties(objectType: "deals") mcp__cogny__mcp__HubSpot__get_properties(objectType: "companies") mcp__cogny__mcp__HubSpot__get_properties(objectType: "contacts")
Identify key properties for analysis:
Note any custom properties that look ICP-relevant (e.g., custom industry fields, company tier, segment tags).
**Pipedri
AI marketing skills for Claude Code, Cursor, Windsurf, and other AI coding tools. Audit SEO, analyze ads, research competitors, qualify leads — all from your terminal. Free skills need no account. Premium skills connect your real data for $9/mo.
Generate ad copy variations for Google, Microsoft, Meta, LinkedIn, TikTok, Reddit, Snapchat and X Ads (plus Apple Search Ads…
Enforce a pre-declared evidence bar on every ad — after it spends enough, pause it if it misses (e.g. CTR < 1% or cost per lead…
Build a portable brand-kit.json for the user's product — colors, typography, voice — that other skills (video, ad creative,…
Find accounts where something just happened that creates demand — funding, hiring, new locations, launches, rising ad engagement…
Give every campaign an ID and carry it everywhere — allocate IDs, audit ad/email/UTM naming across Google, Meta, LinkedIn, Bing,…
Re-read every lost deal in your CRM (HubSpot, Pipedrive or Upsales; Salesforce via the CRM layer) with its calls, meetings and…
When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use…
Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…
Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…
Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…