Buying Signal Monitor logo

Buying Signal Monitor

Organization
unifapi-agent
buying-signal-monitor

When a seller or SDR wants to catch public buying intent on X/Twitter and LinkedIn — someone asking for a tool they sell, complaining about or switching off a competitor, or hiring for a role that implies a need. Also use on "buying signals," "intent signals," "social listening for sales," "warm leads," "who's looking for a tool like ours," "people switching vendors," "hiring signal," "trigger event," "find prospects on Twitter/LinkedIn," or "monitor for sales triggers." Reads public posts only — read-only research; the operator sends from their own accounts.

Overview

Publisherunifapi-agent
Repositoryagents
Skill namebuying-signal-monitor
Stars
590
Forks
115
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by unifapi-agent on GitHub. Read the source before you install it.

Installation

Install the Buying Signal Monitor AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/unifapi-agent/agents/tree/main/skills/social-selling-agent/buying-signal-monitor
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/unifapi-agent/agents.git /tmp/agents
mkdir -p .claude/skills
cp -r /tmp/agents/skills/social-selling-agent/buying-signal-monitor .claude/skills/buying-signal-monitor
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Buying Signal Monitor in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Buying Signal Monitor on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Buying Signal Monitor is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Buying Signal Monitor

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. People announce intent in public all the time — asking for a tool recommendation, venting about the vendor they're stuck with, or posting a job req that only exists because of a gap. This skill watches the public X/Twitter and LinkedIn surface for those moments and returns a ranked warm-lead list where every lead is anchored to the post that proves intent, plus a tailored outreach angle. 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.
  • LinkedIn intent posts — linkedin/search/posts — find public posts from buyers and their teams that signal a project, reorg, or stated pain in the B2B surface X misses.
  • Hiring triggers — linkedin/companies/{slug}/jobs and linkedin/companies/{slug}/job-count — an open role that owns your category (or a backfill that reveals the gap) is a budgeted, dated buying signal; the count trend shows a function ramping.
  • 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 to account-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

  1. 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.md first 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.
  2. Pull recent public activity. Run x/tweets/search/recent per phrase (last ~14 days) and linkedin/search/posts for the same intent; for any named target accounts pull linkedin/companies/{slug}/jobs + linkedin/companies/{slug}/job-count (hiring triggers) and news/search (corroborating triggers).
  3. Qualify each match. Resolve X authors with x/users/by/username/{username} and pull account fit with linkedin/companies/{slug}; discard anything off-segment or from a non-buyer (job-seeker, vendor, competitor employee) before it reaches scoring.
  4. Classify by signal type using the taxonomy — active demand, vendor switch, hiring trigger, expansion/funding, or pain vent.
  5. Score warmth with the rubric below. Drop anything stale or off-ICP; keep and rank the rest.
  6. 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.

Factor321
Signal strengthExplicit ask for a tool like yours, or "leaving [competitor]"Naming the pain you solve, or hiring the role that owns itAdjacent topic interest; pain implied, not stated
Fit (ICP)Segment, size, and geo all matchTwo of three matchLoosely adjacent
Recency≤ 3 days4–14 days15–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 (e.g. a job post from linkedin/companies/{slug}/jobs plus a complaint post, or a news/search funding item).

Output: ranked warm-lead list

A ranked warm-lead table, then per-lead detail. Lead with the table:

markdown
# 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) or inferred (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.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Buying Signal Monitor AI skill do?

When a seller or SDR wants to catch public buying intent on X/Twitter and LinkedIn — someone asking for a tool they sell, complaining about or switching off a competitor, or hiring for a role that implies a need. Also use on "buying signals," "intent signals," "social listening for sales," "warm leads," "who's looking for a tool like ours," "people switching vendors," "hiring signal," "trigger event," "find prospects on Twitter/LinkedIn," or "monitor for sales triggers." Reads public posts only — read-only research; the operator sends from their own accounts.

Why use Buying Signal Monitor on TypingMind?

Because you install it once and use it with any model. Buying Signal Monitor is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Buying Signal Monitor in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/unifapi-agent/agents/tree/main/skills/social-selling-agent/buying-signal-monitor. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Buying Signal Monitor?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Buying Signal Monitor?

As many as you like. As long as a model supports skills, you can use Buying Signal Monitor with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Buying Signal Monitor AI skill free?

Yes. It is published on GitHub by unifapi-agent under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇