Systems Lab

Agent skill

tam-scoring

Build and run scoring models that tier raw company lists into campaign-ready segments, and point each scored data point at the ColdIQ endpoint that sources it.

activeSelf-containedInstructions only556 words

Filed under Positioning and messaging.

From Cold-IQ/coldiq-marketplace-skills · 17 skill entries · 1 · pushed 2026-09-22

What it does when it runs

Build and run scoring models that tier raw company lists into campaign-ready segments, and point each scored data point at the ColdIQ endpoint that sources it. Use when building a scoring model, tiering a TAM, defining signal groups and point allocations, setting tier thresholds, cleaning a list before scoring, or running a Python scorer on an export. Triggers on "score companies", "tier the list", "scoring model", "TAM scoring", "ICP fit score", "tier thresholds", "100-point model", "qualify accounts". Do NOT use for enrichment/search to BUILD the list (see apollo-search / coldiq-search-enrich), signal sourcing (see signal-detection), or list dedup (see list-dedup).

Automated analysis of the skill and the 0 files bundled beside it. A skill’s own description is written to be selected by an agent, so it describes the job and not the dependencies.

Keys and connectors you must supply
None found.
Hosts it reaches
No third-party host appears in the skill or its bundled files.
Tool permissions it declares
No allowed-tools in the frontmatter. It only issues instructions, so there is nothing to bound.
Actions present in the files
None. Instructions only.

Ask about tam-scoring

Opens your assistant with this page's verified links already in the prompt.

Is this safe to install?ClaudeChatGPT
Adapt it to my stackClaudeChatGPT
What else do I need for it to workClaudeChatGPT
Rather ask a human? Talk to Cheetah
git clone --depth 1 --filter=blob:none --sparse https://github.com/Cold-IQ/coldiq-marketplace-skills.git /tmp/coldiq-marketplace-skills
git -C /tmp/coldiq-marketplace-skills sparse-checkout set "skills/tam-scoring"
mkdir -p ~/.claude/skills/tam-scoring
cp -R "/tmp/coldiq-marketplace-skills/skills/tam-scoring/." ~/.claude/skills/tam-scoring/

Picked up without a restart. A project skill of the same name is shadowed by your personal one. For one repository only, swap ~/.claude/skills for .claude/skills. Claude Code docs ↗

Or take the whole library

This repo ships a .claude-plugin manifest, so Claude Code can install all 17 skills at once. Plugin skills are invoked as /<plugin>:<skill>, so they never collide with your own.

/plugin marketplace add Cold-IQ/coldiq-marketplace-skills
/plugin

The folder is the same in every client that implements the format — 46 of them — so if yours is not above, only the destination changes.

Reproduced in full from Cold-IQ/coldiq-marketplace-skills/blob/495c1b4256db8c6683ac1ff59a093899228eca73/skills/tam-scoring/SKILL.md, which is licensed MIT (repository). 556 words, 9 headings.

TAM Scoring

Assign every company a numeric score from observable signals, then bucket into tiers. ColdIQ models run 80–100 points across 4–6 signal groups. The math is local; this skill notes which ColdIQ endpoint provides each scored data point so the model runs on fresh data.

ColdIQ Marketplace Endpoints (data sources for scored fields)

Scored data pointMethodPathCreditsEndpoint IDNotes
Firmographics (size, revenue, industry, funding)POST/v1/limadata/enrich/company1limadata.enrich.companyOne call for most groups
Large-scale company listPOST/v1/ai-ark/companiesper resultai_ark.companies.searchBuild the list to score
Tech-stack signalPOST/v1/builtwith/domainflatbuiltwith.domainComplexity/specialization group
Funding / PE backingGET/v1/signalbase/funding-signalsunknownsignalbase.funding_signalsOwnership/bonus groups

Score from enriched data — don't pay to enrich rows you'll DQ. Filter obvious DQs first, then: → POST /v1/limadata/enrich/company · 1 cr · limadata.enrich.company

Standard tier thresholds

TierScoreAction
Tier 165+Top priority, send first, best personalization
Tier 250–64Strong fit, second wave
Tier 335–49Marginal, volume plays only
DQ<35Do not send

Common signal groups

  1. Scale (10–25): 10k+ → 25, 5k–9,999 → 20, 2k–4,999 → 15, 500–1,999 → 10, 50–499 → 5, <50 → 0.
  2. Revenue (15–20): $50M–$500M → 20 (sweet spot), $25–50M → 15, $500M–1B → 10, $10–25M → 8, $1B+ → 5.
  3. Industry (10–15): core → 15, adjacent → 10, stretch → 5, unknown → 5, excluded → −100 (auto-DQ).
  4. Complexity / specialization (15–30): the client-specific signal (multi-location count, market count, competitor/complementary tech, digital maturity).
  5. Ownership / PE (10–20): PE-backed → 20, PE subsidiary → 15, VC/growth → 10, unknown → 5, founder/non-profit → 0.
  6. Bonus (5–10): franchise HQ, cash-flow keywords, rapid growth, recent funding, relevant hiring.

Data cleanup before scoring

BOGUS_NAMES = {"local my business", "google ai plugin", "auto-entrepreneur"}
def is_bogus(name):
    l = name.strip().lower()
    return l in BOGUS_NAMES or any(s in l for s in ["follow us", "test account"])
# Remove slug franchises (keller-williams-realty-dpr), flag extreme values, dedup by name (keep top score).

Python scorer pattern

def score_company(row):
    total, breakdown = 0, []
    for label, fn, field in [("Scale", score_scale, "# Employees"),
                             ("Revenue", score_revenue, "Annual Revenue"),
                             ("Industry", score_industry, "Industry"),
                             ("Custom", score_custom, None)]:
        pts, reason = fn(row if field is None else parse_number(row.get(field, 0)))
        total += pts; breakdown.append(f"{label}: {pts} ({reason})")
    if any("EXCLUDED" in b for b in breakdown): return -1, "DQ", breakdown
    tier = "Tier 1" if total>=65 else "Tier 2" if total>=50 else "Tier 3" if total>=35 else "DQ"
    return total, tier, breakdown
# load → clean(is_bogus) → score → dedup by name(keep highest) → sort desc → export CSV with Score/Tier/Breakdown

How to build a new model

  1. Pick 4–6 signal groups summing to 80–100. 2. Set thresholds. 3. Write scoring rules per signal.
  2. Clean data. 5. Run on the enriched export. 6. Generate per-tier CSVs. 7. Send a sample to the client for approval. 8. Re-run when new enrichment data arrives. Dedup first (list-dedup) so you never score a company twice.

Other skills for the same job

Different authors, same problem. Matched on the words in the skill name, across every library in the catalogue except this one.

Need help setting it up?

This page tells you what tam-scoring does and what it needs. Cheetah builds the agent setup it runs inside: data, CRM, sequencing and the guardrails.

Book a call →

The directory stays free. There is nothing gated behind this.