Interactive loop that builds and tunes an AI prompt for evaluating whether a company fits a client's ICP.

MITAuto-check passedAgent Workflows

Install Icp Prompt Builder

skills CLI
$ npx skills add growthenginenowoslawski/coldoutboundskills --skill icp-prompt-builder -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install growthenginenowoslawski/coldoutboundskills icp-prompt-builder --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/growthenginenowoslawski/coldoutboundskills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/icp-prompt-builder .claude/skills/icp-prompt-builder && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
icp-prompt-builder
GitHub stars
753
Token cost
~2.2k tokens
SKILL.md length
1,021 words
Files
1
Skills in repo
49
Repo updated
First seen
Licence
MIT

At a glance

Interactive loop that builds and tunes an AI prompt for evaluating whether a company fits a client's ICP.

  • Works in 8 steps: Gather ICP context → Select 10 test companies → Build the initial qualification prompt → …
  • Tasks that involve Subagents
  • SKILL.md covers Why this exists, Always uses Task sub-agents…, The loop (8 steps) and Approval-loop rules (important), plus 7 more sections
  • Calls npx

What it does

Icp Prompt Builder is an agent skill from growthenginenowoslawski/coldoutboundskills. Interactive loop that builds and tunes an AI prompt for evaluating whether a company fits a client's ICP. Run after any list-building skill (disco-like, blitz-list-builder, google-maps-list-builder, prospeo-full-export) to qualify companies before scaling. Iterates batches of 10 companies with user feedback, stops when 2 consecutive rounds have zero corrections, saves the final prompt for reuse. Always uses Claude Code Task sub-agents — never an external API key.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Agent Workflows, covering Subagents. It works with Google Maps Platform. The repository describes itself as: Open-source Claude Code skills for cold email and outbound sales. Grade campaigns, export Prospeo searches, scrape Google Maps — all from Claude Code. The licence is MIT.

When your agent uses it

  • Tasks that involve Subagents

Example prompts

  • “/icp-prompt-builder”

Requirements

  • Node.js

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Gather ICP context
  2. Select 10 test companies
  3. Build the initial qualification prompt
  4. Run the prompt on the 10 companies
  5. Present results to the user
  6. Collect user feedback
  7. Refine the prompt (or move on)
  8. Stop condition + save

What it can do on your machine

Read from SKILL.md and the folder at commit 25c5d85. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • npx

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use npx, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Icp Prompt Builder loads about 2.2k tokens when it runs. Until then it costs about 122 tokens; SKILL.md has 1,021 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~122
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from growthenginenowoslawski/coldoutboundskills at commit 25c5d85, republished under its MIT licence (© growthenginenowoslawski). 1,021 words, ~2,241 tokens.

Download SKILL.mdSave it as .claude/skills/icp-prompt-builder/SKILL.md (or your agent's skills folder).
name
icp-prompt-builder
description
Interactive loop that builds and tunes an AI prompt for evaluating whether a company fits a client's ICP. Run after any list-building skill (disco-like, blitz-list-builder, google-maps-list-builder, prospeo-full-export) to qualify companies before scaling. Iterates batches of 10 companies with user feedback, stops when 2 consecutive rounds have zero corrections, saves the final prompt for reuse. Always uses Claude Code Task sub-agents — never an external API key.

ICP Prompt Builder

Before you pay to pull 5,000 companies, tune a qualification prompt on 10-50 of them. This skill walks you through the iterative loop.

Why this exists

List-builder skills (DiscoLike, Blitz, Prospeo, Google Maps) return COMPANIES, but they don't know whether those companies match your ICP. If your list-builder returns 5,000 companies and 80% are wrong fits, you'll waste money enriching them for emails that go nowhere.

The fix: build an AI qualification prompt BEFORE scaling. Pull 10 companies, have the prompt score them, compare to your judgment, refine, repeat. Once the prompt agrees with you 2 rounds in a row with zero corrections, lock it in and apply it at scale.

Always uses Task sub-agents (no API key)

This skill runs entirely inside Claude Code via the Task tool. No Anthropic SDK calls, no OpenAI calls — Claude Code does the scoring itself. This is intentional:

  • No extra API spend. Uses your Claude Code plan.
  • No key management. Works out of the box.
  • Scaleable within reason. For 20-100 evaluations, parallel Task sub-agents batch 10-20 companies per agent.

At very large scale (5,000+ companies per batch), you may want to export the tuned prompt and run it through the OpenAI / Anthropic API with parallelism for speed. But TUNING happens inside Claude Code.

The loop (8 steps)

Step 1 — Gather ICP context

Claude asks the user (or reads client-profile.yaml from /icp-onboarding):

  • Website of the client selling (to scrape for context)
  • Who IS a good customer? What makes them a good fit?
  • Who is NOT a good customer? What disqualifies them?
  • Any specific signals? (B2B only, revenue range, tech stack, hiring status, recent fundraise, etc.)
  • Any HARD disqualifiers? (competitor domains, existing customer domains, certain industries/geographies)
Step 2 — Select 10 test companies

Pull 10 companies from the list-builder output:

  • Mix likely-good and likely-bad fits
  • Variety in industry, size, location
  • Each company needs at minimum: domain, company_name, industry, headcount, description
  • Richer fields (Clay-derived: Business Type, Scale Scope, Revenue) make scoring better
Step 3 — Build the initial qualification prompt

Template:

You are an ICP evaluator for {CLIENT_NAME}.

## Target ICP
{ICP description from user or client-profile.yaml}

## Qualification criteria (MUST be true)
- {criterion 1}
- {criterion 2}
- ...

## Disqualification criteria (ANY match = disqualify)
- {disqualifier 1}
- {disqualifier 2}
- ...

## Input
You will receive a company with these fields:
- domain, name, industry, headcount, description
- (optional) Business Type, Revenue, Scale Scope

## Output
For each company, return JSON:
{
  "qualified": true | false,
  "confidence": 0.0-1.0,
  "reason": "one-sentence explanation"
}
Step 4 — Run the prompt on the 10 companies

Via the Task tool. Launch one Task sub-agent that reads the prompt + 10 companies, returns 10 JSON scores.

Step 5 — Present results to the user

Format as a table:

Company                   | Qualified | Conf | Reason
--------------------------+-----------+------+----------------------------------------
acme-corp.com             | YES       | 0.92 | B2B SaaS, 200 employees, target industry
random-nonprofit.org      | NO        | 0.95 | Nonprofit, not a business customer
edge-case-company.com     | YES       | 0.55 | Could fit but revenue model unclear
Step 6 — Collect user feedback

Ask specifically:

  • Which evaluations are wrong? (e.g., "acme-corp should be NO because they're a competitor")
  • Which are right but for the wrong reason?
  • Any patterns the prompt missed?
  • Any new disqualifiers to add?

If the user has zero corrections, log this round as "approved."

Step 7 — Refine the prompt (or move on)

If the user gave corrections:

  • Add/remove qualification criteria
  • Tighten/loosen disqualifiers
  • Add specific examples of edge cases ("companies like X are NOT a fit because Y")
  • Adjust confidence thresholds if everything is coming back 0.5

Then go back to Step 4 with a NEW batch of 10 companies.

Step 8 — Stop condition + save

The loop ends when 2 consecutive rounds have zero corrections from the user. When that happens:

  1. Save the final tuned prompt to ~/cold-email-ai-skills/profiles/<business-slug>/icp-prompt.txt
  2. Append metadata to client-profile.yaml:
yaml
icp_qualification_prompt:
  path: profiles/<slug>/icp-prompt.txt
  tuned_at: YYYY-MM-DD
  rounds_to_convergence: 3
  final_batch_size: 10
  1. Print a one-liner for the next skill:
Prompt locked. To score your 5000 companies:
  npx tsx ~/cold-email-ai-skills/skills/list-expander/scripts/score-batch.ts \
    --prompt-file=profiles/<slug>/icp-prompt.txt \
    --companies=path/to/companies.csv \
    --out=scored.csv

Approval-loop rules (important)

  • Never auto-approve. Even if the prompt looks right, require the user to explicitly say "approved" or give zero corrections for 2 consecutive rounds.
  • Reset counter on any correction. One correction resets the streak to 0.
  • Don't skip the batches. Running 30 companies all at once feels faster but masks errors. 10 at a time is the right batch size — small enough to eyeball.
  • Show the prompt each round. After each refinement, display the current full prompt back to the user so they can see what changed.
  • Always use Task tool sub-agents for the scoring inside each round. Never call external APIs.
Show full SKILL.md (397 more words)Show less

Using the tuned prompt at scale

Once saved, the prompt is applied to the full list via list-expander/scripts/score-batch.ts. Options:

Option A (free, slow) — run through Claude Code Task sub-agents in batches of 20 companies per agent. Good for <500 total.

Option B (paid, fast) — export prompt + companies to OpenAI / Anthropic API with parallelism. Good for 500-50,000.

The script supports both. Default is Option A to keep everything inside Claude Code.

  1. /icp-onboarding → produce client-profile.yaml
  2. /disco-like OR /blitz-list-builder OR /prospeo-full-export → pull a sample of 50-100 companies
  3. /icp-prompt-builder → tune qualification prompt on that sample (3-5 rounds typical)
  4. Scale the list-builder to 5,000+ companies
  5. Apply the tuned prompt to the full list → only keep qualified: true with confidence >= 0.6
  6. /blitz-list-builder or /list-builder (Phase 5, emails) on the qualified subset
  7. Upload to Smartlead

Data points the prompt can use

From most list-builder outputs:

  • domain, company_name, industry, headcount, description, LinkedIn URL

Additional fields (if enrichment skills have been run):

  • Business Type (B2B / B2C / B2B2C)
  • Annual Revenue range
  • Scale Scope (Enterprise / Mid-Market / SMB)
  • SubIndustry (more specific than primary industry)
  • Tech stack (Clearbit, BuiltWith data)
  • Recent signals (funding, hiring, news)

Tell the AI about the fields you have access to in the prompt preamble.

Common mistakes

  • Building the prompt too tight on round 1. Start broad, narrow with feedback.
  • Not including negative examples. "Companies like Netflix are NOT a fit because they're B2C" is more powerful than generic "must be B2B".
  • Using only "qualified: true/false" without confidence. Always ask for confidence — 0.5-0.7 borderline cases are where you learn the most.
  • Scoring 50 at once "to save time." Defeats the point of the loop.
  • Not saving the prompt. The point of tuning is reuse. If you don't save, you'll re-tune next time.

Scripts

  • scripts/score-batch.ts — apply tuned prompt to a CSV of companies

What to do next

Apply the tuned prompt to your full list (the list-building skill you came from — Prospeo, Blitz, DiscoLike, Google Maps, or Competitor Engagers — will walk through this). Then /list-quality-scorecard to grade the filtered output.

Or wait: if the prompt didn't converge within 5 rounds (you kept making corrections), your source data may be too thin. Enrich with more fields (company description, headcount, tech stack) before retrying.

  • /icp-onboarding — run FIRST to produce client-profile.yaml
  • /disco-like, /blitz-list-builder, /google-maps-list-builder, /prospeo-full-export — pull the companies this skill qualifies
  • /personalization-subagent-pattern — same approval-loop pattern, applied to copy personalization

© growthenginenowoslawski, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in skills/icp-prompt-builder of growthenginenowoslawski/coldoutboundskills.

Open the folder on GitHubat commit 25c5d85

Compare with similar skills

Icp Prompt Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Icp Prompt Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Icp Prompt Builder this skillgrowthenginenowoslawski/coldoutboundskills753—~2.2kAutomated safety check: PassMIT
Claude Code Agent Developmentanthropics/claude-plugins-official38k7 repos~2.8kAutomated safety check: PassApache-2.0
Subagent Driven DevelopmentAsvarox/allkaraoke26138 repos~1.2kAutomated safety check: PassNone
Dispatching Parallel Agentsultralisp/ultralisp25841 repos~1.5kAutomated safety check: PassNone
Reflect on Session Learningscursor/plugins11k5 repos~1.2kAutomated safety check: PassNone
Paseo Advisor Second Opiniongetpaseo/paseo20k1 repos~756Automated safety check: PassCustom licence

Similar skills

  • Claude Code Agent Development

    anthropics/claude-plugins-official

    Official

    Explains how to write agents for Claude Code plugins: the markdown file with YAML frontmatter, trigger descriptions, model and color settings, and system prompt design.

    38k GitHub starsUsed in 7 repos~2.8k tokens
    Agent WorkflowsAuto-check passed
  • Subagent Driven Development

    Asvarox/allkaraoke

    A skill your agent uses when executing implementation plans with independent tasks in the current session

    261 GitHub starsUsed in 38 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Dispatching Parallel Agents

    ultralisp/ultralisp

    A skill your agent uses when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

    258 GitHub starsUsed in 41 repos~1.5k tokens
    Agent WorkflowsAuto-check passed
  • Official

    Starts three parallel reviewer subagents over the current conversation transcript, then turns their findings into concrete edits to existing skills.

    11k GitHub starsUsed in 5 repos~1.2k tokens
    Agent WorkflowsAuto-check passed
  • Launches one separate agent through Paseo to give a second opinion on the current task, with a self-contained briefing and no permission to edit files.

    20k GitHub starsUsed in 1 repo~756 tokens
    Agent WorkflowsAuto-check passed
  • Task Observer

    rebelytics/one-skill-to-rule-them-all

    Monitors task execution for skill improvement opportunities.

    3.2k GitHub starsUsed in 1 repo~11k tokens
    Agent WorkflowsAuto-check passed

More from growthenginenowoslawski/coldoutboundskills

All 49 skills in this repo
  • Email Deliverability Audit

    growthenginenowoslawski/coldoutboundskills

    Diagnostic audit for a running cold email program. An agent skill from growthenginenowoslawski/coldoutboundskills.

    753 GitHub stars~3.4k tokensUpdated 5 days ago
    Auto-check passed
  • Icp Onboarding

    growthenginenowoslawski/coldoutboundskills

    Conversational intake for cold email campaigns. An agent skill from growthenginenowoslawski/coldoutboundskills.

    753 GitHub stars~1.9k tokensUpdated 5 days ago
    Auto-check passed
  • List Builder

    growthenginenowoslawski/coldoutboundskills

    META skill — build the largest possible qualified lead list for any request, end to end.

    753 GitHub stars~4.7k tokensUpdated 5 days ago
    Auto-check: notes
  • Auto Research Public

    growthenginenowoslawski/coldoutboundskills

    Autonomous cold email campaign launcher. An agent skill from growthenginenowoslawski/coldoutboundskills.

    753 GitHub stars~2.9k tokensUpdated 5 days ago
    Auto-check passed
  • Blitz List Builder

    growthenginenowoslawski/coldoutboundskills

    Use the Blitz API to find decision-makers at specific companies when you already have a list of company domains.

    753 GitHub stars~2k tokensUpdated 5 days ago
    Auto-check passed
  • Deliverability Test Public

    growthenginenowoslawski/coldoutboundskills

    Compare reply rates, bounce rates, and positive reply rates broken down by inbox type (SMTP / Gmail / Outlook) for a Smartlead account.

    753 GitHub stars~1k tokensUpdated 5 days ago
    Auto-check passed

Categories

Questions about Icp Prompt Builder

What does Icp Prompt Builder do?

Interactive loop that builds and tunes an AI prompt for evaluating whether a company fits a client's ICP. Icp Prompt Builder is an agent skill from growthenginenowoslawski/coldoutboundskills. Interactive loop that builds and tunes an AI prompt for evaluating whether a company fits a client's ICP.

When should I use Icp Prompt Builder?

Icp Prompt Builder fits situations like: tasks that involve Subagents.

How do I install Icp Prompt Builder in Claude Code?

Run `npx skills add growthenginenowoslawski/coldoutboundskills --skill icp-prompt-builder -a claude-code`. Or copy the skill folder (skills/icp-prompt-builder in growthenginenowoslawski/coldoutboundskills) into .claude/skills/icp-prompt-builder in your project. Claude Code loads it when a task matches its description.

How do I install Icp Prompt Builder in Codex?

Run `npx skills add growthenginenowoslawski/coldoutboundskills --skill icp-prompt-builder -a codex`. Or copy the skill folder (skills/icp-prompt-builder in growthenginenowoslawski/coldoutboundskills) into .agents/skills/icp-prompt-builder in your project. Codex loads it when a task matches its description.

Can I use Icp Prompt Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add growthenginenowoslawski/coldoutboundskills --skill icp-prompt-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/icp-prompt-builder, .gemini/skills/icp-prompt-builder, .github/skills/icp-prompt-builder and .opencode/skills/icp-prompt-builder in your project.

What does Icp Prompt Builder need to run?

Going by SKILL.md and its folder, Icp Prompt Builder needs the command-line tools its instructions call (npx). Our summary lists: Node.js.

Does Icp Prompt Builder access the network?

SKILL.md contains no URLs. Its commands use npx, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Icp Prompt Builder safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Icp Prompt Builder use?

Icp Prompt Builder is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Icp Prompt Builder use?

About 2.2k tokens (SKILL.md is roughly 9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Icp Prompt Builder?

Skills that share tags, products or a category with Icp Prompt Builder: Claude Code Agent Development (anthropics/claude-plugins-official, 38k stars), Subagent Driven Development (Asvarox/allkaraoke, 261 stars), Dispatching Parallel Agents (ultralisp/ultralisp, 258 stars) and Reflect on Session Learnings (cursor/plugins, 11k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Icp Prompt Builder?

growthenginenowoslawski (a GitHub user) maintains it in growthenginenowoslawski/coldoutboundskills, which has 753 GitHub stars. The repository holds 49 skills in this directory. The repository was last updated on October 5, 2026.

Source: growthenginenowoslawski/coldoutboundskills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.