← Back to Skills Marketplace
bitzhuyong

China Tour

by bitzhuyong · GitHub ↗ · v1.1.3 · MIT-0
cross-platform ✓ Security Clean
330
Downloads
1
Stars
1
Active Installs
8
Versions
Install in OpenClaw
/install china-tour
Description
AI-powered tour guide with backend API and offline fallback. Personalized routes, photo spots, cultural narration for China's scenic spots. Bilingual support...
README (SKILL.md)

ChinaTour - Smart Tour Guide for China's Scenic Spots

Purpose: Single-attraction deep tour guide (AI tour guide + photography consultant + cultural narrator)

Language Support: Chinese (zh) / English (en) - Auto-detect and switch


Trigger Conditions

Chinese Triggers (examples):

  • "我在故宫, 怎么逛?" (I'm at Forbidden City, how to visit?)
  • "想看兵马俑, 怎么安排?" (How to visit Terracotta Army?)
  • "接下来去哪儿?" (What's next?)

English Triggers:

  • "I'm at Forbidden City, how to visit?"
  • "How to visit Terracotta Army?"
  • "What's next?" / "Best photo spots?"

Not Triggered: Multi-day itinerary planning, cross-city travel consulting, hotel booking


Language Detection

  • User input Chinese -> Chinese reply
  • User input English -> English reply
  • Manual switch: "用中文" (Use Chinese) / "Switch to English"

Core Workflow

  1. Identify attraction + collect user profile
  2. Load attraction data from references/
  3. Recommend personalized route
  4. Step-by-step tour guide (narration + photo spots)
  5. Collect feedback -> dynamic adjustment
  6. Tour complete -> summary

User Profile Collection

Important: Only options have numbers, questions do not!

To recommend the best route for you, let me know:

Who are you with?
1. Solo traveler
2. Couple
3. Family (with elderly/kids)
4. Friends

What's your priority?
1. Photography
2. History & Culture
3. Casual Exploration
4. Quick Highlights Tour

Time budget?
1. Within 2 hours
2. Half day (3-4 hours)
3. Full day

> Just reply with numbers (e.g., "1, 2, 3")

Profile Types:

  • solo-photographer: Best lighting + less crowded spots
  • couple-romantic: Romantic scenes + photo spots
  • family-kids: Interactive experiences + rest points
  • history-buff: Deep narration + historical details
  • quick-visit: Highlights + shortest path

Reply Format Guidelines

Core Principle: Always use numbered options when providing 2+ choices!

Do you prefer a slow or quick tour?
1. Slow tour - Deep experience, 4-5 hours
2. Quick tour - Core highlights, 2 hours

> Just reply with a number (e.g., "1")

Number Format: Use Arabic numerals (1, 2, 3)


Tour Guide Flow

Route Recommendation

[Attraction Name] Personalized Route

[Route Overview]
Start -> Spot A -> Spot B -> Spot C -> End
Total Duration: X hours

[Stop 1] Spot A
- Suggested Time: 30 minutes
- Highlight: [Photo spot]
- Key Point: [Cultural highlight]

Ready to start?
1. Start tour
2. Adjust route
3. View photo spots

> Just reply with a number

Step-by-Step Guide

Each Stop Includes:

  1. Cultural narration (L1/L2/L3 depth levels)
  2. Photo spot recommendations
  3. Next stop preview

Feedback Collection:

[Narration Complete] How's your experience?
1. Satisfied -> Continue to next stop
2. Want more depth -> Add more details
3. Too verbose -> Simplify
4. Want photos -> More photo spots
5. Tired -> Add rest points

> Just reply with a number

Tour Complete

Tour Complete!

[Today's Summary]
- Route: [Review]
- Stops: X
- Total Duration: Y hours

[Souvenir Suggestions]
- Recommended: [Souvenirs]
- Nearby Dining: [Restaurant recommendations]

Thank you for using ChinaTour!

Data Loading

Load data from references/:

  • attractions/[province]/[attraction].md - Basic attraction info
  • photo-spots/[province]/[attraction]-spots.md - Photo spots
  • culture-stories/[province]/[attraction]-stories.md - Chinese narration
  • culture-stories/[province]/[attraction]-stories-en.md - English narration

Supported Attractions: Major scenic spots across China, with continuous expansion


API Integration

Backend API

ChinaTour connects to a backend API for enhanced AI-powered responses:

API Endpoints:

  • POST /api/v1/guide/ask - AI question answering
  • GET /api/v1/guide/health - Health check
  • GET /api/v1/guide/attractions - List attractions
  • GET /api/v1/guide/scenic/:id - Scenic spot details

Usage:

from scripts.api_client import ChinaTourClient

client = ChinaTourClient(api_url="http://localhost:3000")
result = client.ask("故宫开放时间?")
print(result.answer)

Fallback Mechanism

When API is unavailable, the skill falls back to local data:

from scripts.fallback_handler import FallbackHandler

handler = FallbackHandler()
result = handler.ask("故宫开放时间?")
# Source will be 'api', 'local', or 'error'

Fallback Flow:

  1. Try backend API first
  2. If API fails, use local data from references/
  3. Provide meaningful error messages if both fail

Notes

  • Data may be outdated; verify latest info before travel
  • Photo spot lighting suggestions depend on time and season
  • Respect cultural heritage regulations; do not recommend no-photo areas
  • API provides enhanced responses with RAG-powered knowledge
  • Fallback to local data when offline or API unavailable

Best Practices

  1. Progressive Output: Step-by-step interaction, not all at once
  2. Active Confirmation: Ask satisfaction after each stop
  3. Flexibility: Support "I'm at XX, what's next?"
  4. Numbered Options: All options must have numbers
Usage Guidance
This package appears coherent and low-risk for its stated purpose, but take these practical steps before enabling it: 1) Inspect scripts/api_client.py and scripts/test_integration.py for any hard-coded remote endpoints or unexpected network calls; ensure api_url defaults to localhost and that it won't call an arbitrary remote server. 2) Review fallback_handler.py and other scripts to confirm they only load from the included references/ directory and do not read system files or environment variables. 3) If you plan to use the backend API, run that service locally (or point api_url to a trusted endpoint) and avoid supplying sensitive credentials unless the backend explicitly requires and documents them. 4) Because the skill package includes many content files and scripts, run it in a sandboxed environment first (or inspect byte-for-byte) before giving it broad access to your agent. 5) Note the README/GitHub link in docs — if you install or update from that external source, verify the repo and maintainer. If you want, I can scan the actual scripts (api_client.py, fallback_handler.py, etc.) for specific patterns and network calls — provide their contents and I’ll point out anything risky.
Capability Analysis
Type: OpenClaw Skill Name: china-tour Version: 1.1.3 The ChinaTour skill bundle is a legitimate and well-structured AI tour guide application. It provides personalized route planning and cultural narration for over 30 Chinese scenic spots using a combination of local reference data and a documented backend API (1.13.252.172). The Python scripts (api_client.py, recommend_route.py, etc.) perform standard data processing and HTTP requests consistent with the skill's stated purpose. No evidence of data exfiltration, malicious command execution, or harmful prompt injection was found.
Capability Assessment
Purpose & Capability
Name/description (China tour guide, bilingual, photo spots, narration) match the packaged assets (large references/ directory with attractions, photo-spots, culture-stories) and helper scripts for routing/profile/feedback. The optional backend API is plausibly an enhancement for RAG/AI responses.
Instruction Scope
SKILL.md limits runtime actions to loading local reference files and optionally calling a backend API. User profile questions are limited to non-sensitive choices. There are no instructions to read unrelated system files, secret env vars, or to exfiltrate data.
Install Mechanism
No install spec is declared (no external downloads), which reduces supply-chain risk. However the package contains multiple executable scripts (scripts/*.py). Those will run in-skill if the agent invokes them — review these files before running. README references a GitHub repo (external), but the skill metadata has no automatic installer that fetches external code.
Credentials
The skill does not declare any required environment variables, credentials, or sensitive config paths. The only external endpoint shown is an example api_url (http://localhost:3000). No keys/tokens/passwords are requested in SKILL.md.
Persistence & Privilege
The skill is not marked always:true and uses default model invocation behavior. It does not request persistent system-wide privileges or changes to other skills. Normal autonomous invocation is allowed (platform default).
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install china-tour
  3. After installation, invoke the skill by name or use /china-tour
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.1.3
Update description, tags, and add API integration support
v1.1.2
Fix Chinese character encoding
v1.1.1
test
v1.1.0
add opening hours and ticket price query with quick number reply
v1.0.3
update tags and description
v1.0.2
update tags
v1.0.1
fix warning of unicode-control-chars
v1.0.0
Initial release - China scenic spots AI tour guide
Metadata
Slug china-tour
Version 1.1.3
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 8
Frequently Asked Questions

What is China Tour?

AI-powered tour guide with backend API and offline fallback. Personalized routes, photo spots, cultural narration for China's scenic spots. Bilingual support... It is an AI Agent Skill for Claude Code / OpenClaw, with 330 downloads so far.

How do I install China Tour?

Run "/install china-tour" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is China Tour free?

Yes, China Tour is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does China Tour support?

China Tour is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created China Tour?

It is built and maintained by bitzhuyong (@bitzhuyong); the current version is v1.1.3.

💬 Comments