agentsclimarketplace

Gtm pipeline

Skill vivekkhimani/gtm-tools-template/.agents/skills/gtm-pipeline

Agent-first GTM operating manual template: positioning, lead pipeline, outreach, playbooks, investor materials + 22 agent skills

Install
npx -y skills add vivekkhimani/gtm-tools-template --skill gtm-pipeline

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Plan and execute a full GTM lead generation pipeline. Use when a client needs end-to-end pipeline orchestration — from company discovery to enriched contacts. Determines workflow (Company-First vs Signal-First), assesses starting data, plans skill sequence with cost estimates, and chains skill outputs. Also triggers on "run the pipeline", "start pipeline for [client]", "full pipeline", "Stripe payment trigger".

SKILL.md

10.3 KB, as published. Nobody here has run it

Pipeline

Plan and orchestrate a full GTM pipeline — from discovery to enriched contact list. Determines which skills to run, in what order, based on client requirements and starting data.

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


When to Use

  • Client needs a complete lead generation pipeline (not just one skill)
  • You need to determine the right workflow based on what data exists
  • Stripe payment trigger: execute full pipeline
  • Any request that spans multiple GTM skills

Step 1 — Assess Starting Point

Ask: What data does the user have?

Starting PointAvailable DataNext Action
Nothing (just an ICP description)ICP prompt onlyDetermine workflow → full pipeline
Company listCSV with company names/domainsSkip company-search → company-enrichment
Contacts CSVNames + companies, missing contact infoSkip to people-enrichment
Signal dataCompanies found via signalsSkip to company-enrichment/scoring
Demo webhookICP prompt, ~10 contacts scopeRun demo skill
SN search URLSales Navigator saved searchRun company-search (SN+PB) → continue

Step 2 — Determine Workflow

Company-First Workflow (Finite Markets)

When: Client provides a company list, known industry, or uses Sales Navigator. The market is bounded — you know (or can enumerate) the target companies.

Full sequence:

1. Company Search      → csv/input/companies_raw.csv
2. Company Enrichment  → csv/intermediate/companies_enriched.csv
3. ICP Scoring         → csv/intermediate/companies_scored.csv  (credit-saving gate: icp_score >= 70)
4. Signal Search       → csv/intermediate/signals.csv  (runs on gated set; doesn't read icp_score)
5. People Search       → csv/intermediate/contacts_found.csv
6. Contact Filter      → csv/intermediate/contacts_filtered.csv
7. People Enrichment   → csv/output/contacts_enriched.csv

The icp_score >= 70 gate at step 3 is for credit savings only — signal-search itself doesn't depend on the ICP score. Skip the gate if you want to score signals on the full enriched set.

Signal-First Workflow (Infinite Markets)

When: No company list — discover companies via buying intent signals. The market is unbounded — you find companies by their behavior.

Full sequence:

1. Signal-based Discovery  → companies found via signals (FindAll, Firecrawl Agent, LinkedIn Jobs)
                              writes csv/input/companies_raw.csv
2. Company Enrichment      → csv/intermediate/companies_enriched.csv
3. ICP Scoring             → csv/intermediate/companies_scored.csv  (optional gate)
4. People Search           → csv/intermediate/contacts_found.csv
5. Contact Filter          → csv/intermediate/contacts_filtered.csv
6. People Enrichment       → csv/output/contacts_enriched.csv

In Signal-First, signal-search runs on raw company names from the discovery channels (no enrichment needed yet). Company enrichment and ICP scoring happen after to filter the discovered set.

Shortcut Flows

Starting PointSkills Invoked
Demo webhook (ICP prompt only)demo skill (people-search → contact-filter → people-enrichment → messages, 10 contacts, no phone)
Company list providedcompany-enrichment → (optional: signal-search) → people-search → contact-filter → people-enrichment
Contacts CSV providedpeople-enrichment only
Persona prospecting (no companies)people-search (persona mode) → contact-filter → people-enrichment
Full pipeline (Stripe payment)Full Workflow 1 or 2 based on requirements

Step 3 — Clarify Requirements

Before executing, confirm with the user:

ICP Definition

  • Industry / vertical
  • Target roles / job titles
  • Company size (headcount range)
  • Location / geography
  • Revenue range (if relevant)
  • Exclusions (e.g. no software companies, no enterprise)

Scope & Budget

  • How many contacts needed? (10 for demo, 100+, 500+?)
  • Credit budget constraints?
  • Enrichment scope: email only? email + phone?
  • Message generation needed?

Trigger Context

  • Demo mode? (no phone, ~10 contacts)
  • Stripe payment? (full pipeline, budget confirmed)
  • Manual request? (flexible scope)

Save ICP to {client-slug}-gtm/context/icp.md.


Step 4 — Plan the Sequence

Based on workflow + starting point, build the execution plan:

  1. List which skills run, in what order
  2. Recommend providers at each step (with costs from skill docs)
  3. Estimate total credits and cost across all steps
  4. Identify n8n flow customizations needed:
    • ICP Google Doc (for ICP scoring in company-enrichment)
    • Offering section (for signal scoring in signal-search)
  5. Present plan for user approval before executing anything

Cost Estimation Template

## Pipeline Cost Estimate

### Step 1: Company Search
- Provider: [recommended]
- Records: ~{n}
- Est. cost: {credits} credits (~${cost})

### Step 2: Company Enrichment
- Provider: [recommended]
- Records: ~{n}
- Est. cost: {credits} credits (~${cost})

### Step 3: ICP Scoring
- LLM: [ask user which model]
- Records: ~{n}
- Est. cost: ~${cost} (LLM token pricing)

### Step 4: Signal Search (companies with icp_score >= 70 if gating)
- Sources: [which of the 4 sources]
- LLM for scoring: [ask user]
- Records: ~{n} (est. {pct}% pass ICP gate, or full set if no gate)
- Est. cost: {credits} credits + ~${llm_cost}

### Step 5: People Search
- Provider: [recommended]
- Records: ~{n} contacts across ~{m} companies
- Est. cost: {credits} credits (~${cost})

### Step 6: Contact Filter
- No API cost — local classification only
- Records: ~{n} contacts in → ~{n_filtered} contacts out (est. {pct}% pass ICP filter)
- ICP dimensions: job tier, industry tier, location tier, company size

### Step 7: People Enrichment
- Email provider: [recommended]
- Phone provider: [recommended or "skip — demo mode"]
- Records: ~{n}
- Est. cost: {credits} credits (~${cost})

### Total
- Credits: ~{total_credits}
- Cost: ~${total_cost}

Step 5 — Execute and Chain

Invoke skills in order. After each step:

  1. Review output quality — hit rates, data completeness, issues
  2. Log to run_log.md — timestamp, provider, records, credits, duration
  3. Log provider performance — to context/provider_performance.md
  4. Chain output → input — each skill's output CSV becomes the next skill's input
  5. Decide whether to proceed — if quality is poor, flag and discuss before continuing

Chaining Rules

Skill OutputNext Skill Input
csv/input/companies_raw.csvcompany-enrichment reads this
csv/intermediate/companies_enriched.csvICP scoring reads this
csv/intermediate/companies_scored.csvsignal-search reads this (optional credit-saving gate: icp_score >= 70)
csv/intermediate/signals.csvUsed for outreach context, not a direct input
csv/intermediate/contacts_found.csvcontact-filter reads this
csv/intermediate/contacts_filtered.csvpeople-enrichment reads this
csv/output/contacts_enriched.csvFinal output — ready for outreach or message generation

After Each Step

Print the standardized Run Summary (from conventions.md) and ask:

  • Results look good? Proceed to next step?
  • Any issues to address first?
  • Want to adjust providers or parameters?

Step 6 — Customize Per Client

For n8n-backed steps, customize:

ICP Scoring (company-enrichment Phase 2)

  • Create/connect a Google Doc with the client's ICP definition
  • Or write to context/icp.md and use that as the reference
  • Adjust score threshold (default: >= 70) based on selectivity

Signal Assessment (signal-search)

  • Replace the offering section in the Signal Assessment user prompt with the client's value proposition
  • Adjust the web search objective query for client-specific signal types
  • Adjust Firecrawl crawl prompt if the client's signals differ from the default

Working Directory

The pipeline creates and manages the full directory structure:

{client-slug}-gtm/
├── context/
│   ├── icp.md
│   └── provider_performance.md
├── prompts/
│   └── message_prompt.md          (demo only)
├── csv/
│   ├── input/
│   │   ├── companies_raw.csv
│   │   └── contacts_raw.csv
│   ├── intermediate/
│   │   ├── companies_enriched.csv
│   │   ├── companies_scored.csv
│   │   ├── signals.csv
│   │   ├── contacts_found.csv
│   │   ├── contacts_filtered.csv
│   │   └── request_ids.json
│   └── output/
│       ├── contacts_enriched.csv
│       └── messages.csv           (demo only)
└── run_log.md

Decision Logic Summary

IF demo mode:
  → Run demo skill directly

IF user has contacts CSV:
  → people-enrichment only

IF user has company list:
  → company-enrichment → (optional: signal-search) → people-search → people-enrichment

IF user has nothing (just ICP):
  → Ask: Company-First or Signal-First?
  → Company-First: company-search → company-enrichment → signal-search → people-search → contact-filter → people-enrichment
  → Signal-First: signal-search (discovery) → company-enrichment → people-search → contact-filter → people-enrichment

IF paid trigger (e.g. Stripe webhook):
  → Full pipeline based on workflow determination above

What's Missing (To Document)

  • Payment trigger integration (e.g. Stripe webhook → pipeline invocation)
  • Automated webhook integration for demo triggers
  • Orchestration platform (e.g. n8n) integration for creating client-specific flow copies
  • Pipeline recovery: resuming a partially completed pipeline from the last successful step
  • Cost tracking dashboard / running totals across multiple pipeline runs

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.