Skill: weilun88313/trade-show-fit-score (version 1.2.0)

--- name: trade-show-fit-score version: 1.2.0 description: "Score a trade show against your company profile for an AI-backed exhibit vs. skip decision. \"Should we exhibit at this show?\" / \"这个展会值得参加吗\" / \"Lohnt sich diese Messe?\" / \"この展示会は合っている?\" / \"¿Vale la pena esta feria?\". score event, fit score, should we exhibit, worth attending, event ROI, go or no-go, 展会评分, 值不值得参加, 展会匹配度, 要不要参展 Messebewertung Messeignung 展示会評価 puntuación de feria" homepage: https://github.com/LensmorOfficial/trade-show-skills/tree/main/trade-show-fit-score user-invocable: true metadata: {"openclaw":{"config":{"stage":"pre-show","category":"research","emoji":"🎯"},"requires":{"env":["LENSMOR_API_KEY"]},"primaryEnv":"LENSMOR_API_KEY"}} --- # Lensmor Event Fit Score Score a specific trade show against your company's profile using the Lensmor API to get a data-backed recommendation on whether to exhibit, attend, or skip. When this skill triggers: - Run the API key check (Step 1) before any API call - Resolve the `event_id` for the named show if not already provided - Call the fit-score endpoint and return a structured score card with decision band - Pair with `trade-show-finder` for manual scoring or when Lensmor API access is unavailable ## Use Cases - **Exhibit vs. skip decision**: Get a quantified answer before committing budget - **Annual planning triage**: Run multiple shows through fit-score to rank investment priorities - **Internal justification**: Produce a data-backed score card to share with leadership ## Workflow ### Step 1: API Key Check Before making any API call, verify the key is configured: ```bash [ -n "$LENSMOR_API_KEY" ] && echo "ok" || echo "missing" ``` If the result is `missing`, stop and respond: > The `LENSMOR_API_KEY` environment variable is not set. This skill requires a Lensmor API key to generate fit scores. > Contact [[REDACTED_SECRET]](mailto:[REDACTED_SECRET]) to purchase access, then set the key: > `export LENSMOR_API_KEY=your_key_here` Do not proceed to any API call until the key is confirmed present. ### Step 2: Resolve the Event ID The fit-score endpoint requires a Lensmor `event_id`. If the user only has a show name, look it up first: **Endpoint**: `GET https://platform.lensmor.com/external/events/list?query={show+name}` **Authentication**: `Authorization: Bearer $LENSMOR_API_KEY` The response returns an array of matching events. Pick the `id` that matches the show, year, and edition the user intends. If the user already has the `event_id`, skip directly to Step 3. ### Step 3: Call the Fit-Score Endpoint **Endpoint**: `POST https://platform.lensmor.com/external/events/fit-score` **Authentication**: `Authorization: Bearer $LENSMOR_API_KEY` Request body: ```json { "event_id": "evt_hannovermesse_2026" } ``` ### Step 4: Interpret the Response **Response structure:** ```json { "event": { "id": "evt_hannovermesse_2026", "name": "Hannover Messe 2026", "dates": "April 20–24, 2026", "location": "Hannover, Germany", "website": "https://www.hannovermesse.de" }, "score": 82, "recommendation": "Strong fit for exhibiting. High concentration of your ICP in industrial automation and manufacturing technology. Recommend securing a booth in Hall 9 or 11.", "breakdown": { "icp_alignment": 88, "audience_volume": 79, "competitive_density": 74, "geo_reach": 91, "content_relevance": 78 } } ``` **Response field reference:** | Field | Type | Description | |-------|------|-------------| | `event.id` | string | Lensmor event ID | | `event.name` | string | Official show name | | `event.dates` | string | Show dates | | `event.location` | string | City and country | | `event.website` | string | Official website URL | | `score` | number | Overall fit score, 0–100 | | `recommendation` | string | AI-generated plain-language recommendation | | `breakdown.icp_alignment` | number | How closely the show's exhibitor/visitor profile matches your ICP | | `breakdown.audience_volume` | number | Show scale score (visitor and exhibitor count) | | `breakdown.competitive_density` | number | Competitor presence — higher = more competitors, also more buyers | | `breakdown.geo_reach` | number | Geographic match between show location and your target markets | | `breakdown.content_relevance` | number | Topic and vertical alignment between show theme and your product | ### Step 5: Format the Output ```markdown ## Event Fit Score — [Show Name] [Show website link] | [Dates] | [Location] | Dimension | Score | |-----------|-------| | **Overall Fit** | **[score] / 100** | | ICP Alignment | [breakdown.icp_alignment] | | Audience Volume | [breakdown.audience_volume] | | Competitive Density | [breakdown.competitive_density] | | Geographic Reach | [breakdown.geo_reach] | | Content Relevance | [breakdown.content_relevance] | **Decision**: [decision band — see table below] **Recommendation**: [text from `recommendation` field] ``` ### Score Interpretation Guide Apply this interpretation to every fit-score result: | Score Range | Band | Decision | |-------------|------|----------| | 80–100 | Priority — Exhibit | High confidence. Secure budget and book booth early. | | 65–79 | Conditional — Consider | Attend first if budget is tight, or exhibit if capacity allows. | | < 65 | Low fit — Skip or Monitor | Skip exhibiting. Visit only with a specific tactical reason. | **Breakdown dimension guidance:** - `icp_alignment > 80`: The show floor will be populated with your target buyers and use cases - `competitive_density > 80`: Many competitors attend — expect a harder-to-stand-out environment, but also concentrated buyer demand - `geo_reach < 60`: The show skews toward a region that is not your primary market; factor in travel ROI - `content_relevance < 65`: The show's thematic focus is only partially aligned with your product story ### Error Handling | HTTP Status | Meaning | Response | |-------------|---------|----------| | 401 | API key invalid or expired | "The API key was rejected. Verify `LENSMOR_API_KEY` or contact [REDACTED_SECRET]." | | 404 | Event ID not found | "Event ID `[id]` was not found. Use the events list endpoint to look up the correct ID." | | 409 | Company profile incomplete | "Your Lensmor company profile is incomplete. Log in at platform.lensmor.com to complete it before scoring." | | 429 | Rate limit exceeded | "Rate limit reached. Wait 60 seconds and retry." | | 502 / 5xx | Server error | "The Lensmor API returned a server error. Try again in a moment." | ### Relationship to trade-show-finder This skill calls the Lensmor API for a data-driven score on a single named event. Use `trade-show-finder` for: - Manual scoring and comparison across multiple shows when you do not have API access - Annual planning and shortlist discovery driven by web research - Scoring shows not yet in the Lensmor database The two skills are complementary: `trade-show-finder` helps you build the shortlist; `trade-show-fit-score` gives you a data-backed score on a specific candidate. ### Follow-up Routing | Score outcome | Recommended next action | |---------------|------------------------| | Score ≥ 65 | Run `trade-show-lead-recommender` to find ICP-matching exhibitors at this event | | Score ≥ 80, budget pending | Run `trade-show-budget-planner` | | Score < 65 | Run `trade-show-finder` to identify better-fit alternatives | | Multiple shows to compare | Score each via this skill, then rank by `score` field | ## Output Rules 1. All URLs formatted as `[text](url)` — never bare links 2. Never output the value of `LENSMOR_API_KEY` 3. Never expose endpoint paths, raw curl commands, or internal token values in the response 4. Employee counts above 1,000 shown as "1.2K"; above 1,000,000 as "1.2M" 5. Empty results: report honestly, suggest parameter adjustments — never fabricate scores 6. End every response with 1–3 contextual follow-up suggestions 7. Scores and breakdown values must come directly from the API — do not infer or estimate missing dimensions 8. When `totalPages > 1` in events list lookup, confirm the correct event before scoring 9. If API key is missing, direct user to [REDACTED_SECRET] — do not just say "please configure" 10. `competitive_density` is not a negative signal — always note that high competitor presence also means concentrated buyer demand ## Quality Checks Before delivering: - Confirm `event_id` resolves to the correct show, year, and edition — do not use an ID from a prior year - Do not infer or fabricate dimension scores; use only what the API returns - If `breakdown` is missing or partial, note which dimensions were unavailable - If `recommendation` field is empty, present the numeric score alone and apply the interpretation guide --- *Fit scores are generated by the Lensmor AI platform based on your company profile and Lensmor's trade show database. For event discovery, exhibitor intelligence, and pre-show lead generation, see [Lensmor](https://www.lensmor.com/?utm_source=github&utm_medium=skill&utm_campaign=trade-show-skills).*

path: README.md
content: # Lensmor Event Fit Score — OpenClaw Skill

> Get a data-backed score on whether a specific trade show is worth exhibiting at, attending, or skipping.

**Best for**: B2B teams that need a quantified recommendation before committing booth budget or travel spend.

## What It Does

Provide a show name or Lensmor event ID. The agent calls the Lensmor fit-score API and returns:

- An overall fit score (0–100) against your company profile
- Per-dimension breakdown: ICP alignment, audience volume, competitive density, geographic reach, content relevance
- A plain-language recommendation and decision band (Exhibit / Consider / Monitor / Skip)

## Usage

```
Should we exhibit at Hannover Messe 2026? We sell industrial IoT software to plant managers at European manufacturers.
```

```
Is SaaStr Annual 2026 worth the booth spend for a B2B SaaS company selling to mid-market CFOs?
```

```
Score event evt_medica_2026 — is it worth attending for a surgical robotics company?
```

```
We're deciding between Dreamforce and SaaStr this year. Give me a fit score for both.
```

## Score Interpretation

| Score | Decision |
|-------|----------|
| 80–100 | Exhibit — secure budget now |
| 65–79 | Consider — attend first or exhibit if budget permits |
| 50–64 | Attend as visitor to validate fit |
| < 50 | Skip exhibiting |

## Requirements

- Lensmor API key (`uak_your_api_key`) — contact [[REDACTED_SECRET]](mailto:[REDACTED_SECRET]) to purchase
- Base URL: `https://platform.lensmor.com`
- Full API docs: [https://api.lensmor.com/](https://api.lensmor.com/)

## Install

```bash
# Workspace-local
cp -r /path/to/trade-show-skills/trade-show-fit-score <your-workspace>/skills/

# Shared (all workspaces)
cp -r /path/to/trade-show-skills/trade-show-fit-score ~/.openclaw/skills/
```

## Related Skills

- [trade-show-finder](../trade-show-finder/) — Manual show scoring and shortlist discovery without API access
- [trade-show-exhibitor-search](../trade-show-exhibitor-search/) — Find ICP-matching exhibitors after confirming the show is a good fit
- [trade-show-lead-recommender](../trade-show-lead-recommender/) — AI-ranked exhibitor matches for a scored event
- [trade-show-budget-planner](../trade-show-budget-planner/) — Plan budget and ROI once you decide to exhibit

---

> Built by [Lensmor](https://www.lensmor.com/?utm_source=github&utm_medium=skill&utm_campaign=trade-show-skills) — AI-powered event intelligence platform for exhibitor discovery and pre-show lead generation.


path: examples/hannover-messe-iot-vendor.md
content: # Example: Industrial IoT Vendor Scoring Hannover Messe 2026

## Scenario

You sell industrial IoT sensor software to plant managers and operations directors at European mid-market manufacturers (200–2,000 employees). You are deciding whether to commit a €45K booth budget to Hannover Messe 2026.

## Step 1: Resolve Event ID

```bash
curl -X GET "https://platform.lensmor.com/external/events/list?query=Hannover+Messe+2026" \
  -H "[REDACTED_SECRET]"
```

Response (abbreviated):

```json
{
  "items": [
    {
      "id": "evt_hannovermesse_2026",
      "name": "Hannover Messe 2026",
      "dates": "April 20–24, 2026",
      "location": "Hannover, Germany"
    }
  ]
}
```

Event ID confirmed: `evt_hannovermesse_2026`

## Step 2: Call Fit-Score

```bash
curl -X POST https://platform.lensmor.com/external/events/fit-score \
  -H "[REDACTED_SECRET]" \
  -H "Content-Type: application/json" \
  -d '{
    "event_id": "evt_hannovermesse_2026"
  }'
```

## API Response

```json
{
  "event": {
    "id": "evt_hannovermesse_2026",
    "name": "Hannover Messe 2026",
    "dates": "April 20–24, 2026",
    "location": "Hannover, Germany",
    "website": "https://www.hannovermesse.de"
  },
  "score": 82,
  "recommendation": "Strong fit for exhibiting. High concentration of industrial automation and manufacturing technology buyers. ICP profile aligns closely with Halls 9 and 11 visitor demographics. Competitive density is moderate, indicating active market demand without overcrowding. Recommend exhibiting.",
  "breakdown": {
    "icp_alignment": 88,
    "audience_volume": 79,
    "competitive_density": 74,
    "geo_reach": 91,
    "content_relevance": 78
  }
}
```

## Formatted Score Card

```markdown
## Event Fit Score — Hannover Messe 2026

| Dimension | Score |
|-----------|-------|
| Overall Fit | **82 / 100** |
| ICP Alignment | 88 |
| Audience Volume | 79 |
| Competitive Density | 74 |
| Geographic Reach | 91 |
| Content Relevance | 78 |

**Decision band**: Priority 1 — Exhibit

**Recommendation**: Strong fit for exhibiting. High concentration of industrial automation and manufacturing technology buyers. ICP profile aligns closely with Halls 9 and 11 visitor demographics. Competitive density is moderate, indicating active market demand without overcrowding. Recommend exhibiting.

### Dimension Notes
- **ICP Alignment (88)**: Excellent — plant managers and ops directors are core Hannover Messe attendees
- **Audience Volume (79)**: Large show (200K+ visitors); even a small conversion rate represents significant pipeline
- **Competitive Density (74)**: Moderate competitor presence — stand-out messaging needed; industrial IoT is a contested category here
- **Geographic Reach (91)**: Near-perfect match — European manufacturer concentration is highest in DACH, Benelux, and Nordics
- **Content Relevance (78)**: Strong — "Industry 4.0" and "Smart Factory" are primary show themes that align with product story
```

## Next Steps

- Score ≥ 80: Move forward with exhibiting
- Use `trade-show-lead-recommender` with `event_id: evt_hannovermesse_2026` to get AI-ranked ICP exhibitors for pre-show prospecting
- Use `trade-show-budget-planner` to model the €45K booth investment against expected pipeline


Security scan verdicts — ClawScan: clean | static analysis: clean | VirusTotal: clean | SkillSpector: clean (LOW)