Agent skill
marketing-icp
Create or enrich an Ideal Customer Profile and 1-3 buyer personas for a B2B service.
Filed under Prospecting and list building.
From b2bforce/b2bforce · 29 skills · 2 · pushed 2026-08-21
What it does when it runs
Create or enrich an Ideal Customer Profile and 1-3 buyer personas for a B2B service. If the service is missing, first create it from a URL, text description, or both via marketing-service. Use when ICP/personas are missing before content, landing pages, or prospecting. Output to workspace/marketing/icp/.
Read from the skill and the 2 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.
- Keys and connectors you must supply
- None found.
- Hosts it reaches
- No third-party host appears in the skill or its bundled files.
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- shell
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/b2bforce/b2bforce.git /tmp/b2bforce git -C /tmp/b2bforce sparse-checkout set ".agents/skills/marketing-icp" mkdir -p ~/.claude/skills/marketing-icp cp -R "/tmp/b2bforce/.agents/skills/marketing-icp/." ~/.claude/skills/marketing-icp/
Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗
The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.
The skill
Source on GitHub ↗Reproduced in full from b2bforce/b2bforce/blob/7682ed90c62190a0f3c09eb135596d08bd6890bc/.agents/skills/marketing-icp/SKILL.md, which is licensed MIT (skill frontmatter). 675 words, 13 headings.
ICP
Task-oriented workflow for creating or enriching ICP + buyer personas. The source of truth is always a service file, never a free-floating URL-only ICP.
When to Use
- User says "add ICP", "create ICP", "generate buyer personas", or "who should this service target?"
- Content ideas, drafts, landing pages, or prospecting are blocked by missing ICP
- Existing service has no linked
target_icps
Inputs
Ask only for missing essentials:
- Existing service slug, or service URL, description, or both
- Optional target market constraints from the user
- Desired persona count if not default 1-3
If no service file exists, run marketing-service first. Do not generate ICP
directly from a URL or brief while skipping the service file.
Prerequisites
Brand scope. In a multi-brand workspace (2+ brand homes in workspace/firm/brands/), every path this skill reads or writes is brand-scoped: definitional entities (services, ICP, personas, proof, channels) live in firm/brands/{brand}/…, working pipelines carry a {brand}/ segment under their entity root, and the working brand comes from the user's choice or B2BFORCE_BRAND — never guessed. Rules: Brand Scope Gate in AGENTS.md; paths: docs/WORKSPACE.md.
workspace/firm/profile.mdworkspace/firm/services/{service-slug}.md- Current agent/LLM session
- Optional market research via
tool-exaif the user wants enrichment
Never ask the user to paste API keys in chat. If a tool key is needed, tell the
user to fill .env locally.
Workflow
1. Ensure service context
If the user gave a URL/description instead of a service slug, create or enrich the
service with marketing-service, then continue from the resulting service
file.
2. Gather context
Load:
workspace/firm/profile.mdworkspace/firm/services/{service-slug}.md- existing ICP files in
workspace/marketing/icp/ - existing persona files in
workspace/marketing/icp/personas/
Do not duplicate an existing ICP segment. If a close match exists, ask whether to enrich it or create a distinct segment.
3. Optional market research
Use tool-exa only when configured and useful. Research is optional enrichment,
not a gate.
Suggested research questions:
- Operational pain in the target industry for this service
- Buying committee and decision roles
- Trigger events and market changes
- Common vendor selection criteria
- Objections and current alternatives
Mark research-backed notes separately in the generated files. Do not cite market claims as verified if no research was run.
4. Generate ICP + personas
Use references/system-prompt.md and references/output-schema.md.
Prompt context:
Analyze this firm and service. Generate ONE ICP and 1-3 buyer personas.
=== FIRM PROFILE ===
{workspace/firm/profile.md}
=== SERVICE ===
{workspace/firm/services/{service-slug}.md}
=== EXISTING ICPs / PERSONAS (DO NOT DUPLICATE) ===
{list}
=== USER TARGETING CONSTRAINTS ===
{if any}
=== MARKET RESEARCH ===
{if any}
Return structured output matching references/output-schema.md.
Write reasoning first for internal use, then strip reasoning before saving files.
Language: {content_language from firm profile}
Buying mode:
reactivewhen the buyer has an urgent problem or riskproactivewhen the buyer seeks growth, optimization, or strategic upsidemixedwhen both are credible
5. Write workspace outputs
| Output | Path |
|---|---|
| ICP | workspace/marketing/icp/{slug}.md |
| Personas | workspace/marketing/icp/personas/{slug}.md |
| Service link | Append ICP slug to service frontmatter target_icps |
ICP frontmatter:
---
name:
industry:
company_size:
buying_mode:
service: {service-slug}
---
Persona frontmatter:
---
name:
icp: {icp-slug}
seniority_level:
department:
decision_role:
---
6. Validate
Run:
scripts/validate-content-readiness.sh {service-slug} {icp-slug}
Treat failures as hard stops before content ideas, drafts, landing pages, or prospecting.
Quality Rules
- ICP is a company segment; persona is a role/person inside that segment.
- Pain points must include consequences and current workarounds.
- Trigger events must be observable.
- Personas should cover distinct roles: economic buyer, technical buyer, champion, user, influencer, or gatekeeper.
buying_modemust drive messaging angle, JTBD, objections, and proof needs.- Do not invent market facts, budgets, tech stacks, or proof.
Related Skills
| Skill | When |
|---|---|
marketing-service | Service file is missing or incomplete |
marketing-content-ideas | Next step after ICP + personas |
sales-prospecting-sequence | Outbound after service + ICP + persona exist |
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
Other skills for the same job
Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.
- co-marketing by coreyhaines31 · 45,947
- community-marketing by coreyhaines31 · 45,947
- influencer-marketing by coreyhaines31 · 45,947
- marketing-council by coreyhaines31 · 45,947
- marketing-ideas by coreyhaines31 · 45,947
- marketing-loops by coreyhaines31 · 45,947
- marketing-plan by coreyhaines31 · 45,947
- marketing-psychology by coreyhaines31 · 45,947
Need help setting it up?
This page tells you what marketing-icp does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.
Book a call →The directory stays free. There is nothing gated behind this.