# Gtm Pipeline:company Enrichment

> Enrich a company list with structured data and score against ICP. Phase 1: data enrichment (PhantomBuster SN, Parallel Task Group, SimilarWeb, Firecrawl, SerpAPI). Phase 2: ICP scoring via LLM (icp_score 0-100, optional gate ≥70). Use after company-search and before signal-search. Also triggers on "enrich companies", "ICP scoring", "score companies".

- **Type:** Skill
- **Install:** `agentstack add skill-vivekkhimani-gtm-tools-template-gtm-company-enrichment`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [vivekkhimani](https://agentstack.voostack.com/s/vivekkhimani)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [vivekkhimani](https://github.com/vivekkhimani)
- **Source:** https://github.com/vivekkhimani/gtm-tools-template/tree/main/.agents/skills/gtm-company-enrichment

## Install

```sh
agentstack add skill-vivekkhimani-gtm-tools-template-gtm-company-enrichment
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Company Enrichment

Enrich a company list with structured data and score against ICP. Returns enriched CSV + ICP scores.

**Read `.agents/skills/_shared/conventions.md` before executing.**

---

## When to Use

- After `company-search` — raw list needs domains, revenue, headcount, etc.
- Before `signal-search` — ICP scoring determines which companies to invest signal credits on
- Before `people-search` — enriched domains required for most people search providers

## Inputs

| Input | Required | Source |
|-------|----------|--------|
| Company CSV | Yes | Company Search output or user-provided |
| ICP definition | Yes | `context/icp.md` or user prompt |

---

## Two Phases

### Phase 1: Data Enrichment

Add structured company data. Choose provider based on what's available:

| Provider | Data Points | Input needed | Cost | Notes |
|----------|-------------|--------------|------|-------|
| **PB SN Scraper** | Full SN profile: headcount by dept, growth metrics, revenue range, industry, location | SN company URL | Free (SN account) | Most comprehensive |
| **Parallel Task Group** | Custom fields via web research | Company name + domain | ~$0.025–0.05/row | Flexible output schema. Ask which processor |
| **SimilarWeb via Apify** | Monthly traffic, traffic sources | Domain | Apify credits | Actor: `curious_coder/similarweb-scraper` |
| **Firecrawl** | Website content, tech stack signals | Domain | Firecrawl credits | Scrape + extract |
| **SerpAPI** | Domain from company name | Company name | SerpAPI credits | Google search → extract domain |
| **Pipe0 company data** | TBD — not yet tested | Domain | TBD | Check pipe0 catalog |

**Ask the user which provider to use.** Default: PB SN Scraper if SN URLs available, otherwise Parallel Task Group.

### Phase 2: ICP Scoring

Score enriched companies against client ICP definition.

---

## Phase 1 Execution

### PhantomBuster SN Account Scraper

**Agent:** Sales Navigator Account Scraper (config key: `PB_AGENT_SN_ACCOUNT` in `_shared/local.md`, or look up via PhantomBuster MCP)

Read `_shared/phantombuster.md` for the full API pattern. Use the `/phantombuster` skill to generate the script:
```
/phantombuster "Sales Navigator Account Scraper" -- scrape SN company data from , column 
```

Input: SN company URLs (one per row in CSV)
Output per company: name, industry, headcount by dept, location, LinkedIn URL, SN URL, revenue range, growth metrics (6m / 1y / 2y), median tenure

### Parallel Task Group (Custom Enrichment)

**Endpoint:** `POST https://api.parallel.ai/v1/tasks`
**Auth:** `x-api-key: $PARALLEL_API_KEY`

**Always ask which processor to use:** `core`, `core2x`, `pro`, `ultra`

Design an output schema matching the data points needed for ICP scoring. Example:
```json
{
  "company_website": {"type": "string"},
  "linkedin_company_url": {"type": "string"},
  "estimated_revenue": {"type": "string"},
  "employee_count": {"type": "integer"},
  "industry": {"type": "string"},
  "founded_year": {"type": "integer"},
  "tech_stack_indicators": {"type": "array", "items": {"type": "string"}}
}
```

Always include `company_website` and `linkedin_company_url` in the schema.

Check latest docs via context7 (`libraryName: parallel-web`).

### SimilarWeb via Apify

Actor: `curious_coder/similarweb-scraper`
Env var: `APIFY_API_KEY`

Input: list of domains
Output: monthly visits, traffic sources, bounce rate, pages per visit

### Output

Write to `csv/intermediate/companies_enriched.csv`. Preserve all original columns, add enrichment columns.

---

## Phase 2: ICP Scoring

### How It Works

1. Read company rows (status=new, or all unscored)
2. Load ICP definition from `context/icp.md`
3. LLM scores each company → `icp_score` (0–100) + `icp_rationale`
4. Write score back to CSV
5. Process in batches (~10–20 companies per loop)

**LLM:** Ask the user which model to use (any LLM with structured output / JSON mode works).

### Input Fields Used for Scoring

From the enriched company data:
- name, industry, description, employee count, location, website, LinkedIn URL
- Revenue (min/max), department headcounts (engineering, sales, ops, IT, BD, marketing)
- Growth metrics (6m, 1y, 2y), median tenure, year founded

### ICP Scoring Prompt

The LLM receives each company row + the ICP definition and returns a structured score.

**Output schema per company:**
```json
{
  "icp_score": 85,
  "icp_rationale": "DACH-based B2B SaaS company in target revenue range. Experiencing rapid growth with lean tech team, indicating clear need for external automation support rather than in-house development."
}
```

### Per-Client Customization

- **ICP doc:** Maintain `context/icp.md` with the client's ICP definition — industry, size, location, revenue, tech profile, exclusions
- **Score threshold:** Adjust the gate based on selectivity (default: ≥70). The gate is optional — useful for credit savings on downstream steps, not a hard requirement.

### Optional Gate for Next Step (Signal Search)

To save credits on downstream signal-search, gate by:
- `icp_score >= 70`
- `website` not empty
- `type` in [Startup, Scaleup] (if type field available)

Skip the gate if you want to score signals on the full enriched set.

### Output

Write to `csv/intermediate/companies_scored.csv` with added columns:
```
icp_score, icp_rationale, scoring_status
```

All original + enrichment columns preserved.

---

## Full Output

Updated CSV with all columns:
```
company_name, company_domain, company_linkedin_url,
company_industry, company_hq_location, company_hq_country,
company_employee_count, company_employee_range,
revenue_range, growth_6m, growth_1y, growth_2y,
headcount_engineering, headcount_sales, headcount_operations, headcount_IT,
icp_score, icp_rationale, enrichment_source
```

---

## What's Missing (To Document)

- Pipe0 company data pipe: test and document endpoint
- Parallel Task Group for company enrichment: test with specific output schema
- SimilarWeb via Apify: document the full actor setup and output field mapping
- LLM API integration patterns for standalone ICP scoring (outside orchestration platforms)

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [vivekkhimani](https://github.com/vivekkhimani)
- **Source:** [vivekkhimani/gtm-tools-template](https://github.com/vivekkhimani/gtm-tools-template)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-vivekkhimani-gtm-tools-template-gtm-company-enrichment
- Seller: https://agentstack.voostack.com/s/vivekkhimani
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
