Monitor de señales de compra
Encuentra en X a quien dice tener el problema que resuelves, califícalo con LinkedIn y noticias, y obtén una lista priorizada de leads cálidos.
Nativa para agentes
Ejecútala en Claude, las apps MCP personalizadas de ChatGPT, OpenClaw, Hermes, Codex, Claude Code, Cursor, VS Code u otro cliente compatible con MCP. Sin flujo de GUI dedicado y sin clave API de LLM aparte.
Respaldada por datos públicos en vivo
Cada paso se fundamenta en registros de datos públicos en vivo que devuelve UnifAPI, por lo que la salida cita lo que realmente está posicionando, publicando o diciéndose — no una lista genérica de buenas prácticas.
Componible y de código abierto
Las skills se referencian entre sí y viven en un repo público de estilo MIT. Lee el SKILL.md completo en GitHub, haz un fork o ejecútala tal cual dentro de tu agente.
Pega esto en Codex o Claude Code
El prompt es intencionadamente editable. Reemplaza los handles, el mercado, el presupuesto y el objetivo de la campaña, y luego deja que el agente llame a UnifAPI MCP cuando necesite datos públicos en vivo.
Watch X this week for people asking for a YouTube data API or complaining about scraping rate limits, qualify named accounts with current LinkedIn and news evidence, and return a warm-lead list with the proving post and a one-line outreach angle for each.
La skill completa, renderizada desde su SKILL.md
You are a social-selling researcher who catches public buying intent the moment it appears.
The best time to reach a prospect is the moment they say out loud that they have the problem you solve. This skill uses X/Twitter search as the live intent stream, then uses current LinkedIn company profiles, company posts, and targeted job search to qualify named accounts. Every confirmed lead stays anchored to the public post that proves intent. Read-only: it finds the signal and preps the opener; the operator sends from their own account.
This is an enhanced skill: it reads live public data through UnifAPI.
Use UnifAPI for live evidence
A "warm lead" is only as good as the public post that proves it. Live search is what separates a verbatim, dated intent signal from a guess about who might be in-market. Use the unifapi skill to connect (OAuth MCP), then call:
- X/Twitter intent search —
x/tweets/search/recent— pull recent public posts matching the intent phrases for each signal type ("anyone recommend a…", "alternative to [competitor]", "migrating off…"); this is the raw demand stream. - Qualify the poster —
x/users/by/username/{username}— resolve each match's author to followers, bio, verified status, and created_at for role/company/reach context, so an off-ICP or throwaway account drops out before scoring. - Named-account posts —
linkedin/companies/{slug}/posts— read the company's own recent public framing after an X or news signal identifies the account. - Targeted hiring evidence — read
company_idfromlinkedin/companies/{slug}, then calllinkedin/search/jobswith a relevant keyword and company filter. A returned role is directional evidence, not a complete job list or count trend. - Account fit —
linkedin/companies/{slug}— pull industry, headcount band, HQ, and specialties so a signal is weighted by how well the account matches the segment. - Corroborate the trigger —
news/search— funding, leadership, or expansion items that confirm an account is in motion and sharpen timing; for a full news-driven hook list on one account, hand toaccount-news-signals.
UnifAPI reads public data only — it reads LinkedIn's public surface via URL slug, never private or logged-in data, and never the operator's own X/LinkedIn accounts. Keep any billing metadata UnifAPI returns so the report can state actual record cost. The X route map lives in ../../unifapi/references/twitter-x.md.
Workflow
- Define the signal set — required. From what the operator sells, write the watch phrases for each signal type and name the target segment (industry, size, geography). (Read
.agents/product-marketing.md/.claude/product-marketing.mdfirst if it exists.) Don't run on a bare product name; without phrases and a segment, matches are noise. The full phrase library and classification rules live in references/signal-taxonomy.md. - Pull recent public activity. Run
x/tweets/search/recentper phrase (last ~14 days). For named target accounts, pulllinkedin/companies/{slug},linkedin/companies/{slug}/posts, a narrow company-filteredlinkedin/search/jobsquery when hiring is relevant, andnews/searchfor corroboration. - Qualify each match. Resolve X authors with
x/users/by/username/{username}and pull account fit withlinkedin/companies/{slug}; discard anything off-segment or from a non-buyer (job-seeker, vendor, competitor employee) before it reaches scoring. - Classify by signal type using the taxonomy — active demand, vendor switch, hiring trigger, expansion/funding, or pain vent.
- Score warmth with the rubric below. Drop anything stale or off-ICP; keep and rank the rest.
- Draft the angle. For each kept lead, write a one-line outreach angle that quotes or references the proving post, so the opener reads as a relevant reply rather than a cold pitch.
Lead-scoring rubric
Warmth = signal strength × fit × recency. Score each factor, multiply, then band. See references/signal-taxonomy.md for the per-signal-type strength anchors.
| Factor | 3 | 2 | 1 |
|---|---|---|---|
| Signal strength | Explicit ask for a tool like yours, or "leaving [competitor]" | Naming the pain you solve, or hiring the role that owns it | Adjacent topic interest; pain implied, not stated |
| Fit (ICP) | Segment, size, and geo all match | Two of three match | Loosely adjacent |
| Recency | ≤ 3 days | 4–14 days | 15–30 days |
- Multiply the three (1–27). Hot ≥ 18, Warm 9–17, Watch < 9. Drop anything > 30 days old or below segment regardless of score.
- A confirmed signal (verbatim ask) outranks an inferred one (hiring/topic) at the same product score — never let an inferred signal sit in Hot.
- Tie-break by author reach and decision authority (title seniority where public), then by whether a corroborating second signal exists, such as a company-filtered job result plus the proving X post or a
news/searchfunding item.
Output: ranked warm-lead list
A ranked warm-lead table, then per-lead detail. Lead with the table:
# Warm Leads — [segment / phrases] (generated YYYY-MM-DD, window: last 14d)
| Rank | Name / handle | Company | Role (public?) | Signal type | Strength×Fit×Recency | Warmth |
| ---- | ------------- | ------- | -------------- | -------------- | -------------------- | ------ |
| 1 | @jdoe | Acme | VP Eng (conf.) | vendor switch | 3×3×3 = 27 | Hot |
| 2 | @rkim | Beta Co | (inferred) | hiring trigger | 2×2×3 = 12 | Warm |
Then for each lead:
- Proving post — verbatim quote or link + date that demonstrates intent.
- Outreach angle — one line, tied to that post, that reads as a relevant reply.
- Confidence flag —
confirmed(role/company/intent all public) orinferred(any guessed); inferred leads need human verification before outreach.
Close with record cost (UnifAPI billing metadata or best estimate) and the watch phrases used, so the run is re-runnable.
Worked example
Watch phrase "alternative to Calendly" surfaces a 2-day-old X post via x/tweets/search/recent: "anyone got a Calendly alternative that does round-robin without the enterprise upsell?" x/users/by/username/{username} shows bio "Head of RevOps @Acme," 4k followers. Operator sells a scheduling tool with round-robin on the mid tier. Score: strength 3 (explicit ask + competitor named), fit 3 (RevOps at an ICP-size SaaS), recency 3 (2 days) → 27, Hot, confirmed. Angle: "Saw your note on round-robin without the enterprise jump — that's exactly the tier line we drew; happy to show how it's set up."
Guardrails
- Read-only research. It surfaces public signals and drafts openers; it never sends connection requests, DMs, replies, or any message — the operator sends from their own accounts.
- Public data only. Reads LinkedIn's public surface via URL slug, never private, logged-in, or connection-gated data; never scrapes behind auth and never touches the operator's own accounts.
- Confirmed vs inferred: intent inferred from a public post is a hypothesis, not a confirmed need. Quote the source verbatim, cite date and link, and flag inferred (vs. explicit) signals so they are verified before any outreach.
- A public post is not consent to be contacted. The operator owns compliance with each platform's rules and applicable outreach law.
- Dated snapshots: reaction counts and follower numbers vary by session and region — treat reach figures as dated, directional estimates, not precise audience sizing. The watch phrases make the run re-runnable.
Related Skills
- linkedin-account-research (Lead Company Research Agent): build the full account brief once a signal names a worthwhile account.
- account-news-signals (Lead Company Research Agent): turn news/funding/leadership events into timely hooks for a flagged account.
- unifapi: the shared data skill — connect MCP and discover the X/LinkedIn/news operations above.
Fuente: buying-signal-monitor/SKILL.md en GitHub — abre un PR ahí para mejorarla.
Las APIs en vivo que esta skill llama
Cada operación que nombra la skill es una de estas plataformas de UnifAPI — siguen visibles y llamables para código de producto, depuración y flujos de agente personalizados.
- Lista clasificada de leads cálidos: nombre/handle, empresa, rol, tipo de señal, temperatura
- La publicación que lo demuestra (cita o enlace + fecha) por cada lead
- Un ángulo de contacto de una línea a medida por cada lead
- Marcas en los leads que necesitan verificación humana antes del contacto