/linkedin-micro-campaigns
Create precision-targeted LinkedIn ad campaigns for specific ICP segments — translates CRM data to LinkedIn targeting
$ npx -y skills add cognyai/claude-code-marketing-skills --skill linkedin-micro-campaigns --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/linkedin-micro-campaigns
Context preview
The summary Claude sees to decide when to auto-load this skill.
Create precision-targeted LinkedIn ad campaigns for specific ICP segments — translates CRM data to LinkedIn targeting
SKILL.md
linkedin-micro-campaigns.SKILL.mdname: linkedin-micro-campaigns
description: Create precision-targeted LinkedIn ad campaigns for specific ICP segments — translates CRM data to LinkedIn targeting
version: "1.0.0"
author: Cogny AI
platforms: [hubspot, linkedin-ads]
user-invocable: true
argument-hint: "<ICP description or segment>"
allowed-tools:
# HubSpot CRM tools (for ICP data extraction)
- mcp__cogny__hubspot__*
# LinkedIn Ads tools
- mcp__cogny__linkedin_ads__*
# Findings
- mcp__cogny__create_finding
- Bash
- Read
- Write
LinkedIn Micro Campaigns
Create highly targeted LinkedIn ad campaigns for specific ICP segments. Translates your Ideal Customer Profile (from CRM data or manual input) into precision LinkedIn targeting criteria, estimates audience sizes, and builds campaign groups with campaigns and creatives.
**Requires:** Cogny Agent subscription ($9/mo) — [Sign up](https://cogny.com/agent)
**Tip:** Run `/crm-icp-analysis` first to generate a data-driven ICP, then feed the output into this skill. You can also run `/crm-sales-momentum` to identify which segments close fastest and target those specifically.
Usage
`/linkedin-micro-campaigns "VP Marketing at SaaS companies, 200-1000 employees"` — create campaigns from a description `/linkedin-micro-campaigns` — pull ICP from HubSpot CRM data automatically
Prerequisites Check
Verify LinkedIn Ads access (required):
linkedin_ads__tool_list_ad_accounts
If HubSpot is also connected (for automatic ICP extraction), verify:
hubspot__get_user_details
If LinkedIn Ads is not available:
This skill requires Cogny's LinkedIn Ads MCP server.
Sign up at https://cogny.com/agent and connect your LinkedIn Ads account.
HubSpot is optional — if connected, ICP data is extracted automatically.
Without HubSpot, provide your ICP description as an argument.
Steps
1. Establish ICP targeting inputs
**If ICP description is provided as argument**, parse it for:
- Job titles / functions / seniority
- Industries
- Company sizes
- Geographic targets
- Any other targeting dimensions mentioned
**If no argument is provided and HubSpot is connected**, extract ICP from CRM:
Pull closed-won deal data to identify top-performing segments:
hubspot__search_crm_objects(
objectType: "deals",
filterGroups: [{"filters": [{"propertyName": "dealstage", "operator": "EQ", "value": "closedwon"}]}],
properties: ["dealname", "amount", "closedate"],
sorts: [{"propertyName": "closedate", "direction": "DESCENDING"}],
limit: 50
)Fetch associated companies and contacts to extract:
- **Top industries** from winning companies
- **Company size bands** from winning companies
- **Job titles and seniority** from buyer contacts
- **Geographies** from winning companies
Group into 2-3 distinct micro-segments based on the data (e.g., "Enterprise Marketing Leaders", "Mid-Market Sales Directors", "Startup Founders").
2. Translate ICP to LinkedIn targeting facets
For each micro-segment, map ICP dimensions to LinkedIn targeting entities.
**Job Titles** — search for exact LinkedIn targeting entities:
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:titles", query: "<title from ICP>")
**Job Functions:**
linkedin_ads__tool_get_targeting_facets()
Then search within job functions for relevant matches.
**Seniorities:**
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:seniorities", query: "<level>")
**Industries:**
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:industries", query: "<industry from ICP>")
**Company Sizes:**
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:staffCountRanges", query: "<size range>")
**Locations:**
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:locations", query: "<geo from ICP>")
Build the targeting criteria object for each micro-segment using AND logic:
{
"include": {
"and": [
{"or": {"urn:li:adTargetingFacet:titles": ["<title URNs>"]}},
{"or": {"urn:li:adTargetingFacet:seniorities": ["<seniority URNs>"]}},
{"or": {"urn:li:adTargetingFacet:industries": ["<industry URNs>"]}},
{"or": {"urn:li:adTargetingFacet:staffCountRanges": ["<size URNs>"]}},
{"or": {"urn:li:adTargetingFacet:locations": ["<location URNs>"]}}
]
}
}3. Estimate audience sizes
For each micro-segment targeting combination, check the audience size:
linkedin_ads__tool_get_audience_counts(ad_account_id: <id>, targeting_criteria: <targeting object>)
Evaluate each segment:
- **Too narrow** (<1,000): broaden titles or add related job functions
- **Narrow but viable** (1,000-10,000): good for ABM, may need higher bids
- **Sweet spot** (10,000-100,000): ideal for micro-campaigns
- **Too broad** (>300,000): add more filters to tighten
Iterate on targeting until each segment hits a viable audience size. Document adjustments made.
4. Check for overlap with existing campaigns
Review existing campaigns to avoid audience overlap:
linkedin_ads__tool_get_campaign_groups(ad_account_id: <id>)
linkedin_ads__tool_get_campaigns(ad_account_id: <id>, status_filter: "ACTIVE")
For each active campaign, compare targeting criteria. Flag overlaps and recommend:
- Exclude overlapping audiences
- Merge with existing campaigns if targeting is very similar
- Proceed if distinct enough
5. Present campaign structure for approval
**CRITICAL: Wait for user approval before creating anything.**
Present the proposed structure:
┌─────────────────────────────────────────────────────────────────────┐
│ PROPOSED MICRO-CAMPAIGN STRUCTURE │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ Campaign Group: "[ICP Segment] — Micro Campaigns"
Read more
name: linkedin-micro-campaigns description: Create precision-targeted LinkedIn ad campaigns for specific ICP segments — translates CRM data to LinkedIn targeting version: "1.0.0" author: Cogny AI platforms: [hubspot, linkedin-ads] user-invocable: true argument-hint: "<ICP description or segment>" allowed-tools: # HubSpot CRM tools (for ICP data extraction) - mcp__cogny__hubspot__* # LinkedIn Ads tools - mcp__cogny__linkedin_ads__* # Findings - mcp__cogny__create_finding - Bash - Read - Write
LinkedIn Micro Campaigns
Create highly targeted LinkedIn ad campaigns for specific ICP segments. Translates your Ideal Customer Profile (from CRM data or manual input) into precision LinkedIn targeting criteria, estimates audience sizes, and builds campaign groups with campaigns and creatives.
**Requires:** Cogny Agent subscription ($9/mo) — [Sign up](https://cogny.com/agent)
**Tip:** Run `/crm-icp-analysis` first to generate a data-driven ICP, then feed the output into this skill. You can also run `/crm-sales-momentum` to identify which segments close fastest and target those specifically.
Usage
`/linkedin-micro-campaigns "VP Marketing at SaaS companies, 200-1000 employees"` — create campaigns from a description `/linkedin-micro-campaigns` — pull ICP from HubSpot CRM data automatically
Prerequisites Check
Verify LinkedIn Ads access (required):
linkedin_ads__tool_list_ad_accounts
If HubSpot is also connected (for automatic ICP extraction), verify:
hubspot__get_user_details
If LinkedIn Ads is not available:
This skill requires Cogny's LinkedIn Ads MCP server. Sign up at https://cogny.com/agent and connect your LinkedIn Ads account. HubSpot is optional — if connected, ICP data is extracted automatically. Without HubSpot, provide your ICP description as an argument.
Steps
1. Establish ICP targeting inputs
**If ICP description is provided as argument**, parse it for:
- Job titles / functions / seniority
- Industries
- Company sizes
- Geographic targets
- Any other targeting dimensions mentioned
**If no argument is provided and HubSpot is connected**, extract ICP from CRM:
Pull closed-won deal data to identify top-performing segments:
hubspot__search_crm_objects(
objectType: "deals",
filterGroups: [{"filters": [{"propertyName": "dealstage", "operator": "EQ", "value": "closedwon"}]}],
properties: ["dealname", "amount", "closedate"],
sorts: [{"propertyName": "closedate", "direction": "DESCENDING"}],
limit: 50
)Fetch associated companies and contacts to extract:
- **Top industries** from winning companies
- **Company size bands** from winning companies
- **Job titles and seniority** from buyer contacts
- **Geographies** from winning companies
Group into 2-3 distinct micro-segments based on the data (e.g., "Enterprise Marketing Leaders", "Mid-Market Sales Directors", "Startup Founders").
2. Translate ICP to LinkedIn targeting facets
For each micro-segment, map ICP dimensions to LinkedIn targeting entities.
**Job Titles** — search for exact LinkedIn targeting entities:
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:titles", query: "<title from ICP>")
**Job Functions:**
linkedin_ads__tool_get_targeting_facets()
Then search within job functions for relevant matches.
**Seniorities:**
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:seniorities", query: "<level>")
**Industries:**
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:industries", query: "<industry from ICP>")
**Company Sizes:**
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:staffCountRanges", query: "<size range>")
**Locations:**
linkedin_ads__tool_search_targeting_entities(facet_urn: "urn:li:adTargetingFacet:locations", query: "<geo from ICP>")
Build the targeting criteria object for each micro-segment using AND logic:
{
"include": {
"and": [
{"or": {"urn:li:adTargetingFacet:titles": ["<title URNs>"]}},
{"or": {"urn:li:adTargetingFacet:seniorities": ["<seniority URNs>"]}},
{"or": {"urn:li:adTargetingFacet:industries": ["<industry URNs>"]}},
{"or": {"urn:li:adTargetingFacet:staffCountRanges": ["<size URNs>"]}},
{"or": {"urn:li:adTargetingFacet:locations": ["<location URNs>"]}}
]
}
}3. Estimate audience sizes
For each micro-segment targeting combination, check the audience size:
linkedin_ads__tool_get_audience_counts(ad_account_id: <id>, targeting_criteria: <targeting object>)
Evaluate each segment:
- **Too narrow** (<1,000): broaden titles or add related job functions
- **Narrow but viable** (1,000-10,000): good for ABM, may need higher bids
- **Sweet spot** (10,000-100,000): ideal for micro-campaigns
- **Too broad** (>300,000): add more filters to tighten
Iterate on targeting until each segment hits a viable audience size. Document adjustments made.
4. Check for overlap with existing campaigns
Review existing campaigns to avoid audience overlap:
linkedin_ads__tool_get_campaign_groups(ad_account_id: <id>) linkedin_ads__tool_get_campaigns(ad_account_id: <id>, status_filter: "ACTIVE")
For each active campaign, compare targeting criteria. Flag overlaps and recommend:
- Exclude overlapping audiences
- Merge with existing campaigns if targeting is very similar
- Proceed if distinct enough
5. Present campaign structure for approval
**CRITICAL: Wait for user approval before creating anything.**
Present the proposed structure:
┌─────────────────────────────────────────────────────────────────────┐ │ PROPOSED MICRO-CAMPAIGN STRUCTURE │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ Campaign Group: "[ICP Segment] — Micro Campaigns"
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.
Repo: cognyai/claude-code-marketing-skills
Other skills on claude-code-marketing-skills.
brand-kit
Build a portable brand-kit.json for the user's product — colors, typography, voice — that other skills (video, ad creative, landing page) can consume. Multiple…
cogny
Run Cogny marketing analysis tasks — fetch scheduled tasks, analyze ad accounts via MCP, report findings
community-pulse
Weekly read on Discord community health — joins, active channels, top contributors, themes, and unanswered questions
conversion-debug
Conversion Tracking Debugger — diagnose discrepancies across GTM, GA4, Google Ads & Meta Pixel with live API access, BigQuery validation queries, and…

