Systems Lab

Agent skill

predictleads-signals

Use when a teammate wants ad-hoc PredictLeads signals for a single company, asks "what's happening at [company]", "signals for [domain]", "enrich [domain] with PredictLeads", "pull jobs/funding/news for [company]", or wants to read previously cached signals from local SQLite without burning new credits.

activeNeeds a keyActs undeclared397 words

Filed under Prospecting and list building.

From Othmane-Khadri/YALC-the-GTM-operating-system · 61 skills · 290 · pushed 2026-08-20

What it does when it runs

Use when a teammate wants ad-hoc PredictLeads signals for a single company, asks "what's happening at [company]", "signals for [domain]", "enrich [domain] with PredictLeads", "pull jobs/funding/news for [company]", or wants to read previously cached signals from local SQLite without burning new credits.

Read from 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
  • PREDICTLEADS_API_KEY
  • PREDICTLEADS_API_TOKEN
Hosts it reaches
  • hubspot.com
Tool permissions it declares
No allowed-tools in the frontmatter. It does act, so it runs under whatever permissions your session already grants.
Actions present in the files
shell

Ask about predictleads-signals

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/Othmane-Khadri/YALC-the-GTM-operating-system.git /tmp/YALC-the-GTM-operating-system
git -C /tmp/YALC-the-GTM-operating-system sparse-checkout set ".claude/skills/predictleads-signals"
mkdir -p ~/.claude/skills/predictleads-signals
cp -R "/tmp/YALC-the-GTM-operating-system/.claude/skills/predictleads-signals/." ~/.claude/skills/predictleads-signals/

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 ↗

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.

Before you install: this skill will not complete its job on a bare agent. It needs PREDICTLEADS_API_KEY, PREDICTLEADS_API_TOKEN, which you have to obtain separately.

Reproduced in full from Othmane-Khadri/YALC-the-GTM-operating-system/blob/5686d1f2f526346133f78eef3349fc5a655757b4/.claude/skills/predictleads-signals/SKILL.md, which is licensed MIT (repository). 397 words, 11 headings.

PredictLeads Signals (single company)

Pulls and reads company-level intent signals from PredictLeads: job openings, financing events, technologies, news events, similar companies. Stored in local SQLite (company_signals table) with a 7-day TTL cache so repeat lookups within the week cost zero credits.

When to use

  • Quick lookup before an outbound message: "what's happening at hubspot.com?"
  • Adding signal context to a single lead during qualification
  • Reading cached signals offline (no API call) via signals:show
  • Sanity-checking a company's marketing maturity (tech stack, hiring pace)

Don't use when: enriching a list of >5 companies (use predictleads-lookalikes for discovery, or the bulk signals:enrich --result-set); building a campaign (use prospect-discovery-pipeline).

Quick reference

# Pull all 4 signal types for one company (1 credit per type = 4 credits)
npx tsx src/cli/index.ts signals:fetch --domain hubspot.com

# Restrict to specific types (saves credits)
npx tsx src/cli/index.ts signals:fetch --domain hubspot.com --types jobs,funding

# Force re-fetch even if cached within TTL
npx tsx src/cli/index.ts signals:fetch --domain hubspot.com --no-cache

# Read cached signals locally (no API call, free)
npx tsx src/cli/index.ts signals:show --domain hubspot.com --limit 20
npx tsx src/cli/index.ts signals:show --domain hubspot.com --type news

Cost

OperationCredits
signals:fetch (4 types, default)4
signals:fetch --types jobs,funding2
signals:fetch re-run within 7 days0 (cache hit)
signals:show0 (local read)

Live PredictLeads quota: hit /api_subscription once via curl to see remaining credits. Or just run signals:fetch and the output prints cache hit / +N signals per type.

Signal types and aliases

jobs (job_opening), funding (financing), tech (technology), news, similar (similar_company)

Common pitfalls

  • Domain format: pass the bare domain (hubspot.com), not https://hubspot.com or www.hubspot.com. The service tolerates either but URLs in payloads are cleaner.
  • News and tech rows look empty in signals:show: payloads use summary (news) and resolved relationships (tech) instead of title. The display already falls through to summary. If you see blanks, check the raw payload via sqlite3 ~/.gtm-os/gtm-os.db "SELECT payload FROM company_signals WHERE domain='X' LIMIT 1".
  • Cache invalidation: 7 days is the default TTL. Pass --no-cache to force a refresh. Caching is per (domain, signal_type), so refreshing news doesn't re-pull jobs.

Required env

PREDICTLEADS_API_KEY + PREDICTLEADS_API_TOKEN in ~/.gtm-os/.env. Both come from the same PredictLeads subscription page. See TEAM_SETUP.md at repo root for how to get them.

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 predictleads-signals 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.