Install
$ agentstack add skill-b2bforce-b2bforce-marketing-icp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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
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 |
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: b2bforce
- Source: b2bforce/b2bforce
- License: MIT
- Homepage: https://www.b2bforce.ai/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.