gtm-skills

Lookalike Accounts

Reconstruct the profile of one seed company, then surface other companies that share its industry, size, region, and tech stack.

Input

The user supplies via $ARGUMENTS:

If the user gives only a person or asks for similar contacts, redirect them to a prospecting flow. This skill returns accounts.

Workflow

  1. Resolve the seed. Match the supplied name or domain. If multiple candidates return, pick the highest-confidence match whose domain aligns with the user input and confirm the chosen company back in the final output. If nothing resolves, stop and ask for a clearer identifier (domain preferred).

  2. Domain-variant sanity check. After firmographics land, if a major-brand input resolves to a row with headcount 1-50 and NAICS 551114 (Corporate Managing Offices) or SIC Hotels and motels, the match likely routed to a registered-agent shell. Re-try with the alternate domain or with the company name string. A broken seed produces garbage lookalikes.

  3. Reconstruct the seed profile. Enrich firmographics and technographics on the seed. Extract:
    • Industry category (LinkedIn or NAICS, whichever is populated; the two are mutually exclusive as filters).
    • Headcount bucket and revenue bucket.
    • Country code (or regional grouping if the seed is multinational and the user asked for regional scope).
    • Top 3-5 tech stack values, biased toward category-defining tools (CRM, MAP, data warehouse, primary cloud) over ubiquitous infrastructure (Analytics, jQuery). Skip any field that comes back empty: never fabricate a value.
  4. Discover canonical values for the reconstructed industry and each tech token. Drop any value that does not resolve cleanly. Bucket enums and country codes do not need discovery.

  5. Apply user overrides. If the user specified country, size, revenue, public-only, or extra tech filters, replace or extend the reconstructed values with the overrides. Honor the mutual exclusivity rule between LinkedIn and NAICS industry, and between country code and grouped region.

  6. Size the candidate pool. Get a total count for the assembled filters. If below the requested return size, relax the most restrictive filter first: drop the 5th tech, then 4th, then 3rd, then collapse the headcount bucket to an adjacent one. Re-size after each step. If the count exceeds 5,000, tighten by adding back a tech filter or narrowing region. Report the final candidate count in the output.

  7. Fetch lookalikes. Sample the validated filter set to surface candidates, then export the user-requested count via the paid export path for the full materialized list. Exclude the seed before display.

Output Format

Lookalikes for [Seed Company Name] ([seed domain]) Reconstructed profile: [industry] | [headcount bucket] | [revenue bucket] | [country or region] | Tech: [comma-separated tech list]. Candidate pool: [N] companies matching this profile. Returning top [requested count].

Results Table

| Rank | Company | Domain | Industry | Employees | Revenue | Country | |——|———|——–|———-|———–|———|———|

Show the user-requested count (default 25, cap 100). Always exclude the seed.

Pattern Notes

2-4 bullets covering dominant geography, size concentration, tech-overlap density (tech filters are not fully populated on every row), and any adjacency the filter set introduced (e.g. “industry widened because LinkedIn category was empty on seed”).

Suggested Next Steps

Pull contacts at any of these accounts via the list-builder flow scoped by the businesses table; deepen one row with the enrich-company flow; watch the list for growth events on the reconstructed cohort.

Limitations