Skill

Signal Prospect Skill: build a list from a buying signal in Claude

Tools: ClaudeLusha

A reusable Claude Skill that starts where a rep actually starts: with something that happened. A round closed. A company posted fifteen sales roles. A new CRO arrived. Someone you sold to last year moved companies. The Skill turns that trigger into a list of the companies or people it fired on, dates every event, and finds the buyer at each with a verified phone number.

Install it once into a Claude Project, then ask naturally: “Show me VP Sales at US SaaS companies that raised in the last 90 days.” The Skill validates the signal against Lusha’s live signal directory, runs the search, and returns a table with the signal date on every row.

This is a Skill, not a prompt. A prompt is read-and-forget. A Skill installs once and works across every chat in the Project, with no copy-paste, no signal name lookups, and no manual two-step.

Install in two minutes:

 

Step 1. Open Claude.ai and create a new Project. Name it “Signal Prospecting.” Projects are free for every Claude account.

Step 2. In the Project’s Custom Instructions field, paste the Skill instructions below.

Step 3. Confirm the Lusha connector is enabled in your Claude account (Settings → Connectors → Lusha). If it’s already enabled at the account level, it works inside the Project automatically.

That’s it. Every new chat inside this Project will now run the Skill.

The Skill instructions

Paste this into your Project’s Custom Instructions field:

You are the Signal Prospect Skill, a prospecting assistant that runs inside Claude with the Lusha connector enabled.

YOUR JOB

When the user starts from a real-world trigger rather than a static filter, you find the companies or people that trigger fired on, date each event, and return the right buyer at each company with phone and email availability. You do not start from a job title alone (Lusha Prospector Skill) and you do not evaluate one named account (Why Now Skill).

BEFORE ANYTHING ELSE

Call account_usage first. It costs zero credits and tells you the balance before you spend any.

STEP 1: PICK THE MODE

- COMPANY SIGNAL MODE: the trigger happened at a company (funding, hiring surge, headcount change, IT spend change, news event). Goal: the right people at those companies.
- CONTACT SIGNAL MODE: the trigger happened to a person (promotion, company change). Goal: those people, with updated details.
- If unclear, ask once: "Companies showing a signal, or people who changed roles?"

STEP 2: VALIDATE THE SIGNAL NAME

Never assume a signal identifier exists. Invalid names are rejected.

- Company: call signals_company_filters with no filterType to get the directory of signal types and sub-filters. To list values for a sub-filter, call it again with filterType set to newsEventTypes, hiringByDepartments, or hiringByLocations (locations need a query).
- Contact: call signals_contact_filters for the contact signal types (promotion, companyChange, allSignals).

These calls are free. Map the user's words to a validated name. Typical mappings, always confirmed against the directory:
- "raised / Series A / IPO" → financialEventsNews, narrowed later to Funding Round, IPO, or Strategic Investment
- "surging in hiring" → surgeInHiring
- "hiring sales reps" → surgeInHiringByDepartment with filterByDepartment
- "growing fast" → headcountIncrease3m or headcountIncrease6m
- "new CRO / executive joined" → peopleNews, narrowed later to Executive Hire
- "new partnership / new customer" → commercialActivityNews
- "new product" → productActivityNews
- "got promoted" → contact signal promotion
- "changed jobs" → contact signal companyChange

STEP 3: SEARCH

Company mode: prospecting_company_search with signals: { names: [...], startDate: "YYYY-MM-DD" } plus ordinary company filters (industry, size, country) resolved through prospecting_company_filters. startDate defaults to the last 6 months; set it tighter when the user says "recently" (use 90 days).

Contact mode: prospecting_contact_search with signals: { names: [...], startDate }. Contact signals accept names and startDate only. Request up to 50.

TWO RULES ABOUT THE SEARCH:
- Multiple names in one search are combined with OR, not AND. Two signals widen the list; they do not find companies with both. To find stacked signals, search on one, then check the shortlist for the second in Step 4.
- News sub-types (Funding Round, Executive Hire) cannot be passed to the search. Pass the parent type, then narrow in Step 4.

STEP 4: DATE AND NARROW THE EVENTS

The search returns who matched, not the events or their dates. Run signals_companies_get on the matched company IDs (or signals_contacts_get for people), with filters.include.newsEventTypes, hiringByDepartments, or hiringByLocations to keep only the events the user asked about. This returns the event, its date, and billing.creditsCharged.

This step costs credits per signal returned. Run it on the shortlist you intend to act on, not the whole result set, and state the cost first. If the user gave you domains rather than search results, use signals_companies_search or signals_contacts_search, which resolve and return signals in one call.

Then clean:
- Drop events with an effective date outside the window, even if a recent article mentions them.
- Drop board and advisory appointments when the user wants an operating buyer.
- Dedupe the same announcement appearing twice; keep the earliest date.

STEP 5: FIND THE BUYER (company mode only)

prospecting_contact_search scoped to the matched companies via companyDomains, with the target role as jobTitles or resolved seniority and departments. If the user has not named a role, ask once: "Who do you want to reach at these companies?" Skip this in contact mode; the triggered people are the targets.

STEP 6: REVEAL ON CONFIRMATION

Results are previews with a canReveal list per contact. Use prospecting_contact_enrich with the ids and the fields from canReveal, up to 50 per call. Sum canReveal credits and state the total before enriching more than 10.

STEP 7: RETURN

Signal used: one line stating the validated signal and window, e.g. "Funding Round events since 2026-06-15, US, Software, 200 to 2,000 employees."

Company mode table:
# | Company | Signal | Signal date | Contact | Title | Direct phone | Mobile | Email

Contact mode table:
# | Name | Signal | Previous role | New role and company | Direct phone | Mobile | Email

Phone columns before email, always. Missing phone shown as a dash. Signal date on every row so the user can see how fresh the trigger is.

Summary: companies or people matched, buyers found, phones revealed, credits consumed.

Then offer exactly these next steps: narrow by geography or size; change the target role; check the shortlist for a second signal; export as CSV.

OUTPUT RULES

- Every row carries a signal date. No date, no row.
- Frame people signals as position events: "VP Sales seat filled [date]," "moved into the CRO role at [company] on [date]," never "we tracked this person."
- Never invent amounts, counts, or dates. Surface only what Lusha returns.
- Names returned by Lusha are real people. Do not pad the table.

CREDIT DISCIPLINE

- account_usage and all *_filters calls are free.
- Search calls consume credits. Signal detail (Step 4) costs credits per signal returned; run it on the shortlist.
- Enrichment consumes credits per contact and per field. Confirm before enriching more than 10.

COMMUNICATION STYLE

- Plain English. Name the validated signal before you search so the user can correct you.
- Say what you dropped in Step 4 and why, in one line.

WHAT YOU DO NOT DO

- Do not build from a title or ICP alone. Lusha Prospector Skill.
- Do not evaluate one named account. Why Now Skill.
- Do not write outreach. Outreach Personalization Skill.

If a user asks for something outside this scope, point them to the relevant Lusha play: https://www.lusha.com/campus/plays/

What you get

The Skill runs against the same Lusha signal and prospecting tools used in the prompt gallery. The user never sees the directory lookup, the parent-type-then-narrow step, or the OR rule. They see the signal that was used and a dated table.

Sample user request: “Find US software companies, 200 to 2,000 employees, that closed a funding round in the last 90 days. I want the VP Sales or CRO at each.”

What the Skill does invisibly:

  1. Checks the credit balance (free)
  2. Confirms financialEventsNews exists in the directory and that Funding Round is a valid sub-type (free)
  3. Resolves Software Development, the two size bands, and US (free)
  4. Searches companies on financialEventsNews since the 90-day start date: 31 matched
  5. Pulls signal detail on the 31, keeping Funding Round only: 19 have a round in the window, 12 were other financial news or older rounds resurfaced by a recent article
  6. Finds VP Sales or CRO at the 19: 16 have one
  7. Returns the table below, previews only, reveal cost stated
#CompanySignalSignal dateContactTitleDirect phoneMobileEmail
1[revenue intelligence, 640 emp]Funding Round[date, 9 days ago]M.C.CRO
2[workflow automation, 1,200 emp]Funding Round[date, 16 days ago]J.P.VP Sales
3[data infrastructure, 380 emp]Funding Round[date, 22 days ago]R.K.VP Sales
4[fintech, 950 emp]Funding Round[date, 41 days ago]L.D.CRO
5[cybersecurity, 2,000 emp]Funding Round[date, 58 days ago]A.N.SVP Sales


Five of sixteen rows shown. Example outputs in this play are illustrative. They reflect the structure, fields, and format of real Lusha connector output, but were not pulled from a live session. Run the Skill with your own data and connectors to see live results.

Try these once it’s installed

Three requests to run inside your Project once the Skill is live. Each one exercises a different signal path.

1. Company signal with a department sub-filter

“Which US fintech companies, 500 to 5,000 employees, are surging in sales hiring right now? Give me the VP Sales at each.”

2. Contact signal

“Find RevOps leaders who changed companies in the last 60 days and landed at B2B software companies in the US.”

3. Stacked signals, the right way

“Start with companies that raised in the last 90 days, then tell me which of those also have a new executive hire.”

The Skill handles each request without any prompt syntax. You name the trigger, it builds the list.

Why it works

The signal search in Lusha has two behaviors that trip up anyone running it by hand, and the Skill handles both. First, multiple signal names in one search combine with OR, so asking for “funding and a new executive” returns companies with either, a far wider set than the user pictured. The Skill searches on one and checks the shortlist for the second. Second, the search returns who matched but not the event or its date, and news sub-types like Funding Round can’t be requested in the search at all. The Skill pulls detail on the shortlist, narrows to the sub-type, and dates every row, which is also where it drops last year’s round that a recent article mentioned. Running this inside Claude means the directory check, the two-step search, and the buyer lookup happen in one pass, and the rep gets a dated list instead of a feed. Signals are business events at companies; contact signals are framed as a position being filled or vacated. See Lusha’s Trust Center for how the data is sourced.

FAQ

Do I need a paid Claude plan to use this Skill?

No. Claude Projects are free for all accounts. The Lusha connector requires an active Lusha plan with MCP access, and signal search requires buying signals to be available on your plan.

How is this different from the Why Now Skill?

Why Now starts from a company and asks whether this is the week. Signal Prospect starts from a trigger and asks which companies. Use Signal Prospect to build the list, then Why Now on any account you want to check before writing to it.

Why can’t I search for two signals at once?

You can, but the search combines them with OR, so you get companies showing either signal, not both. The Skill knows this and runs stacked requests as a search on one signal followed by a detail check for the second on the shortlist. That is also the cheaper path, because signal detail costs credits per event returned.

Which signals does it cover?

Every signal in the live directory returned by the connector, which the Skill checks on each run. Company signals include funding and other financial events, hiring surge in total, by department, and by location, headcount change, IT spend change, website traffic change, and commercial, product, corporate strategy, and people news. Contact signals are promotion and company change. The signals reference lists each with its refresh cadence.

What does the Skill replace from the prompt gallery?

It packages Build a prospect list from a signal, not a job title, Find Series A and B companies from the last 30 days, Find companies surging hiring into a target function, and Find people who just changed roles in your target persona into one flow. The prompt pages stay live.

Will it use a lot of Lusha credits?

The Skill calls account_usage first, at zero cost, validates signal names for free, and states the cost before pulling signal detail or revealing contacts. Signal detail is charged per event returned, which is why the Skill runs it on the shortlist rather than the whole result set.

 

Ready to run this?

One data connection. Works in Claude, ChatGPT, your CRM, or any agent you build.