Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Tennis Vacation Rater

v1.0.5

Evaluate tennis vacation destinations with structured scoring across transportation, accommodation, weather, and court facilities. Use when users ask about t...

0· 86·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for edam17/tennis-vacation-rater.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Tennis Vacation Rater" (edam17/tennis-vacation-rater) from ClawHub.
Skill page: https://clawhub.ai/edam17/tennis-vacation-rater
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install tennis-vacation-rater

ClawHub CLI

Package manager switcher

npx clawhub@latest install tennis-vacation-rater
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (tennis vacation rater) match the instructions and reference materials: scoring dimensions, data sources, and report templates all pertain to travel/tennis evaluation. The only external tool mentioned (flyai CLI) is optional and directly related to obtaining real-time flight prices.
Instruction Scope
SKILL.md is instruction-only and stays within the domain: extract user destination, optionally fetch links, collect flight/hotel/weather/court data, compute scores, and produce a report. Note: the link-handling protocol allows optional web access (WebFetch/BrowserOpen) to user-provided links with a 10s timeout — this is expected for the feature but means the agent may attempt to fetch content the user supplies. Also there is minor ambiguity in the price-monitoring text (it describes 'check prices daily at 9 AM' as a monitoring behavior but elsewhere states no automatic background monitoring/cron jobs are created).
Install Mechanism
No install spec or code files are included (instruction-only). The only install suggestion is an optional external npm CLI (@fly-ai/flyai-cli) for live flight prices; installing that CLI is a user action outside the skill and is proportionate to the described capability.
Credentials
The skill requests no environment variables, no credentials, and no config paths. No secret exfiltration indicators are present in the instructions or references.
Persistence & Privilege
always is false and the skill does not request persistent background privileges. The documentation explicitly states it does NOT create automatic cron jobs; however, the marketing/monitoring language could confuse users into expecting ongoing background monitoring—confirm intent with the integrator before relying on continuous alerts.
Assessment
This skill appears to do what it says: evaluate tennis travel destinations and generate structured reports. Before installing or using it: 1) Be aware the agent may attempt to fetch content from any links you provide (WebFetch/BrowserOpen) — don’t paste private credentials or sensitive content into links. 2) The skill may recommend installing a third‑party CLI (@fly-ai/flyai-cli) for real-time fares — vet that package and its publisher before installing. 3) The price-monitoring language contains mixed messages (it describes daily checks but also says no automatic monitoring); confirm with the skill author or test behavior if you expect ongoing alerts. 4) Source is unknown — if you need stronger assurance, ask for provenance or a signed homepage/repo before trusting it in sensitive workflows.

Like a lobster shell, security has layers — review code before you run it.

latestvk97748fvmwkjmyqb5r17jggh8s8439m4
86downloads
0stars
6versions
Updated 3w ago
v1.0.5
MIT-0

Tennis Travel Rater

Evaluate tennis vacation destinations with structured scoring and recommendations.

Data Sources

This skill uses web search to collect flight price information. No external tools or installations are required.

Quick Start

  1. Extract destination info from user input
  2. Confirm departure city (ask if not provided, default to Shanghai)
  3. Ask user preferences (optional, use default weights if skipped)
  4. Collect data for each dimension
  5. Calculate weighted scores
  6. Generate report using template

Scoring Dimensions

DimensionWeightKey Metrics
Transportation25%Flight price, frequency, ground transport
Accommodation25%Hotel price, rating, proximity to courts
Weather20%Temperature, precipitation, best season
Facilities30%Court quality, fees, coaching availability

Custom Weights: If user has preferences, adjust weights as follows:

  • If user selects 2 priorities: 35% / 35% / 15% / 15% for top 2 and bottom 2
  • If user selects 1 priority only: 35% / 21.7% / 21.7% / 21.6% (priority gets 35%, others equally split remaining 65%)
  • If user selects no preference: Use default 25% / 25% / 25% / 25%

Dimension Details

Transportation (交通可达性)

  • Flight price: Round-trip cost from origin
  • Frequency: Daily/weekly flights, flexibility
  • Ground transport: Airport to court/hotel convenience

Accommodation (住宿条件)

  • Hotel price: Mid-range average per night
  • Court-proximity: Walking distance or shuttle available
  • Rating: Booking/TripAdvisor scores

Weather (天气适宜度)

  • Temperature: 15-28C optimal for outdoor tennis
  • Precipitation: Rain probability impact
  • Sunlight: Playable hours per day
  • Best season: Recommended months

Facilities (球场质量)

  • Court types: Hard/clay/grass count and quality
  • Fees: Hourly rental rates
  • Amenities: Locker room, shower, racket rental
  • Coaching: Pro coach availability and rates

Destination Types

TypeCharacteristicsBest For
TrainingPro facilities, intensive atmosphereSerious players
ResortLeisure vibe, integrated vacationFamilies/friends
ScenicUnique views, Instagram-worthyShort trips
UrbanCity center, trendyBusiness travelers

Workflow

Step 1: Gather Information

Extract from user input:

  • Destination name (city/resort/court) - 从文字或链接中提取
  • Travel dates/season
  • Departure city
  • Any links provided (Xiaohongshu, Instagram, etc.)

信息收集原则:

  • 链接访问失败不阻塞流程
  • 从用户消息文字中提取目的地(如"富士山" 确定为"静冈"或"山梨")
  • 缺失信息先使用默认值,同时询问用户确认

Link Access Protocol

When user provides a link (e.g., Xiaohongshu, Instagram):

  1. Extract destination from user message text first

    • Parse destination from message content (e.g., "富士山人生球场" Japan Shizuoka/Yamanashi)
    • This is the primary source - never rely solely on link access
  2. Optionally attempt to access the link (non-blocking, 10s timeout)

    • Use WebFetch or browser automation
    • If successful supplement with additional details
    • If failed continue with text-extracted information
  3. Confirm with user if information is unclear

    • Ask: "Detected you want to visit [destination]. Is this correct?"
    • Get confirmation before proceeding
  4. Never block on link failure

    • Link access is supplementary only
    • Always proceed with text-extracted information
    • Missing details can be filled via user questions

If departure city unknown: Ask user or default to Shanghai (note in report).

Step 2: User Preferences (Optional)

Ask: "What's most important to you? (Choose up to 2)"

  • Flight convenience
  • Hotel quality
  • Weather
  • Court facilities

If skipped, use default 25% weights.

Step 3: Data Collection

DimensionData SourceFallback
Flightsflyai CLI (if installed) for real-time pricesWebSearch for reference prices
HotelsBooking, TripAdvisorWebSearch
WeatherHistorical climate data-
CourtsBuilt-in database, web search-

注意:如果 flyai CLI 未安装,将使用 WebSearch 获取参考价格,并在报告中标注数据来源。

Flight Search

Priority: Use flyai CLI for real-time prices if available

Step 1: Check if flyai is installed

which flyai

Step 2: If installed, query real-time flight prices

flyai search-flight \
  --origin "出发城市" \
  --destination "目的地" \
  --dep-date-start YYYY-MM-DD \
  --dep-date-end YYYY-MM-DD \
  --back-date-start YYYY-MM-DD \
  --back-date-end YYYY-MM-DD \
  --sort-type 3

Step 3: Parse results

  • Round-trip total price (for scoring)
  • Top 3 cheapest options (for report)
  • jumpUrl (booking link)

Fallback: If flyai is not installed

Use WebSearch to get reference prices:

  • Search query: [出发城市]到[目的地]机票价格
  • Label as "网络参考价(非实时)"
  • Note in report: "Install flyai CLI for real-time prices: npm install -g @fly-ai/flyai-cli"

Data Source Labels:

LabelConditionScoring Impact
flyai实时flyai CLI executed successfullyFull score
网络参考WebSearch used (flyai not installed)-1 point (max 8/10)
待补充All methods failedMax 5/10

** Rules:**

  • Never invent flight prices
  • Always label data source clearly

Step 4: Scoring

Each dimension scored 0-10:

  • 9-10: Excellent
  • 7-8: Good
  • 5-6: Average
  • <5: Poor

Final Score = (dimension_score weight)

Step 5: Report Generation

Use report-template.md for full template.

For single destination: Use single-destination template For multiple destinations: Use comparison template

Report Structure

#  Tennis Travel Rating Report
## [Destination]

> **一句话总结**:[简洁概括目的地核心优势和注意事项]

### Overall Score: [X.X]/10
**Rating**: [Highly Recommended/Recommended/etc.]
**Type**: [Training/Resort/Scenic/Urban]

### Dimension Scores
| Dimension | Score | Weight | Key Metric | 数据来源 |
|-----------|-------|--------|------------|----------|
| Transportation | X.X/10 | XX% | 往返机票 X,XXX起 | flyai实时/网络参考/待补充 |
| Accommodation | X.X/10 | XX% | XXX/晚 | Booking/Agoda/携程 |
| Weather | X.X/10 | XX% | 最佳季节: X-X月 | 历史气候数据 |
| Facilities | X.X/10 | XX% | 场地费 XXX/小时 | 酒店官网/实地调查 |

**数据来源标注说明:**
- **flyai实时**:使用Bash工具执行flyai命令获取的实时价格
- **网络参考价**:通过WebSearch获取的参考价格(非实时)
- **待补充**:无法获取数据,需要用户自行查询

### 1 交通可达性 (X.X/10)

**航班信息**
- 往返机票 X,XXX起
- 航空公司、转机情况等

**地面交通**
- 机场酒店/球场:约X小时车程
- [ 查看谷歌地图路线](https://www.google.com/maps/dir/机场名称/酒店或球场名称)

### 2 住宿条件 (X.X/10)

**酒店概况**
- **酒店名称**: [酒店名]
- **位置**: [具体位置描述]
- [ 在谷歌地图上查看](https://www.google.com/maps/search/酒店名+城市)
- 价格、评分等信息

### 3 天气适宜度 (X.X/10)

**最佳季节**: X-X月
- 温度、降水等分析

### 4 球场质量 (X.X/10)

**球场设施**
- **球场名称**: [球场名]
- **位置**: [具体位置描述]
- [ 在谷歌地图上查看](https://www.google.com/maps/search/球场名+城市)
- 场地类型、费用、预订方式等

### Highlights
- [Top strength]
- [Key consideration]
- [Best for: target audience]

### Budget Estimate (X天X晚)
| Item | Cost (参考价) |
|------|---------------|
| 往返机票 | X,XXX |
| 住宿 (X晚) | X,XXX |
| 球场费用 | XXX |
| 餐饮及其他 | X,XXX |
| **总计** | **X,XXX** |

*Generated: [Date] | Sources: [List]*

Report Footer - Price Monitoring (REQUIRED)

ALWAYS include this section at the end of every report:

---

###  价格查询建议

由于您的出行时间较灵活 / 距离计划出行还有[X天],建议先查询当前机票价格:

**我可以为您提供**:
- 一次性查询 [出发地]  [目的地] 的当前航班价格
- 根据查询结果给出购票建议
- 推荐最佳购票时机

**需要我帮您查询当前价格吗?** 请告诉我您的预算上限(如:往返机票 X,XXX以内)。

触发条件(满足任一即需添加):

  1. 用户没有设置具体出行日期
  2. 计划出行时间距离今天 >15天

如果用户同意监控

  1. 询问:出发城市、目的地、偏好月份、预算上限
  2. 手动价格检查:在当前会话中使用 WebSearch 或 flyai CLI 查询当前价格
  3. 提供建议:根据查询结果给出购票建议,但不创建自动监控任务
  4. 确认已提供价格信息

如果用户拒绝:正常结束,无需进一步操作

注意:本 skill 不创建自动后台监控任务。如需持续监控,请手动定期查询。

Built-in Database

Quick reference for popular destinations:

Asia: Sanya Haitang Bay, Shanghai Qizhong, Tokyo Ariake, Bali Europe: Roland Garros, Wimbledon, Monte Carlo, Barcelona Americas: Indian Wells, Miami, Cancun Oceania: Melbourne Park, Gold Coast

For full database, see destinations.md.

Key Principles

  1. No data, no output - Mark missing data as "待补充"
  2. Label all prices as "参考价" (reference only)
  3. Highlight data sources for transparency
  4. Never invent flight prices, hotel ratings, or any destination details
  5. Link fails Ask user - When cannot access user-provided links, always ask for direct input instead of guessing

Anti-Hallucination Checklist

Before generating report, verify:

  • 航班价格:来自flyai实时查询(Bash工具),或已标记为"待补充/网络参考价"
  • 未使用WebSearch冒充flyai:没有用网络搜索价格冒充实时查询结果
  • All ratings are from real platforms or marked "待补充"
  • No information invented when link access failed
  • User provided destination name (not guessed from failed link)
  • Data sources clearly labeled in report

航班数据专项核查

必须确认:

  • 已检查 flyai CLI 是否可用
  • 如可用,已使用 Bash 工具执行 flyai 命令
  • 如不可用,已使用 WebSearch 获取参考价格
  • 交通维度评分基于实际获取的价格数据
  • 数据来源已清晰标注(flyai实时/网络参考/待补充)

Price Monitoring Guide (MANDATORY)

When to Include

MUST include price monitoring section in EVERY report when:

  • User has not set specific travel dates, OR
  • Travel date is >15 days away from today

Where to Include

ALWAYS add at the END of the report, after the budget estimate section:

---

###  价格查询建议

由于您的出行时间较灵活 / 距离计划出行还有[X天],建议先查询当前机票价格:

**我可以为您提供**:
- 一次性查询 [出发地]  [目的地] 的当前航班价格
- 根据查询结果给出购票建议
- 推荐最佳购票时机

**需要我帮您查询当前价格吗?** 请告诉我您的预算上限(如:往返机票 X,XXX以内)。

If User Agrees

  1. Ask for details:

    • Departure city (confirm)
    • Destination (confirm)
    • Preferred travel months
    • Budget limit for round-trip flights
  2. Perform immediate price check (no automatic monitoring):

    • Use WebSearch or flyai CLI to check current prices
    • Compare with user's budget
    • Provide booking recommendation based on current data
  3. Confirm to user:

     **价格查询完成**
    
    - 路线:[出发地]  [目的地]
    - 当前价格:[价格]
    - 您的预算:[预算]
    - 建议:[立即预订/继续观望]
    
    **注意**:此为一次性查询。如需持续关注,请定期手动查询或使用专业价格监控工具。
    

If User Declines

Continue normally, no further action needed.

Examples

Example 1 - Basic query (flyai installed): Input: "Evaluate Sanya for tennis trip from Shanghai in April" Workflow:

  1. Ask departure city Shanghai
  2. Ask preferences User selects "Weather" and "Facilities"
  3. Check if flyai is installed Yes
  4. Query real-time flights:
    flyai search-flight --origin "上海" --destination "三亚" --dep-date-start 2025-04-01 --dep-date-end 2025-04-07 --back-date-start 2025-04-05 --back-date-end 2025-04-12 --sort-type 3
    
  5. Parse price (1,580) Score transportation dimension
  6. Search hotels, weather, court info
  7. Generate report with weights: Weather 35%, Facilities 35%, Transportation 15%, Accommodation 15% Output: Full report with 8.2/10 score (transportation based on flyai real-time price)

Example 1b - flyai not installed: Input: "Evaluate Sanya for tennis trip from Shanghai in April" Workflow: 1-2. Same as above 3. Check if flyai is installed No 4. Use WebSearch fallback:

  • Search: "上海到三亚机票价格"
  • Get reference price: 1,200-2,000
  • Label as "网络参考价(非实时)"
  1. Score transportation dimension (max 8/10 due to reference data)
  2. Continue with other data collection
  3. Generate report with note: "Install flyai CLI for real-time prices" Output: Report with reference prices and installation suggestion

Example 2 - Comparison: Input: "Compare Sanya vs Bali for tennis vacation" Output: Side-by-side comparison with recommendation

Example 3 - Custom weights (single priority): Input: "I care most about flight convenience" Workflow:

  1. User selects only 1 priority: "Transportation"
  2. Weights: Transportation 35%, Accommodation 21.7%, Weather 21.7%, Facilities 21.6%
  3. Check flyai availability Query flights if installed, else use WebSearch
  4. Score transportation based on available data source Output: Report with Transportation 35%, others equally split

Example 4 - User provides Xiaohongshu link: Input: "我想去这里打球:96 【富士山人生球场!...】https://www.xiaohongshu.com/..." Workflow:

  1. Extract destination from text first:
    • Parse "富士山人生球场" Japan Shizuoka/Yamanashi region
    • Text extraction is primary - link access is optional
  2. Optionally attempt link access Failed (Xiaohongshu anti-scraping)
    • Continue with text-extracted information
  3. Confirm with user: "Detected you want to visit a court near Mt. Fuji (Shizuoka area). Default departure city: Shanghai. Is this correct?"
  4. After user confirms, check flyai availability:
    • If installed Query real-time flights
    • If not installed Use WebSearch for reference prices
  5. Generate report with clear data source labels Output: Complete report with transportation data (source clearly labeled)

Comments

Loading comments...