โ† All skills
Tencent SkillHub ยท Content Creation

travel-destination-brochure

Build travel destination scenarios and brochures from a city name. Fetches street-level and landmark imagery from OpenStreetCam and Wikimedia Commons, then uses VLM Run (vlmrun) to generate a travel video and a travel plan. Use when the user wants a travel brochure, destination guide, travel video, or travel planning for a city.

skill openclawclawhub Free
0 Downloads
0 Stars
0 Installs
0 Score
High Signal

Build travel destination scenarios and brochures from a city name. Fetches street-level and landmark imagery from OpenStreetCam and Wikimedia Commons, then uses VLM Run (vlmrun) to generate a travel video and a travel plan. Use when the user wants a travel brochure, destination guide, travel video, or travel planning for a city.

โฌ‡ 0 downloads โ˜… 0 stars Unverified but indexed

Install for OpenClaw

Quick setup
  1. Download the package from Yavira.
  2. Extract the archive and review SKILL.md first.
  3. Import or place the package into your OpenClaw setup.

Requirements

Target platform
OpenClaw
Install method
Manual import
Extraction
Extract archive
Prerequisites
OpenClaw
Primary doc
SKILL.md

Package facts

Download mode
Yavira redirect
Package format
ZIP package
Source platform
Tencent SkillHub
What's included
.env_template.txt, README.md, SKILL.md, scripts/fetch_commons.py, scripts/fetch_openstreetcam.py, scripts/geocode_city.py

Validation

  • Use the Yavira download entry.
  • Review SKILL.md after the package is downloaded.
  • Confirm the extracted package contains the expected setup assets.

Install with your agent

Agent handoff

Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.

  1. Download the package from Yavira.
  2. Extract it into a folder your agent can access.
  3. Paste one of the prompts below and point your agent at the extracted folder.
New install

I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Then review README.md for any prerequisites, environment setup, or post-install checks. Tell me what you changed and call out any manual steps you could not complete.

Upgrade existing

I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Then review README.md for any prerequisites, environment setup, or post-install checks. Summarize what changed and any follow-up checks I should run.

Trust & source

Release facts

Source
Tencent SkillHub
Verification
Indexed source record
Version
1.0.0

Documentation

ClawHub primary doc Primary doc: SKILL.md 24 sections Open source page

Travel Destination Brochure & Video

Create travel brochures, videos, and 1-day plans for a destination city by combining OpenStreetCam street-level photos, Wikimedia Commons imagery, and VLM Run for video and copy.

Prerequisites

Before starting, ensure you have: Python 3.10 or higher installed Internet connection (for downloading images and API access) VLMRUN_API_KEY (optional, but required for video and travel plan generation) No API keys required for: OpenStreetCam (public read access) Wikimedia Commons (public access) Nominatim geocoding (public access)

Step 1: Verify Python Installation

Check if Python 3.10+ is installed: Windows (PowerShell): python --version # Should show Python 3.10.x or higher macOS/Linux: python3 --version # Should show Python 3.10.x or higher If Python is not installed or is an older version: Windows: Download from python.org macOS: brew install python@3.11 (or use python.org installer) Linux: sudo apt install python3.11 (Ubuntu/Debian) or use your distribution's package manager

Step 2: Install uv (Package Manager)

Windows (PowerShell): # Using pip pip install uv # Or using PowerShell installer powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" macOS/Linux: # Using pip pip install uv # Or using curl installer curl -LsSf https://astral.sh/uv/install.sh | sh Verify installation: uv --version

Step 3: Create Virtual Environment

Navigate to the skill directory and create a virtual environment: Windows (PowerShell): cd c:\Users\mehed\.claude\skills\travel-destination-brochure uv venv .venv\Scripts\Activate.ps1 macOS/Linux: cd ~/.claude/skills/travel-destination-brochure uv venv source .venv/bin/activate Note: You should see (.venv) in your terminal prompt when activated.

Step 4: Install Dependencies

Install the required packages: # Install vlmrun CLI (required for video and travel plan generation) uv pip install "vlmrun[cli]" # Install requests (required for API calls) uv pip install requests Verify installation: vlmrun --version python -c "import requests; print(requests.__version__)"

Step 5: Set Up VLMRUN_API_KEY (Optional but Recommended)

To generate travel videos and plans, you need a VLMRUN API key: Windows (PowerShell): # Set for current session Check .env file for api key $env:VLMRUN_API_KEY="your-api-key-here" # Set permanently (User-level) [System.Environment]::SetEnvironmentVariable('VLMRUN_API_KEY', 'your-api-key-here', 'User') macOS/Linux: # Set for current session export VLMRUN_API_KEY="your-api-key-here" # Set permanently (add to ~/.bashrc or ~/.zshrc) echo 'export VLMRUN_API_KEY="your-api-key-here"' >> ~/.bashrc source ~/.bashrc Verify environment variable: Read .env file to find api keys # Windows PowerShell echo $env:VLMRUN_API_KEY # macOS/Linux echo $VLMRUN_API_KEY

Step 6: Verify Installation

Test that everything works: # Test geocoding (should work without API key) uv run scripts/geocode_city.py "Paris, France" # Test vlmrun (if API key is set) vlmrun --help Installation Complete! You're ready to generate travel brochures.

Quick Start (Recommended)

Use the simplified all-in-one script that handles everything automatically: Windows (PowerShell): uv run scripts/simple_travel_brochure.py --city "Doha, Qatar" macOS/Linux: uv run scripts/simple_travel_brochure.py --city "Doha, Qatar" Alternative (if uv is not available): python scripts/simple_travel_brochure.py --city "Doha, Qatar" This script will: Geocode the city name to coordinates Fetch 3 street-level photos from OpenStreetCam Fetch 2 landmark images from Wikimedia Commons (total 5 images) Generate a 30-second travel video using vlmrun (if VLMRUN_API_KEY is set) Generate a one-day travel plan using vlmrun (if VLMRUN_API_KEY is set) Clean up temporary files automatically Options: --output DIR โ€” Output directory (default: ./travel_brochure) --osc-count N โ€” Number of OpenStreetCam photos (default: 3) --commons-count N โ€” Number of Commons images (default: 2) Note: Set the VLMRUN_API_KEY environment variable to enable video and travel plan generation. The script will skip video generation gracefully if the API key is not set. Example: uv run scripts/simple_travel_brochure.py --city "Paris, France" --output ./paris_trip Output: images/ โ€” Downloaded photos (5 images total) manifest.json โ€” Metadata about the city, coordinates, and image paths video/ โ€” Generated travel video (if VLMRUN_API_KEY is set) travel_plan.md โ€” One-day travel itinerary (if VLMRUN_API_KEY is set)

Advanced: Step-by-Step Workflow

For more control over each step, use the individual scripts below.

Workflow Overview

Collect input โ€“ Get destination city from the user. Geocode โ€“ Resolve city name to coordinates (lat, lng). Fetch imagery & info โ€“ OpenStreetCam (nearby photos) + Wikimedia Commons (search images and metadata). Generate assets โ€“ Use vlmrun to create a short travel video and a travel plan from the collected images and info. All paths below are relative to the directory containing this SKILL.md. Run scripts using: uv run scripts/script_name.py (recommended - handles dependencies automatically via PEP 723) python scripts/script_name.py (if dependencies are already installed)

Step 1: Get Destination City

Ask the user: "Which city do you want the travel brochure and video for?" Use the exact city name (and country/region if ambiguous) for geocoding and Commons search.

Step 2: Geocode City

Resolve city name to latitude/longitude (e.g. for OpenStreetCam and optional Commons geo-search). uv run scripts/geocode_city.py "Paris, France" # Or: python scripts/geocode_city.py "Tokyo" Output: JSON with lat, lng, display_name. Use these in Steps 3โ€“4.

Step 3: Fetch OpenStreetCam Photos

OpenStreetCam provides street-level imagery. Base URL: https://api.openstreetcam.org/. Nearby sequences: POST /nearby-tracks โ€” body: lat, lng, distance (km). Nearby photos: POST /1.0/list/nearby-photos/ โ€” body: lat, lng, radius (meters), optional page, ipp. No access_token required for these read endpoints. Use scripts/fetch_openstreetcam.py to request photos and optionally download thumbnails/full images into a folder. uv run scripts/fetch_openstreetcam.py --lat 48.8566 --lng 2.3522 --radius 2000 --output ./assets/osc --max-photos 20 Produces: image files under --output and a small manifest (e.g. osc_manifest.json) with captions/locations if available.

Step 4: Fetch Wikimedia Commons Images & Info

Commons provides landmark and cultural images. API: https://commons.wikimedia.org/w/api.php. Search: action=query, list=search, srsearch=<city or landmark>, srnamespace=6 (File namespace). Image URLs and metadata: action=query, prop=imageinfo, iiprop=url|extmetadata, titles=File:.... Use scripts/fetch_commons.py to search by destination name, resolve file URLs, and optionally download to a folder. uv run scripts/fetch_commons.py --query "Paris landmarks" --output ./assets/commons --max-images 15 Produces: image files and a manifest (e.g. commons_manifest.json) with captions/descriptions from Commons.

Step 5: Aggregate Manifest for vlmrun

Combine OSC and Commons manifests (and optionally add short text lines per image) into a single manifest or list that you can pass to vlmrun (e.g. paths + one short caption per image). The pipeline script can do this. uv run scripts/run_travel_pipeline.py --city "Paris, France" --output-dir ./travel_output This script should: geocode โ†’ fetch OSC โ†’ fetch Commons โ†’ write images/ and manifest.json (or manifest.txt) under --output-dir.

Step 6: Generate Video and Travel Plan with vlmrun

Use the vlmrun-cli-skill workflow: ensure vlmrun is installed and VLMRUN_API_KEY is set. Travel video โ€“ Pass the collected images and a single prompt so the model produces a short travel video (e.g. 30 seconds). Prefer -o to save the artifact. Note: If VLMRUN_API_KEY is set as an environment variable, you can omit --api-key: # Using environment variable (recommended) vlmrun chat "Create a 30-second travel video showcasing these images of [CITY]. Add subtle captions with the location names. Keep a calm, inspiring travel-documentary style." -i ./travel_output/images/photo1.jpg -i ./travel_output/images/photo2.jpg -i ./travel_output/images/photo3.jpg ... -o ./travel_output/video # Or using --api-key from .env, flag directly vlmrun --api-key "your-api-key-here" chat "Create a 30-second travel video showcasing these images of [CITY]. Add subtle captions with the location names. Keep a calm, inspiring travel-documentary style." -i ./travel_output/images/photo1.jpg -i ./travel_output/images/photo2.jpg -i ./travel_output/images/photo3.jpg ... -o ./travel_output/video If the number of files is large, reference the manifest and pass a subset (e.g. up to 10โ€“15 representative images) or use a prompt that says โ€œusing the attached images in order.โ€ Travel plan (1-day) โ€“ Use the same images plus a text prompt to get a narrative or bullet-point plan. # Using environment variable (recommended) vlmrun chat "Using these images and their locations, write a one-day travel plan for [CITY]: morning, midday, and evening activities with specific places and practical tips. Output as structured markdown (headings and bullet points)." -i ./travel_output/images/photo1.jpg -i ./travel_output/images/photo2.jpg ... -o ./travel_output # Or using --api-key flag directly vlmrun --api-key "your-api-key-here" chat "Using these images and their locations, write a one-day travel plan for [CITY]: morning, midday, and evening activities with specific places and practical tips. Output as structured markdown (headings and bullet points)." -i ./travel_output/images/photo1.jpg -i ./travel_output/images/photo2.jpg ... -o ./travel_output Save the modelโ€™s text response (and any artifact) under --output-dir (e.g. travel_plan.md).

Scripts Reference

ScriptPurposescripts/geocode_city.pyCity name โ†’ lat, lng (Nominatim)scripts/fetch_openstreetcam.pyFetch/download OpenStreetCam photos by lat/lng/radiusscripts/fetch_commons.pySearch and download Wikimedia Commons images by queryscripts/run_travel_pipeline.pyRun geocode + OSC + Commons and write manifest + images

API References

OpenStreetCam: API Reference โ€” nearby-tracks, list/nearby-photos, auth only for uploads. Wikimedia Commons: Commons API โ€” action=query, list=search, prop=imageinfo; MediaWiki API help. vlmrun: Use the vlmrun-cli-skill for setup, env vars, and all vlmrun chat options.

Checklist for a Complete Run

User provided destination city (and country if needed). Geocoded city and confirmed lat/lng. Fetched OpenStreetCam photos; saved images and manifest. Fetched Commons images for the destination; saved images and manifest. Built aggregated manifest/images under one output dir. Ran vlmrun with collected images to generate travel video; saved artifact with -o. Ran vlmrun with same (or subset) images to generate travel plan; saved text as markdown.

Installation Issues

Python not found: Windows: Ensure Python is added to PATH during installation, or use py instead of python macOS/Linux: Use python3 instead of python uv command not found: Restart your terminal after installation Windows: Check if uv is in your PATH: $env:PATH macOS/Linux: Ensure ~/.cargo/bin or ~/.local/bin is in your PATH Virtual environment activation fails: Windows PowerShell: If you get an execution policy error, run: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Windows CMD: Use .venv\Scripts\activate.bat instead of .ps1 macOS/Linux: Ensure you're using source .venv/bin/activate (not ./.venv/bin/activate) vlmrun not found: Ensure virtual environment is activated Reinstall: uv pip install "vlmrun[cli]" Verify: which vlmrun (macOS/Linux) or where.exe vlmrun (Windows)

Runtime Issues

Geocode fails โ€“ Try adding country/region, or use โ€œCity, Countryโ€ format. OpenStreetCam returns few/no results: Increase radius parameter (default: 2000m, try 5000m or 10000m) Try city center coordinates instead of outskirts Some regions have sparse coverage; try nearby major cities Commons returns few results โ€“ Broaden query (e.g. โ€œCity tourismโ€, โ€œCity sightsโ€). vlmrun errors: Confirm VLMRUN_API_KEY is set correctly: echo $VLMRUN_API_KEY (macOS/Linux) or echo $env:VLMRUN_API_KEY (Windows) Check network connection Reduce number of input images if hitting API limits (try 5-10 images instead of 20+) Verify API key is valid and has sufficient credits/quota Script execution errors: Ensure you're in the correct directory (skill root directory) Check that virtual environment is activated Verify all dependencies are installed: uv pip list

Example End-to-End

# 1) Ask user for city, then run pipeline (e.g. "Paris, France") uv run scripts/run_travel_pipeline.py --city "Paris, France" --output-dir ./travel_output # 2) Generate travel video (use image paths from travel_output/images/ or image_paths.txt) vlmrun chat "Create a 30-second travel video from these images of Paris. Add short location captions. Calm documentary style." -i ./travel_output/images/img_0000.jpg -i ./travel_output/images/img_0001.jpg -o ./travel_output/video # 3) Generate 1-day travel plan (same images) vlmrun chat "Using these photos of Paris, write a one-day travel plan (morning, midday, evening) with specific places and tips in markdown." -i ./travel_output/images/img_0000.jpg -i ./travel_output/images/img_0001.jpg -o ./travel_output

Quick Reference: Key URLs

OpenStreetCam API base: https://api.openstreetcam.org/ Commons API: https://commons.wikimedia.org/w/api.php Nominatim geocoding: https://nominatim.openstreetmap.org/search?q=<query>&format=json

Category context

Writing, remixing, publishing, visual generation, and marketing content production.

Source: Tencent SkillHub

Largest current source with strong distribution and engagement signals.

Package contents

Included in package
3 Scripts2 Docs1 Files
  • SKILL.md Primary doc
  • README.md Docs
  • scripts/fetch_commons.py Scripts
  • scripts/fetch_openstreetcam.py Scripts
  • scripts/geocode_city.py Scripts
  • .env_template.txt Files