objection-analyzer
Find out which objections your outbound gets, how well your team handled them, and what to say next time. Use whenever the user wants to analyze the objections…
Filter an existing audience or lead list against your ICP and split it into ready-to-sequence segments. Use when someone already has a list of people — an audience in their sales tool, a CSV or CRM export, event or webinar attendees, registrants, a Sales Navigator import, a
$ npx -y skills add LaGrowthMachine/gtm-system --skill audience-icp-filter --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/audience-icp-filterContext preview
The summary Claude sees to decide when to auto-load this skill.
Filter an existing audience or lead list against your ICP and split it into ready-to-sequence segments. Use when someone already has a list of people — an audience in their sales tool, a CSV or CRM export, event or webinar attendees, registrants, a Sales Navigator import, a
name: audience-icp-filter description: "Filter an existing audience or lead list against your ICP and split it into ready-to-sequence segments. Use when someone already has a list of people — an audience in their sales tool, a CSV or CRM export, event or webinar attendees, registrants, a Sales Navigator import, a newsletter or community export — and wants to know who is worth contacting. Triggers on: 'filter this audience against my ICP', 'who in this list matches my ICP', 'clean up this lead list', 'score these leads', 'qualify my signups', 'segment this audience', 'is my audience on-ICP', 'filter my webinar attendees', 'split this audience by ICP fit', 'remove the bad leads'. For SDRs, BDRs, RevOps, growth, demand gen and founders doing list qualification, ICP refinement, post-event follow-up or audience cleanup. Checks whether the data can support the ICP before filtering, sorts every lead into ICP match / needs review / no match, strips out your own team and competitors, and never silently drops anyone. Maintained by La Growth Machine." category: fuel-my-pipeline type: use-case tags: [analysis, building]
Takes an audience that already exists and splits it into **ICP match**, **needs review** and **no match** — with the user's own team and competitors stripped out, and a reason attached to every decision.
This skill starts from a list that **already exists**: an audience in the user's sales tool, or a CSV. It does not import or scrape — importing is a separate job with its own timing and prerequisites, and folding it in here would make the skill slower and less reliable for no gain.
If the user hasn't imported yet, tell them to do that first, then come back with the audience.
Any audience is mostly noise: the user's own colleagues are in it, competitors are watching, and a third of the job titles are unreadable. This skill checks whether the data can support the ICP the user wants, asks what that ICP actually is, sorts the list, and writes the segments back as complementary audiences.
This skill does a lot of steps. Two rules keep it usable:
**Step 0 — Load the list.** From an LGM audience (`list_audiences` → `get_audience_leads`) or a CSV. **Pagination: the parameter is `skip` (not `offset`), 100 max per page** — so page 2 is `skip:100`, page 3 `skip:200`. Read `total` from the first page and fire the remaining pages **in one concurrent batch**. Normalise to one object per person: `leadId` (or `firstname`+`lastname`), `jobTitle`, `companyName`, `proEmail`, plus `shortBio`, `location`, `industry` when present.
**Step 1 — Coverage gate. Run this before asking about the ICP.**
python3 scripts/build.py --coverage leads.json
It reports fill rates and names which criteria the data cannot support. There is no point offering geography filtering on an audience where `location` is empty — that just routes everyone to `review` and calls it a result. See *The coverage gate* below.
**Step 2 — ICP Q&A**, informed by step 1. Don't offer criteria the data can't support without saying enrichment is needed first.
**Step 3 — Pass 1, deterministic:**
python3 scripts/build.py spec.json > pass1.json
It refuses invalid input rather than emitting a best-effort sort. If it errors, fix the spec — never work around it by classifying manually.
**Step 4 — Pass 2, semantic. Mandatory — but bounded.** Pass 1's output carries a `pass2_queue`: the only leads worth a human/LLM look. **Review that queue, not the whole audience** (see *The pass-2 queue* below). Each queued lead has a `_flag` telling you why it's there. Resolve each into `match` or `no_match`, write the overrides with reasons, then re-validate:
python3 scripts/build.py --adjudicate review.json
**Step 5 — Present** the single result artifact (coverage + segmentation + the state-driven action zone). If a res
The open-source GTM toolkit for Claude: skills and an MCP server to run outbound from the chat.
Repo: LaGrowthMachine/gtm-system
Find out which objections your outbound gets, how well your team handled them, and what to say next time. Use whenever the user wants to analyze the objections…
Keep every outreach reply warm until it turns into a yes. Finds the leads your cold outreach did not convert yet ('not now', 'happy to connect', 'send me…
Handle replies to your cold outreach end to end — classify each response, draft the right answer from the full conversation, and send it through La Growth…
Find your PROVEN ideal customer profile from your own outreach data — who actually replies, accepts and shows interest — then find more like them. Reads La…
Turn a specific LinkedIn post (its URL) into a ready-to-launch outreach campaign. Use this whenever a request references a LinkedIn post or pastes a post URL:…
Generate a precise LinkedIn Sales Navigator search URL from a natural-language ICP description — for sales prospecting, outbound outreach, lead generation, and…