Kushagra ran a 5-skill Claude Code pipeline live: scraped a Luma event, enriched LinkedIn profiles, qualified 40 GTM engineers, published live profile pages, found verified emails, and sent personalized outreach. End to end in one session.
▶️ Watch the Full RecordingYour Host
Principal GTM Engineer at Starbridge • Coach at Clay Bootcamp
Kushagra ran his own GTM engineering agency for two years before going in-house at Starbridge as a principal GTM engineer. He coaches at Clay Bootcamp and was a Clay Cup competitor last year. His thing is end-to-end Claude Code pipelines for outbound, the kind that take you from a list source to a sent, personalized email without you touching anything in between.
The side project he showed in this session is gtme.jobs, a job board and directory for GTM Engineers. Every page on it was published by the same Claude Code skills he ran live.
Session Overview
List build, enrichment, qualification, copy, and send. Five skills chained together so one prompt can run the whole pipeline.
Every step was its own slash command. The profile writer can fit any landing page, the qualifier can become an LLM step, the email finder can sit inside any sequencer flow.
API calls run in background scripts and write straight to a database (Convex) or a local CSV. The terminal never sees the payload, so you do not eat your context window.
40 attendees got their own published landing page on gtme.jobs in one go. The site updates the moment a profile lands, no deploy, no refresh.
The Pipeline
Each step is its own skill. Each skill calls a script that runs in the background and writes to Convex or a local CSV. You can run them one at a time the way Kushagra did, or chain all 5 into a single command.
Paste a Luma URL. Claude Code spins up a dedicated Chrome session via the Chrome DevTools MCP, opens the attendee list, scrolls the full roster, then opens each attendee profile to grab the LinkedIn and Twitter URLs they linked. Not everyone connects their LinkedIn, so this is also where you discover who is reachable. Built on top of Andrew Teasdale's open-source Luma scraper.
Takes the LinkedIn URLs from step 1 and enriches each one via RapidAPI (Vikrant's Professional Network Data endpoint). You get headline, current role + company, every past position, top skills, location, certifications, and bio. Runs 10 in parallel with polite pacing to stay under the rate limit. People without a LinkedIn are skipped, so you only spend credits on profiles that can actually become emails.
First, qualify. Each enriched profile gets scanned for GTM signals (GTM Engineer, Clay, RevOps). Anyone who does not match is dropped before a single OpenAI token gets spent. Then write. The survivors get a one-liner, a 2-sentence career narrative, and credentials, all grounded in their LinkedIn data so nothing is invented. The prompt enforces tense, bans clichés (impressive, passionate, driven), and blocks repetition. The moment a profile lands in Convex, the live directory at gtme.jobs/directory updates. No deploy, no refresh.
Only runs on the 40 already-qualified profiles. Two-step lookup via Findymail: first try is name + current company, fallback is LinkedIn URL. Catches people that single-path approaches miss. Every address gets a separate delivery check. Anything that fails is flagged and never flows to the outreach step, so your sender reputation stays clean.
Two AI passes. First, research: read the person's full career and the open roles on gtme.jobs, find the non-obvious angle, surface the top 3 job matches and the specific reason each one fits. Second, copy: turn that research into one peer-voice sentence with strict rules and banned phrases, with automatic rewrites if anything trips them. For the demo, send goes out via Gmail through the Google Workspace CLI. In production, route this through a real sequencer (EmailBison is Kushagra's pick).
Every attendee who passed qualification got a live landing page. The directory updates the moment a profile lands in Convex.
Open gtme.jobs →Principles
Each skill should do one job and do it well. The profile writer can fit any landing page. The qualifier can be deepened into an LLM step. Build them so they snap into other pipelines without rewriting.
Claude Code orchestrates. Chrome DevTools MCP scrapes. RapidAPI enriches. Findymail verifies. OpenAI writes. Convex stores. Gmail sends. Nothing was custom-built that an existing primitive already does.
Never let an API call dump its full response into the terminal. Write a skill that calls a script, and have the script push results straight to your database or a local CSV. Your terminal context stays clean and your runs scale to thousands of rows.
Each row gets saved the moment it is processed, both to Convex and to a local CSV. Long-running background work can lose data. Streaming protects you, and gives you two places to audit.
Run 10 rows multiple times. Look at the output. Once you trust it, run 5,000. Same instinct as Clay, just a different surface. The work of validation does not go away because you switched tools.
Gmail was used in the demo for speed. Real outbound goes through a dedicated sequencer (EmailBison, Instantly, Smartlead). Warmup, inbox rotation, reply detection, deliverability. That is their job, not Gmail's.
Q&A Highlights
Stack
Resources
The next Claude Code cohort runs for one week. You build real pipelines, get real feedback, and walk out with skills you can run the next day.
Join the Cohort →Clay Bootcamp • claudecode.claybootcamp.com
Your hosts
Reach out to either of us on LinkedIn. Always happy to chat.