Skip to content
Sales
Skill

/abm-campaign

ABM campaign skill for Claude Code: run a full Account-Based Marketing campaign end-to-end — from ICP definition to live LinkedIn Ads. Builds targeted account lists with Vibe Prospecting, enriches and scores companies with real-time B2B data, generates personalized ad creatives

BOOST
From plugin
explorium-public-skills
25822 skills
Install
$ npx -y skills add explorium-ai/gtm-skills --skill abm-campaign --agent claude-code

How 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/abm-campaign

Context preview

The summary Claude sees to decide when to auto-load this skill.

ABM campaign skill for Claude Code: run a full Account-Based Marketing campaign end-to-end — from ICP definition to live LinkedIn Ads. Builds targeted account lists with Vibe Prospecting, enriches and scores companies with real-time B2B data, generates personalized ad creatives

SKILL.md

abm-campaign.SKILL.md
name: abm-campaign
description: "ABM campaign skill for Claude Code: run a full Account-Based Marketing campaign end-to-end — from ICP definition to live LinkedIn Ads. Builds targeted account lists with Vibe Prospecting, enriches and scores companies with real-time B2B data, generates personalized ad creatives with Claude Code and Figma, pushes matched audiences to LinkedIn Ads, and monitors campaigns daily at scale. The complete GTM skill for AI-driven account-based marketing in Claude Code, Codex, Hermes-Agent, and OpenClaw. No agency needed."
compatibility: "Requires: Vibe Prospecting CLI (npx @vibeprospecting/vpai@latest), Figma MCP (optional, for dynamic creative), LinkedIn Ads API credentials"
metadata:
  version: "1.0.0"

ABM Campaign — DIY Playbook

This skill walks you through a full ABM campaign end-to-end, using Claude Code as the orchestration layer. You bring your ICP definition and credentials; Claude handles the rest.

**What you'll build:** 1. A scored, filtered account list sourced from Vibe Prospecting 2. Segment-specific ad creatives (HTML templates + optional Figma assets) 3. LinkedIn matched audiences populated with your target accounts 4. Live LinkedIn campaigns with personalized ads 5. An ongoing monitoring and optimization loop

**No personal keys are stored in this skill.** You provide credentials at runtime via environment variables or interactive prompts. See [`setup.md`](references/setup.md) before starting.

---

Prerequisites

Complete [`setup.md`](references/setup.md) first. It covers:

  • Vibe Prospecting login (`npx @vibeprospecting/vpai@latest`)
  • LinkedIn Ads API credentials
  • Figma access token (optional)

---

Campaign Phases

Phase 1 — Build the Account List

**Goal:** Translate your ICP into a concrete list of target companies.

Read [`01-account-list.md`](references/01-account-list.md) before running any Vibe Prospecting commands.

**Quick steps:** 1. Define your ICP (industry, company size, geography, tech stack, funding stage, intent signals) 2. Use `autocomplete` to normalize filter values 3. Fetch matching companies with `fetch-entities` (sample 5 first, then full export) 4. Save to `abm-accounts-raw.csv`

# Example: US SaaS companies, 100-1000 employees, using Salesforce
npx @vibeprospecting/vpai@latest autocomplete \
  --args '{"field":"linkedin_category","query":"software"}' \
  --tool-reasoning 'Building ABM account list for SaaS ICP'

npx @vibeprospecting/vpai@latest fetch-entities \
  --args '{
    "entity_type": "business",
    "filters": {
      "linkedin_category": {"values": ["Software Development"]},
      "company_headcount_range": {"values": ["101-250","251-500","501-1000"]},
      "company_country_code": {"values": ["US"]},
      "company_tech_stack_tech": {"values": ["Salesforce"]}
    },
    "page_size": 5
  }' \
  --tool-reasoning 'Sample fetch for ABM account list'

**Output:** `abm-accounts-raw.csv`

---

Phase 2 — Enrich & Score the Accounts

**Goal:** Add firmographic and technographic data, then score and filter to your best-fit accounts.

Read [`02-enrich-score.md`](references/02-enrich-score.md) for scoring model details.

**Quick steps:** 1. Match raw companies to Vibe business IDs 2. Enrich with `firmographics`, `technographics`, `funding-and-acquisitions` 3. Apply ICP scoring formula (Claude computes a fit score 0–100) 4. Filter to accounts above your threshold (suggested: score ≥ 60) 5. Save to `abm-accounts-scored.csv` and `abm-accounts-final.csv`

# Match company names to IDs
npx @vibeprospecting/vpai@latest match-business \
  --args '{"businesses_to_match": [{"name":"Acme Corp","domain":"acme.com"}]}' \
  --tool-reasoning 'Matching accounts for enrichment'

# Enrich firmographics + technographics
npx @vibeprospecting/vpai@latest enrich-business \
  --args '{
    "business_ids": ["biz_xxx"],
    "enrichments": ["firmographics","technographics","funding-and-acquisitions"]
  }' \
  --tool-reasoning 'Enriching accounts for ABM scoring'

**Output:** `abm-accounts-final.csv` (scored, filtered list)

---

Phase 3 — Create the Ad Templates

**Goal:** Generate reusable, segment-specific ad templates using Claude Code.

Read [`03-ad-templates.md`](references/03-ad-templates.md) for template structure and design system integration.

**Quick steps:** 1. Define your ad segments (e.g., "Enterprise Fintech", "Mid-Market SaaS", "Startup") 2. Specify your design system or brand colors/fonts (or use defaults) 3. Claude generates HTML/CSS templates for each LinkedIn ad format:

  • Single Image (1200×628 px)
  • Carousel cards (1080×1080 px)
  • Spotlight ad (300×250 px)

4. Templates use placeholders: `{{company_name}}`, `{{company_logo}}`, `{{headline}}`, `{{body_copy}}` 5. Output files saved under `creative/templates/`

Tell Claude: > "Create LinkedIn ad templates for these segments: [list]. Use these brand colors: [hex]. Use this value prop: [text]."

**Output:** `creative/templates/<segment>-single.html`, `creative/templates/<segment>-carousel.html`

---

Phase 4 — Personalize the Creative

**Goal:** Dynamically update creative elements per account using Figma MCP (or a code-based approach).

Read [`04-personalize-figma.md`](references/04-personalize-figma.md) for the Figma MCP workflow and code-based fallback.

**Option A — Figma MCP (recommended for polished output):** 1. Share your Figma design file URL 2. Claude reads the template frames via Figma MCP 3. For each account, Claude swaps: company logo, company name, segment headline 4. Exports PNG assets per account

**Option B — Code-based (no Figma):** 1. Claude uses the HTML templates from Phase 3 2. Injects per-account data using a Python/Node script 3. Renders to PNG using `puppeteer` or `playwright` 4. Saves under `creative/personalized/<company_domain>/`

# Install rendering dependencies (Option B)
npm install -g playwright
playwright install chromium

**Output:** `creative/personalized/<company_domain>/

Read more
Ships withexplorium-public-skills

Open-source B2B data enrichment, prospecting, and outbound skills for Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, Grok, OpenCode, Windsurf, Hermes-Agent, OpenClaw, Claude Cowork, and 60+ other agents — powered by Explorium and Vibe Prospecting.

Get the whole plugin

Other skills on explorium-public-skills.