Loading...
Loading...
Build enriched prospect lists from ICP criteria - find targets, enrich contacts, score accounts, detect trigger signals
npx skill4agent add jforksy/claude-skills gtm-prospectingdata/gtm/icp_profiles.json/gtm-icpdata/gtm/messaging_framework.jsondata/gtm/project_context.jsondata/gtm/prospects/data/gtm/deal_intel_summary.jsonCLAUDE.mddata/gtm/prospects/## Account Scoring Model
### Fit Signals (max 50 points)
| Signal | Points | How to Detect |
|--------|--------|---------------|
| **Firmographic Fit** | | |
| Company size in target range | +15 | Clay / Apollo / manual |
| Target industry/vertical | +10 | Clay / LinkedIn |
| Target geography | +5 | Company HQ location |
| Business model match (platform, SaaS, etc.) | +10 | Manual research / job posts |
| **Tech Stack Fit** | | |
| Uses complementary tools (Airwallex, Plaid, etc.) | +5 | BuiltWith / job posts |
| Uses competing tool (displacement opportunity) | +5 | G2 / customer reviews |
### Timing Signals (max 50 points)
| Signal | Points | How to Detect | Decay |
|--------|--------|---------------|-------|
| **Funding & Growth** | | | |
| Raised in last 90 days | +20 | Crunchbase / news | -5/month after 90d |
| Series A-C stage | +10 | Crunchbase | — |
| Headcount growth >20% YoY | +10 | LinkedIn / Apollo | — |
| **Hiring Signals** | | | |
| Hiring for Head of Treasury/Finance | +15 | LinkedIn jobs | -5/month |
| Hiring for payments/finance roles | +10 | LinkedIn jobs | -5/month |
| **Expansion Signals** | | | |
| New country/entity launch | +15 | News / job posts | -5/month |
| New product launch with payments | +10 | News / PR | -5/month |
| **Pain Signals** | | | |
| Mentioned FX/treasury pain publicly | +15 | LinkedIn / podcast / blog | — |
| Competitor customer (churn risk) | +10 | G2 reviews / case studies | — |
### Scoring Tiers
| Tier | Score Range | Action |
|------|-------------|--------|
| **A (Hot)** | 70+ | Priority outreach — hand to outbound immediately |
| **B (Warm)** | 50-69 | Standard outreach sequence |
| **C (Monitor)** | 30-49 | Add to watch list, wait for signal |
| **D (Skip)** | <30 | Don't pursue unless signal changes |## Contact Enrichment Checklist
### Company-Level Enrichment (required)
| Data Point | Source | Priority |
|------------|--------|----------|
| Company size (employees) | Apollo / LinkedIn / Clay | P0 |
| Industry / vertical | Apollo / LinkedIn | P0 |
| Funding stage & amount | Crunchbase / PitchBook | P0 |
| HQ location + offices | LinkedIn / website | P0 |
| Business model | Manual / job posts | P0 |
| Tech stack signals | BuiltWith / job posts | P1 |
| Recent news (90 days) | Google News / Clay | P1 |
| Competitors they use | G2 / reviews / case studies | P1 |
| Open roles (finance/treasury) | LinkedIn Jobs | P1 |
### Contact-Level Enrichment (required)
| Data Point | Source | Priority |
|------------|--------|----------|
| Full name | Apollo / LinkedIn | P0 |
| Title / role | LinkedIn | P0 |
| Email (verified) | Apollo / Hunter / Clay waterfall | P0 |
| LinkedIn URL | LinkedIn | P0 |
| Tenure in role | LinkedIn | P1 |
| Recent LinkedIn activity | LinkedIn | P1 |
| Mutual connections | LinkedIn | P1 |
| Previous companies | LinkedIn | P2 |
### Personalization Hooks (for outbound)
| Hook Type | What to Capture | Example |
|-----------|-----------------|---------|
| **Company trigger** | Recent event that creates urgency | "Just raised Series B" |
| **Role trigger** | Why this person cares | "New to role, building stack" |
| **Pain hypothesis** | Likely problem based on profile | "Multi-entity, likely spreadsheet chaos" |
| **Content engagement** | If they engaged with our content | "Liked FX risk post" |
| **Mutual connection** | Shared network for warm intro | "Both know [Name]" |
| **Personalization detail** | Something specific and relevant | "Podcast episode on treasury" |## Signal Detection System
### Trigger Events to Monitor
| Signal | Source | Frequency | Action When Detected |
|--------|--------|-----------|---------------------|
| New funding round | Crunchbase / news | Daily | Score account, add to A-tier if fit |
| Treasury/Finance hire posted | LinkedIn Jobs | Weekly | Add to prospect list, score |
| Expansion to new country | News / job posts | Weekly | Score account, note in personalization |
| FX/treasury mention in content | LinkedIn / podcasts | Ongoing | Add to prospect list with context |
| Competitor churn signal | G2 reviews / news | Monthly | High-priority outreach |
| Industry event attendance | Conference lists | Per event | Batch add to list |
### Signal Decay
Signals lose value over time. Apply decay to timing scores:
- 0-30 days: Full points
- 31-60 days: -25% points
- 61-90 days: -50% points
- 90+ days: Re-verify before scoring
### Inbound Signal Capture
When someone engages with content or visits website:
1. Capture to `data/gtm/prospects/inbound/`
2. Run through enrichment workflow
3. Score against account model
4. If score >= 50: Route to `/gtm-lead-capture` for qualification
5. If score < 50: Add to nurture list## List Building Process
### Step 1: Define List Parameters
- Target ICP segment: [from icp_profiles.json]
- Target account count: [how many]
- Geography filter: [include/exclude]
- Company size filter: [range]
- Funding stage filter: [range]
- Priority signals: [which triggers to weight]
### Step 2: Source Accounts
Using [Clay / Apollo / LinkedIn Sales Nav]:
1. Apply firmographic filters
2. Pull initial account list (2x target count to allow for filtering)
3. Export to staging area
### Step 3: Enrich & Score
For each account:
1. Run through enrichment workflow
2. Apply account scoring model
3. Tag with ICP segment
4. Capture personalization hooks
### Step 4: Identify Contacts
For each A/B-tier account:
1. Find decision-maker (CFO, VP Finance, Head of Treasury)
2. Find champion (Controller, Treasury Manager, Head of Ops)
3. Verify email addresses (waterfall: Apollo → Hunter → Clearbit)
4. Capture contact-level enrichment
### Step 5: Prepare for Outbound
For each contact:
1. Write pain hypothesis
2. Identify best personalization hook
3. Match to messaging framework angle
4. Save to `data/gtm/prospects/enriched/`
### Step 6: Handoff
- Package list for `/gtm-outbound`
- Include: accounts, contacts, scores, personalization hooks
- Recommended sequence/approach per tierdata/gtm/prospects/lists/data/gtm/prospects/enriched/data/gtm/prospects/signals//gtm-outbound/gtm-content/cmodata/gtm/prospects/[project]/
└── data/
└── gtm/
├── icp_profiles.json # ICP segments (from /gtm-icp) — REQUIRED
├── messaging_framework.json # Positioning (from /gtm-icp)
├── project_context.json # Business context (from /cmo)
├── deal_intel_summary.json # Deal patterns (from /gtm-deal-intel)
└── prospects/
├── lists/ # Target account lists
│ └── {list_name}_{date}.json
├── enriched/ # Fully enriched contacts
│ └── {segment}_{date}.json
├── inbound/ # Inbound leads for enrichment
│ └── {source}_{date}.json
├── signals/ # Detected trigger events
│ └── signals_{date}.json
└── scoring_model.json # Account scoring configuration{
"version": "1.0",
"lastUpdated": "YYYY-MM-DD",
"fitSignals": [
{
"signal": "",
"points": 0,
"category": "firmographic | tech_stack | business_model",
"source": "clay | apollo | linkedin | manual",
"description": ""
}
],
"timingSignals": [
{
"signal": "",
"points": 0,
"category": "funding | hiring | expansion | pain",
"source": "",
"decayDays": 90,
"decayRate": 0.25
}
],
"scoringTiers": {
"A": { "minScore": 70, "action": "Priority outreach" },
"B": { "minScore": 50, "action": "Standard sequence" },
"C": { "minScore": 30, "action": "Monitor for signals" },
"D": { "minScore": 0, "action": "Skip" }
}
}{
"listId": "list_{segment}_{date}",
"createdAt": "YYYY-MM-DDTHH:MM:SSZ",
"segment": "segment_slug",
"parameters": {
"targetCount": 0,
"geography": [],
"companySize": { "min": 0, "max": 0 },
"fundingStage": [],
"prioritySignals": []
},
"accounts": [
{
"accountId": "",
"companyName": "",
"website": "",
"tier": "A | B | C | D",
"score": 0,
"fitScore": 0,
"timingScore": 0,
"segment": "",
"enrichment": {
"employees": 0,
"industry": "",
"fundingStage": "",
"fundingAmount": 0,
"lastFundingDate": "",
"hqLocation": "",
"businessModel": "",
"techStack": [],
"recentNews": [],
"openRoles": []
},
"signals": [
{
"signal": "",
"detectedAt": "",
"points": 0
}
],
"contacts": [
{
"contactId": "",
"name": "",
"title": "",
"email": "",
"emailVerified": true,
"linkedinUrl": "",
"role": "decision_maker | champion | influencer",
"tenure": "",
"personalizationHooks": [],
"painHypothesis": ""
}
],
"personalizationHooks": [],
"recommendedAngle": ""
}
],
"summary": {
"totalAccounts": 0,
"byTier": { "A": 0, "B": 0, "C": 0, "D": 0 },
"totalContacts": 0,
"readyForOutbound": 0
}
}/gtm-icpdata/gtm/prospects//gtm-deal-intel/gtm-prospectingicp_profiles.json/gtm-icpdata/gtm/prospects//gtm-outbound