tam-builder

Installation
SKILL.md

Applies before any contact-level work. Produces one row per company with provenance on every field, plus a statement of what the build missed.

Companies now, contacts later

Keep these stages apart. A TAM build that drifts into finding contacts and verifying emails produces a half-finished universe and a large bill, because enrichment and verification are priced per contact and you're paying for them on companies you haven't qualified yet.

Stage one answers one question: which companies could buy this? Nothing else.

Retrieve, don't infer

Every field comes from a source that actually knows it, and every field carries provenance — where it came from and how confident it is. The temptation is to infer employee count from a website's feel, or geography from a top-level domain. Inferred fields look identical to retrieved ones in a spreadsheet and quietly corrupt every downstream filter.

Deduplicate on the root domain, not the company name. Names vary by legal entity, trading style, and punctuation; domains don't.

Build to saturation, not to a number

The completeness guarantee doesn't come from hitting a target count. It comes from running additional queries and sources until the yield of new domains per query goes to near zero.

Log that curve. If the run was capped — top-N per source, a budget ceiling, a rate limit — say so explicitly in the output. A truncated universe presented as complete is the single most damaging thing this process can produce, because every strategic decision downstream inherits the gap without knowing it exists.

Installs
16
GitHub Stars
99
First Seen
Jul 29, 2026
tam-builder — swan-gtm/gtm-skills