marco-polo.skill README

The project's README from github.com/megumi-ben/marco-polo.skill. As one markdown file: README.md.

🧭 Marco Polo

English | 简体中文

Your next trip, mapped out.

An AI travel planning skill that plans around your stay, real transport routes, and visiting times, with an interactive map, a food guide, and a city guide in one travel handbook.

Agent Skill Amap Xiaohongshu GitHub Stars

Why Marco Polo · Quick start · See an example · Workflow · Dependencies

Nanjing travel map: daily routes, a timeline, and place details

Nanjing itinerary showcase: daily colors, a visit timeline, and place details. Lines in this example show visit order; the planning workflow queries actual transport routes separately.

Nanjing travel handbook with tabs for routes, food, and the city guide Nanjing food guide with local dishes, restaurants, and category filters Nanjing city guide with illustrated attraction cards and theme filters
Travel handbook
Routes, food, and sights in one place.
Food guide
Find local dishes and places to eat.
City guide
Get a feel for the city and every stop.

Screenshots from the Nanjing example · Click to enlarge

Why Marco Polo

Choose where to stay and what to see, then work out each day—with routes, timing, and reservations connected.

What makes it useful What you get
📍 Routes grounded in real places Amap coordinates, entrances, and transport routes help group nearby stops around your accommodation, accounting for detours and transfers.
🕒 Days planned down to the details Opening hours, booking slots, meals, and evening views fit together, with room for breaks, queues, and departure. A separate reservation checklist helps you prepare ahead.
🗺️ A trip you can explore on a map A webpage with daily colors, date filters, place selection, and itinerary details—useful before departure and during the trip.

Explore a varied set of places before choosing. Keep sources and per-person costs at hand. When plans change, update the itinerary, budget, and map together.

Explore the details: routes, reservations, budgets, and revisions

📍 Routes grounded in real locations, planned around your stay

Amap provides POIs, coordinates, and entrances for attractions, accommodation, and relevant transport hubs. The workflow checks ambiguous names and sites within larger attractions, then groups visits by location. Your chosen accommodation shapes where each day begins, which places belong together, and how you get back.

Walking, public transport, or driving routes between consecutive stops supply road distances and estimated travel times. Detours, entrances, and transfers all inform the plan. The geography and the journey both matter.

🕒 Detailed days with time for sights, food, bookings, and breaks

Museums during visiting hours, food streets around mealtimes, and evening views after dark: each stop is scheduled alongside opening hours, visit duration, reservation slots, and travel time. Meals, rest, queues, luggage collection, and getting to your train or flight also need room in the day.

A separate attraction reservation checklist records booking channels, ticket release rules, target slots, current status, and alternatives if a booking falls through. Prepare ahead, then see the relevant reminders in each day's itinerary.

🗺️ A polished, interactive map you can explore

The final map.html webpage shows each day in a different color, with visit order and direction arrows. Filter by date, locate a place from the itinerary, and open details about visit duration, reservations, and transport. Browser checks include readability on mobile.

Accommodation, attractions, and transport hubs have distinct markers. Selected food streets and night markets stay on the route; restaurant recommendations live in a separate guide. See the whole trip before departure, then find your next stop while traveling.

The food guide combines web research and Xiaohongshu experiences to recommend local dishes and specific restaurants, grouped by area or type. The city guide introduces the city and selected attractions with highlights, visiting tips, and matching images. Both pages can be read independently of the map.

Useful details throughout the process:

Advantage What it means for your trip
🧭 You keep the choices Candidates cover different interests and neighborhoods, with reasons, priorities, and tradeoffs. Explore options before narrowing them down. Existing tickets, hotels, and must-see places are respected.
🔎 Sources and uncertainty stay visible Xiaohongshu contributes experience and opinions; official sources verify opening hours, tickets, and reservations. Sources and lookup dates are retained. Unverified facts and outstanding bookings stay clearly marked.
💰 Clear costs per person Shared hotel and taxi costs are split across travelers; individual costs such as admission are recorded separately. Confirmed, estimated, and unknown amounts stay distinct, with checks against counting bundled tickets twice.
🔄 Changes stay consistent Changing accommodation, places, or dates updates the affected itinerary, routes, reservation targets, costs, and map. Existing bookings retain their actual status, and changes that affect them are explained.

Your itinerary, reservation checklist, budget, map, and structured data are saved as local files. Keep the results and continue refining them.

Use it for a weekend away, a trip with friends, or a few days of sightseeing after you've already booked transport and accommodation. Transport you are arranging yourself can be skipped; an existing hotel becomes the starting point for planning.

Quick start

1. Install Marco Polo

Run in your project directory:

mkdir -p .agents/skills
git clone https://github.com/megumi-ben/marco-polo.skill.git .agents/skills/marco-polo

2. Connect travel research and maps

Install the Xiaohongshu skill bundle and both Amap skills, then configure your own Amap credentials and Xiaohongshu login. Add FlyAI when you need transport or specific hotel searches. Place these skills alongside marco-polo/; see Dependencies for download links and setup.

Your agent also needs web research access to check official travel information.

3. Describe the trip you have in mind

For example:

$marco-polo I'd like two relaxed days in Beijing, with historic architecture and parks.
I'll arrange travel to and from the city myself, but haven't chosen where to stay.
Help me plan.

Start with what you know. Marco Polo asks for the dates, group size, budget, and other information needed for the current stage. Later, you can continue with requests such as:

My hotel has changed to this address. Update the first and last journeys each day, along with their costs.

ZIP installation, other locations, updates, and output folders

Alternatively, download the ZIP, rename the extracted folder to marco-polo, and place it in .agents/skills/. The entry point should be .agents/skills/marco-polo/SKILL.md.

  • For personal use across projects, you can install to ~/.agents/skills/marco-polo/. See the official Codex skill locations. If the skill does not appear, start a new session or restart Codex.
  • When updating an existing installation, preserve any local configuration you have added.
  • Results are created progressively in travel_plan/<city-trip-id>/ under your working directory. Revisions reuse the same data, so you can continue where you left off.

From one message to a trip

An illustrative conversation. Opening hours, tickets, and routes are verified for the actual travel dates.

1. Describe the trip

I'd like two relaxed days in Beijing, with historic architecture and parks. I'll handle travel to and from the city, but haven't chosen where to stay.

Marco Polo asks for missing essentials such as dates and group size, compares 1–3 areas to stay, and offers a varied set of attractions with reasons, priorities, visit lengths, and initial booking information.

2. Choose your stay and places, then review the daily plan

Let's stay around Wangfujing. I'd like the Palace Museum, Jingshan, Beihai, and the Temple of Heaven. Leave the others out for now.

After checking opening hours and reservations, Amap locations, entrances, and transport help group nearby stops with time for meals, breaks, and departure. You review the proposed itinerary:

Day Simplified example
Day 1 Palace Museum in the morning → lunch and rest → Jingshan → Beihai
Day 2 Temple of Heaven in the morning → lunch → free time, with a departure buffer based on your train

3. Confirm the route and take your trip files with you

Get a daily itinerary, reservation checklist, per-person budget, and travel handbook. The map, food guide, and city guide have separate pages, with index.html as the entry point. Map loading, navigation, images, and mobile layout are checked. Outstanding bookings retain their actual status, and you can continue revising the trip.

Deliverables and what they are for
Output Purpose
Accommodation areas and attraction shortlist Compare areas and places, with recommendation reasons and final selections
Reservation checklist Know when, where, and which time slot to book before departure
Daily itinerary Daily visits, transport, food, breaks, and alternatives
Per-person budget (CSV) Confirmed, estimated, and unknown expenses, calculated per person
map.html Locations, visit order, directions, and place details
Food recommendations and food.html Local dishes and specific restaurants, grouped by area or type
city-impression.html City character, selected attraction highlights, and images
index.html One entry point for the map, food guide, and city guide
Trip data and progress Facts, decisions, and progress for future revisions

Files are created as needed. Transport comparisons are added only when requested. See the output specification for the full file conventions.

Workflow

Five stages turn preferences into a travel handbook. Research accommodation and attractions in parallel, then develop the route, food guide, and city guide independently. Only the map waits for route confirmation; content pages can be built as soon as their research is ready.

flowchart TD
    A["1. Requirements and optional intercity transport"] --> B["2. Areas to stay"]
    A --> C["3. Attraction candidates"]
    B --> D["You choose accommodation and attractions"]
    C --> D
    D --> E["4. Route: verify opening and booking rules<br/>Amap locations, transport, timing, and costs"]
    D --> F["4. Food: web and Xiaohongshu research<br/>Dishes, restaurants, and practical details"]
    D --> G["4. City guide: city character<br/>Selected attraction highlights and images"]
    E --> H["You confirm the route"]
    H --> I["5. map.html"]
    F --> J["5. food.html"]
    G --> K["5. city-impression.html"]
    I --> L["index.html<br/>Check and deliver the complete handbook"]
    J --> L
    K --> L

Existing transport and hotels are respected. Urgent reservation deadlines are surfaced early. Restaurant recommendations are independent of the daily route; selected food streets, night markets, and fixed reservations remain part of planning. Approving an itinerary does not place an order or make a reservation.

Dependencies

Install both Amap skills and the Xiaohongshu skill bundle for research and maps. Add FlyAI when you need transport, specific hotels, or travel products. Place dependencies alongside marco-polo/.

Skill Purpose Download
amap-lbs-skill POIs, coordinates, entrances, and transport routes Official Amap guide · Official ZIP
amap-jsapi-skill Interactive Amap webpages Official Amap guide · Official ZIP
xiaohongshu-skills Experience-based research on accommodation, attractions, and food XHS Bridge implementation; use Code → Download ZIP and preserve the repository structure
flyai (optional) Transport, specific hotels, and travel products Official setup · Source; use the skills/flyai/ directory
Amap setup and map preview

Amap: Extract both ZIPs into your skill directory. Create your own Web Service Key and Web JSAPI Key in the Amap console. Install the LBS runtime dependencies as documented (npm install for versions with a package.json) and configure AMAP_WEBSERVICE_KEY. JSAPI needs its own key and the corresponding security configuration. See the Web Service setup guide.

When generating a map, copy assets/amap-html-template/config.local.example.js into the trip output directory as config.local.js. Set your own jsapiKey and either securityJsCode or an already deployed serviceHost. Keep the Web Service Key out of browser configuration. For public hosting, follow Amap's security configuration guidance for proxying and domain restrictions.

To preview the handbook, run python3 -m http.server 8000 --bind 127.0.0.1 in the trip directory and open http://127.0.0.1:8000/index.html; map.html also opens directly. The base map requires internet access and valid configuration. The food and city guides can be read independently. Press Ctrl+C in the server terminal when finished.

Xiaohongshu installation and login

Xiaohongshu: Requires Python 3.11+, uv, and Chrome. Run uv sync in the dependency directory. Follow the upstream README to load its extension/ directory as an unpacked Chrome extension and enable XHS Bridge, then run uv run python scripts/cli.py check-login. Authentication and search subskills are already included. Sign in with your own account; this travel workflow does not need publishing, comments, or likes.

FlyAI setup (optional)

FlyAI (optional): After installing skills/flyai/, run npm i -g @fly-ai/flyai-cli, then check flyai --help for the available commands. Follow the upstream instructions for queries and optional API key setup, using your own credentials.

Check that the dependencies work

After installation, verify a POI and route query, plus a Xiaohongshu search and note-detail retrieval. A successful login alone does not verify the research capability. Missing capabilities are reported in the plan.

Package structure and map template
marco-polo/
├── SKILL.md                         Five-stage workflow
├── README.md                        English overview and setup
├── README.zh-CN.md                  Chinese overview and setup
├── agents/openai.yaml               Display name and invocation prompt
├── references/outputs.md            Output conventions
└── assets/
    ├── demo-map.png                 Nanjing map showcase
    └── amap-html-template/
        ├── map.html                Map template without itinerary data
        └── config.local.example.js Configuration placeholders

Help make travel planning better

Want to try it on your next trip? ⭐ Star Marco Polo to find it again when you're ready to plan.

Share your experience: what worked, where a route took a detour, or which booking detail was missing. Contributions to setup, route planning, and map presentation are welcome. Remove credentials, orders, and personal information before posting.

Start contributing with the planning rules and output specification.

marco-polo.skill (megumi-ben/marco-polo.skill)

Searching Database…

Что это?Marco Polo — это навык для ИИ-агента, который планирует поездку целиком: сравнивает варианты жилья и достопримечательности, строит маршрут по дням с опорой на реальные транспортные маршруты и часы работы, ведёт чек-лист бронирований и бюджет на человека, а затем упаковывает всё в интерактивную карту, гид по еде и гид по городу.
Это приложение, которое я устанавливаю, или навык, который я добавляю своему ИИ-агенту?Это «навык» — файл SKILL.md плюс ресурсы, которые вы кладёте внутрь ИИ-агента для программирования вроде Codex, а не отдельное приложение, которое вы запускаете.
Какие ещё навыки или ключи ему нужны, чтобы реально работать?Нужны amap-lbs-skill и amap-jsapi-skill с вашими собственными ключами Amap Web Service и JSAPI, а также набор xiaohongshu-skills (Python 3.11+, uv и залогиненное расширение Chrome); навык flyai необязателен и нужен для поиска транспорта и отелей.
А он правда бронирует за меня отели или билеты?Нет — он только планирует и отслеживает, что нужно забронировать. Утверждение маршрута не оформляет никаких заказов, так что бронировать всё равно придётся вам самим, пользуясь составленным им чек-листом.
Какие файлы у меня окажутся на руках после планирования поездки?Маршрут по дням, чек-лист бронирований, бюджет на человека в CSV и справочник путешественника из HTML-страниц (map.html, food.html, city-impression.html), где index.html — единственная точка входа.
Что будет, если я сменю отель или даты посреди поездки?Marco Polo переиспользует сохранённые данные поездки и обновит затронутые маршрут, пути, цели бронирования, затраты и карту, сохранив нетронутым реальный статус уже подтверждённых броней.
Откуда берутся рекомендации по еде и городу?Гид по еде сочетает посты-впечатления из Xiaohongshu с поиском по вебу для выбора блюд и ресторанов, а официальные источники используются для проверки часов работы, билетов и бронирований.
Могу ли я посмотреть сгенерированную карту без доступа в интернет?Нет — map.html требует доступа в интернет и действующего ключа Amap, чтобы отрисовать базовую карту, хотя отдельные страницы гидов по еде и городу можно читать офлайн.
Creator
megumi-ben
Size
1.2 MB
Stars
166
Updated
CommitOct 09
Age
3mo
Commits · 90 Days