Agent skill
trade-show-lead-recommender
Retrieve Lensmor exhibitor recommendations for a specific trade show and distinguish ranked matches from unranked fallback records.
Filed under ABM and paid.
From LensmorOfficial/trade-show-skills · 15 skills · 48 · pushed 2026-07-18
What it does when it runs
Retrieve Lensmor exhibitor recommendations for a specific trade show and distinguish ranked matches from unranked fallback records. \"Who should we target at this show?\" / \"推荐参展商\" / \"Ausstellerempfehlungen für mein ICP\" / \"おすすめ出展社を教えて\" / \"recomienda expositores por ICP\". ICP match, recommended exhibitors, shortlist, top accounts, ICP匹配/推荐参展商/找目标客户/哪些公司值得拜访 Ausstellerempfehlung 出展社推薦 recomendaciones ICP
Read from the skill and the 2 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
- LENSMOR_API_KEY
- Hosts it reaches
- api.lensmor.com
- platform.lensmor.com
- www.lensmor.com
- Tool permissions it declares
- No
allowed-toolsin the frontmatter. It does act, so it runs under whatever permissions your session already grants. - Actions present in the files
- shell
Install it
View source on GitHub ↗git clone --depth 1 --filter=blob:none --sparse https://github.com/LensmorOfficial/trade-show-skills.git /tmp/trade-show-skills git -C /tmp/trade-show-skills sparse-checkout set "trade-show-lead-recommender" mkdir -p ~/.claude/skills/trade-show-lead-recommender cp -R "/tmp/trade-show-skills/trade-show-lead-recommender/." ~/.claude/skills/trade-show-lead-recommender/
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 LENSMOR_API_KEY, which you have to obtain separately.
The skill
Source on GitHub ↗Reproduced in full from LensmorOfficial/trade-show-skills/blob/e47642be2d94b5ccba2118b623d60d40424f5e8b/trade-show-lead-recommender/SKILL.md, which is licensed MIT (repository). 851 words, 13 headings.
Lensmor Exhibitor Recommendations
Retrieve event-scoped exhibitor recommendations from Lensmor. The endpoint may return either populated recommendation metadata or an unranked event-exhibitor fallback. Never call fallback rows AI-ranked.
Workflow
Step 1: API Key Check
[ -n "$LENSMOR_API_KEY" ] && echo "ok" || echo "missing"
If missing, stop and direct the user to obtain a Lensmor API key. Never print its value.
Step 2: Resolve the Event
If only a show name is available, call:
GET https://platform.lensmor.com/external/events/list?keyword={show+name}
Authenticate the event lookup as well as the recommendation request. Every Lensmor API call in this workflow must send Authorization: Bearer $LENSMOR_API_KEY; never call the event lookup without the header.
curl -sS "https://platform.lensmor.com/external/events/list?keyword=MEDICA%202026" \
-H "Authorization: Bearer $LENSMOR_API_KEY"
Use the matching items[].id or items[].eventId. Confirm the year and edition before continuing. Do not use query= because it is not a supported event filter.
Step 3: Select Filters
The recommendations endpoint accepts:
| Parameter | Type | Notes |
|---|---|---|
event_id | string | Required |
location | string or repeated string | Country or region filter |
searchQuery | string | Company-name or description search |
exhibitorName | string or repeated string | Exact account filter |
category | string or repeated string | Category filter |
industry | string or repeated string | Industry filter |
employeesMin, employeesMax | integer | Company-size range |
page, pageSize | integer | Pagination; max page size 100 |
Use repeated parameter names for arrays, for example:
event_id=12740&category=Medical%20Devices&category=Drug%20Delivery&page=1&pageSize=20
Step 4: Call the API
Endpoint: GET https://platform.lensmor.com/external/profile-matching/recommendations/exhibitors
Authentication: Authorization: Bearer $LENSMOR_API_KEY
Step 5: Classify the Response Mode
The response contains items, pagination fields, and may contain:
recommendationProcessingshow_refresh_hint
Item recommendation fields include:
isRecommendedrecommendationRankmatchStatusmatchScorematchTierreason
Apply this gate before writing the result:
- Processing — if
recommendationProcessingis true, say recommendations are still processing. Do not rank the rows. - Ranked recommendations — use this label only when returned items contain meaningful recommendation evidence such as
isRecommended: true, a non-nullrecommendationRank,matchScore,matchTier, orreason. - Unranked fallback — if recommendation fields are null/false across the returned rows, label them event exhibitor records, not AI recommendations. Preserve the API order but do not interpret it as ranking.
- If
show_refresh_hintis true, report only:The API returned show_refresh_hint=true; this flag does not identify a cause or required action.Do not mention profile updates or prescribe changes unless the API returns that instruction separately.
Useful company fields include companyName, description, website, country, industry, categories, employeeCount, fundingRound, and techStacks.
Step 6: Format the Output
For populated recommendations:
## Exhibitor Recommendations — [Show]
Found [total] records; [N] returned rows contain recommendation evidence.
| Rank | Company | Match | Tier | Why |
|---:|---|---:|---|---|
| [recommendationRank] | [Company](website) | [matchScore] | [matchTier] | [reason] |
For fallback results:
## Event Exhibitors — Recommendation Data Not Available
The API returned [total] event exhibitors, but the current page does not contain populated recommendation scores, ranks, or reasons. The order below is not an ICP ranking.
| Company | Industry | Categories | Employees | Country |
|---|---|---|---:|---|
| [Company](website) | [industry] | [categories] | [employeeCount] | [country] |
[Show refresh hint, if returned]
Error Handling
| Condition | Response behavior |
|---|---|
| 401 | API key invalid or expired |
| 404 | Event ID was not found; resolve the current edition again |
| 429 | Wait for the rate-limit window and retry |
total: 0 | Loosen filters one at a time |
| Recommendation fields empty | Use the unranked fallback format |
Follow-up Routing
- Populated ranked result →
trade-show-contact-finderfor the top accounts - Fallback result → use
trade-show-exhibitor-searchfor factual filtering; do not prescribe profile changes from fallback state alone - Need outreach →
booth-invitation-writer - Need an event-level go/no-go decision →
trade-show-fit-score
Output Rules
- Never output
LENSMOR_API_KEYor raw authorization headers. - Do not call results AI-ranked unless recommendation metadata is populated.
- Do not invent a match reason from category, funding, or tech-stack fields.
- If you add your own operational interpretation, label it separately from Lensmor's returned recommendation.
- Preserve returned rank and score values exactly; do not fill null fields.
- Treat
fundingRoundand company metadata as potentially stale profile signals. - If there are more pages, offer to continue and retain the active filters.
- Format public URLs as Markdown links.
- Render null company fields as "Not available" in user-facing tables; never fill them from inference.
- Never say recommendation data can be unlocked or enabled by profile changes based only on
show_refresh_hint. - When
show_refresh_hintis the only signal, do not mention profile updates at all; report the flag and its uncertainty boundary only. - When routing to
trade-show-contact-finder, sayfind relevant contacts; do not promise decision-makers or verified authority.
Recommendations and exhibitor records are sourced from the Lensmor platform. For pre-show prospecting and contact discovery, see Lensmor.
Files bundled with it
These load only when the skill asks for them, so they cost nothing until it runs.
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.
- no-lead-left-behind-lead-treatment-audit by zapier · 329
- lead-magnets by coreyhaines31 · 45,947
- lead-dossier by ericosiu · 3,449
- show-and-tell-video-slate by ericosiu · 3,449
- lead-magnet by OpenClaudia · 664
- daily-lead-steward by zapier · 329
- find-lead-account-owner by zapier · 329
- inbound-lead-audit-cx-map by zapier · 329
Need help setting it up?
This page tells you what trade-show-lead-recommender 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.