Skip to content
Marketing
Skill

/sales-nav-search-builder

Generate a precise LinkedIn Sales Navigator search URL from a natural-language ICP description — for sales prospecting, outbound outreach, lead generation, and B2B targeting. Use whenever the user asks for a Sales Nav URL, a LinkedIn search URL, an outbound prospecting query, a

From plugin
gtm-system
3813 skills
Install
$ npx -y skills add LaGrowthMachine/gtm-system --skill sales-nav-search-builder --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/sales-nav-search-builder

Context preview

The summary Claude sees to decide when to auto-load this skill.

Generate a precise LinkedIn Sales Navigator search URL from a natural-language ICP description — for sales prospecting, outbound outreach, lead generation, and B2B targeting. Use whenever the user asks for a Sales Nav URL, a LinkedIn search URL, an outbound prospecting query, a

SKILL.md

sales-nav-search-builder.SKILL.md
name: sales-nav-search-builder
description: "Generate a precise LinkedIn Sales Navigator search URL from a natural-language ICP description — for sales prospecting, outbound outreach, lead generation, and B2B targeting. Use whenever the user asks for a Sales Nav URL, a LinkedIn search URL, an outbound prospecting query, a search for a persona or role, wants to find leads or prospects on LinkedIn, or describes an ICP (industry, seniority, function, headcount, geography, language). Especially trigger when the user wants to normalize job title variants (CMO + Chief Marketing Officer + VP Marketing), exclude noise (fractional, freelance, intern, assistant), or build a boolean search with AND, OR, NOT, quotes, parentheses. Covers Sales Nav enums (Industry, Function, Seniority, Headcount, Type, Years, Language, Region), boolean-capable text filters (Keywords, Current/Past job title), plain text filters (First/Last name), and toggles (Changed jobs, Posted on LinkedIn, Past colleague, Follows your company). Maintained by La Growth Machine."
category: fuel-my-pipeline
type: use-case
tags: [building]

Sales Nav Search Builder

Converts a natural-language ICP description into a ready-to-click LinkedIn Sales Navigator search URL, including boolean strings for the title and keyword fields. Maintained by [La Growth Machine](https://lagrowthmachine.com).

Authority — read this first

**This file is the canonical reference for everything you need to build a Sales Nav URL.** The inline tables, presets, and rules below are exhaustive for common B2B targeting. The files in `references/` exist for the long tail.

**You do NOT need to consult these files** — they're already inlined here:

  • `references/spec-schema.md` → full spec format is below
  • `references/boolean-search.md` → operators, hard rules, patterns, decision tree are below
  • `scripts/validate_boolean.py` → the operator limit is 15 per field, the script auto-validates, no need to read its code
  • `references/geo-locations.md` → not needed for queries (only for extending regions.json)

The visual handoff (widget HTML + post-click decision tree) is **inlined at the bottom of this file** — no separate file to consult.

**Consult `references/industries.json` ONLY when** the user names an industry that's not in the top-10 table or in an industry preset below (e.g., "semiconductor manufacturing", "maritime shipping", "veterinary services").

**Consult `references/regions.json` ONLY when** the user names a country that's not in the top-30 table or in a region preset below (e.g., "Kazakhstan", "Senegal", "Trinidad").

If you find yourself running a `grep` or bash script to find an industry or region ID, **stop** — check the presets section first. The presets are designed to cover the way B2B sellers actually think about geography ("EMEA", "DACH", "Nordics") and verticals ("SaaS", "FinTech", "HRTech").

Workflow

1. Build a JSON spec using the inline content below. 2. Pipe the spec to the builder via stdin and capture the URL:

   echo '<JSON_SPEC>' | python3 scripts/build_url.py -

3. **Output the visual handoff** — a brief framing line followed by `visualize:show_widget`. See "Output format" at the end of this file. This step is mandatory and replaces any text-based summary. Do not paste the URL or explain segmentation choices in prose.

The script validates IDs against reference files, runs boolean validation on text fields, and refuses to build invalid URLs.

Spec format (complete)

{
  "filters": [
    {"type": "INDUSTRY", "values": [{"id": 4, "selectionType": "INCLUDED"}]},
    {"type": "FUNCTION", "values": [{"id": 15, "selectionType": "INCLUDED"}]},
    {"type": "REGION", "values": [{"id": 105015875, "selectionType": "INCLUDED"}]},
    {"type": "CURRENT_TITLE", "values": [{"text": "(CMO OR \"Chief Marketing Officer\") NOT Fractional", "selectionType": "INCLUDED"}]},
    {"type": "RECENTLY_CHANGED_JOBS", "toggle": true}
  ]
}

**Field rules** (complete — do not consult spec-schema.md):

  • `type` — one of the filter types listed below.
  • `values` — array of value objects.
  • `id` — for ID-based filters. Integer for most enums; single-letter string for `COMPANY_HEADCOUNT` and `COMPANY_TYPE`; 2-letter code for `PROFILE_LANGUAGE`.
  • `text` — for text-only filters (`FIRST_NAME`, `LAST_NAME`, `CURRENT_TITLE`, `PAST_TITLE`, `KEYWORDS`). Auto-resolved for ID-based filters — omit it there.
  • `selectionType` — `"INCLUDED"` (default) or `"EXCLUDED"`. Use `EXCLUDED` when the user says "exclude", "except", "not", "without".
  • `toggle: true` — shortcut for toggle filters; the builder auto-fills the hardcoded ID.

When a user targets multiple values of the same filter type (e.g., "France, Germany, Italy"), put them all in one filter object's `values` array — LinkedIn applies OR within a filter and AND across filters.

Region presets (USE THESE for multi-country targeting)

B2B sellers think in regional groupings, not individual countries. **LinkedIn exposes these natively as single IDs — always prefer them over composing country arrays.** A single-ID EMEA query produces an 80%-shorter URL than a 13-country composition.

LinkedIn native regions (preferred — single ID)

When the user names one of these, use the single ID directly in `values:`. No country composition needed.

| User says | ID | LinkedIn entity | |---|---|---| | EMEA | `91000007` | EMEA | | DACH | `91000006` | DACH | | Benelux | `91000005` | Benelux | | Nordics | `91000009` | Nordics | | APAC | `91000003` | APAC | | APJ (Asia Pacific Japan) | `91000004` | APJ | | MENA (Middle East / North Africa) | `91000008` | MENA | | Oceania | `91000010` | Oceania | | North America / NorAm | `102221843` | North America | | South America | `104514572` | South America | | Europe (whole continent) | `100506914` | Europe | | Asia | `102393603` | Asia | | Africa | `103537801` | Africa | | Worldwide / "anywhere" | `92000000` | Worldwide |

Example spec:

{"type":
Read more
Ships withgtm-system

The open-source GTM toolkit for Claude: skills and an MCP server to run outbound from the chat.

Get the whole plugin

Other skills on gtm-system.