MCP HubMCP Hub
Вернуться к навыкам

generate-tour-report

pjt222
Обновлено 2 days ago
7 просмотров
17
2
17
Посмотреть на GitHub
Метаpdfwordaidesign

О программе

Этот навык создает комплексные отчеты о турах в виде самодостаточных HTML/PDF документов с использованием Quarto. Он формирует документы со встроенными картами, ежедневными маршрутами, таблицами логистики и деталями размещения/транспорта, пригодными для офлайн-использования в путешествиях. Разработчикам следует применять его при составлении запланированных туров, создании офлайн-путеводителей, документировании завершенных поездок или подготовке профессиональных туристических предложений.

Быстрая установка

Claude Code

Рекомендуется
Основной
npx skills add pjt222/agent-almanac -a claude-code
Команда плагинаАльтернативный
/plugin add https://github.com/pjt222/agent-almanac
Git клонированиеАльтернативный
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/generate-tour-report

Скопируйте и вставьте эту команду в Claude Code для установки этого навыка

Документация

生行程報告

生含嵌入地圖、每日行程、後勤表格與實用旅行資訊之格式化行程報告。

適用時機

  • 彙編已計畫行程為可分享文件
  • 建離線可用旅行指南
  • 以相片、地圖與統計記錄已完成之旅程
  • 為團體或客戶製專業行程提案
  • 合併路線、住宿與交通資料於一文件

輸入

  • 必要:路線資料(航點、段、距離、時間)
  • 必要:行程日期與長度
  • 選擇性:住宿詳情(名稱、地址、確認號)
  • 選擇性:交通預訂(航班、火車、租車)
  • 選擇性:GPX 軌跡或空間資料以嵌地圖
  • 選擇性:預算資訊(各類成本)
  • 選擇性:擬納入之相片或圖像

步驟

步驟一:彙編路線與景點資料

建報告前收所有行程資料於結構化格式。

彙編之資料來源:
┌────────────────────┬──────────────────────────────────────────┐
│ 類別               │ 必要欄位                                 │
├────────────────────┼──────────────────────────────────────────┤
│ 路線段             │ From、To、distance_km、time_hrs、mode    │
│ 航點               │ Name、lat、lon、arrival、departure、notes│
│ 住宿               │ Name、address、check-in/out、cost、conf#  │
│ 交通               │ Type、operator、depart、arrive、ref#      │
│ 活動               │ Name、time、duration、cost、booking_req   │
│ 緊急聯絡           │ 當地急救號、使館、保險                    │
│ 景點               │ Name、category、lat、lon、description     │
└────────────────────┴──────────────────────────────────────────┘

依日組織資料以支每日節結構:

  1. 依日期分組航點與活動
  2. 每交通段派一日
  3. 住宿配過夜日
  4. 算每日合計(距離、時間、成本)

預期: 依日組織之完整資料集,時程無缺口(每夜有住宿,每段有交通)。

失敗時: 若資料不全,以 [TBD] 佔位記漏缺項目並加於報告末之後續清單。若日期不合(如抵住宿早於自前站出發),標衝突並調時間。

步驟二:建每日節結構

建附每日節之 Quarto 文件骨架。

---
title: "Tour Name: Region/Country"
subtitle: "Date Range"
author: "Planner Name"
date: today
format:
  html:
    toc: true
    toc-depth: 3
    theme: cosmo
    self-contained: true
    code-fold: true
  pdf:
    documentclass: article
    geometry: margin=2cm
    toc: true
execute:
  echo: false
  warning: false
  message: false
---

依下結構建文件:

報告結構:
1. 概覽
   - 行程摘要(日期、總距離、亮點)
   - 概覽地圖(所有航點、全路線)
   - 速查表(關鍵日期、預訂、聯絡)

2. 第一日:[標題]
   - 當日摘要(起、止、公里、時數)
   - 當日路線圖
   - 時程/日程表
   - 住宿詳情
   - 景點與活動

3. 第二日:[標題]
   ...(每日重複)

N. 後勤附錄
   - 完整住宿表
   - 交通預訂表
   - 打包清單
   - 緊急聯絡
   - 預算摘要

預期: 完整 .qmd 檔骨架,附 YAML 首,所有每日節為 H2 標題,每節含佔位內容。

失敗時: 若行程單一文件過長(逾十四日),可考慮分週或用標籤頁佈局({.tabset})以利導覽。若需 PDF 輸出,確無互動小工具(改用靜態地圖)。

步驟三:嵌地圖與圖表

於每節加空間視覺化。

概覽地圖:

#| label: fig-overview-map
#| fig-cap: "Tour overview with all stops"

leaflet::leaflet() |>
  leaflet::addProviderTiles("OpenTopoMap") |>
  leaflet::addPolylines(data = full_route, color = "#2563eb", weight = 3) |>
  leaflet::addMarkers(data = stops, popup = ~paste(name, "<br>", date))

每日路線圖:

#| label: fig-day1-map
#| fig-cap: "Day 1 route: City A to City B"

day1_route <- full_route[full_route$day == 1, ]
leaflet::leaflet() |>
  leaflet::addProviderTiles("OpenStreetMap") |>
  leaflet::addPolylines(data = day1_route, color = "#2563eb", weight = 4) |>
  leaflet::addCircleMarkers(data = day1_stops, radius = 6, popup = ~name)

海拔剖面(健行/騎行日):

#| label: fig-day3-elevation
#| fig-cap: "Day 3 elevation profile"

ggplot2::ggplot(day3_elevation, ggplot2::aes(x = dist_km, y = elev_m)) +
  ggplot2::geom_area(fill = "#bfdbfe", alpha = 0.5) +
  ggplot2::geom_line(color = "#1d4ed8", linewidth = 0.7) +
  ggplot2::theme_minimal() +
  ggplot2::labs(x = "Distance (km)", y = "Elevation (m)")

預期: 每日節至少有路線圖。多模式日(駕車+健行)兼有道路圖與海拔剖面。概覽節含示全行程之地圖。

失敗時: 若 leaflet 地圖無法渲染(PDF 模式常見),退回靜態地圖:用 tmap::tmap_mode("plot")ggplot2ggspatial::annotation_map_tile()。若某日空間資料不可得,以路線之簡單文字描述代之。

步驟四:加後勤表

插入住宿、交通與預算之結構化表。

住宿表:

| Night | Date       | Accommodation      | Address            | Check-in | Cost   | Conf# |
|-------|------------|--------------------|--------------------|----------|--------|-------|
| 1     | 2025-07-01 | Hotel Alpine       | Bergstrasse 12     | 15:00    | EUR 95 | AB123 |
| 2     | 2025-07-02 | Mountain Hut       | Zugspitze Huette   | 16:00    | EUR 45 | --    |
| 3     | 2025-07-03 | Pension Edelweiss  | Dorfplatz 3        | 14:00    | EUR 72 | CD456 |

交通表:

| Date       | Type  | From          | To            | Depart | Arrive | Ref#   |
|------------|-------|---------------|---------------|--------|--------|--------|
| 2025-07-01 | Train | Munich Hbf    | Garmisch      | 08:15  | 09:32  | DB1234 |
| 2025-07-03 | Bus   | Zugspitze     | Ehrwald        | 10:00  | 10:25  | --     |
| 2025-07-04 | Train | Innsbruck     | Munich Hbf    | 16:45  | 18:30  | OBB567 |

預算摘要:

| Category        | Estimated | Actual | Notes                   |
|-----------------|-----------|--------|-------------------------|
| Accommodation   | EUR 212   |        | 3 nights                |
| Transport       | EUR 85    |        | Rail passes recommended |
| Food            | EUR 150   |        | EUR 50/day estimate     |
| Activities      | EUR 60    |        | Cable car, museum       |
| **Total**       | **EUR 507** |      |                         |

預期: 完整後勤表,所有預訂依時間列出。住宿表無漏日。預算合計正確計算。

失敗時: 若預訂詳情未定,用 [TBD] 並標示該列。若行程涉多幣別,加幣別欄並於註腳附匯率。

步驟五:渲染報告

編譯 Quarto 文件為最終輸出格式。

# 渲染為獨立 HTML(離線用佳)
quarto render tour-report.qmd --to html

# 渲染為 PDF(列印用)
quarto render tour-report.qmd --to pdf

# 編輯時即時預覽
quarto preview tour-report.qmd

渲染後檢查:

  1. 開 HTML 檔驗所有地圖正確載入
  2. 測目錄連結可用
  3. 驗所有圖像與圖表以合宜大小渲染
  4. 核獨立 HTML 離線可用(斷網重載)
  5. PDF:驗分頁點於合理位置(日間)

預期: 完整、獨立之文件,離線可用,所有行程資訊可導覽之格式。

失敗時: 若渲染失敗,核 R 主控台之套件錯(漏 sf、leaflet 或 ggplot2)。若獨立 HTML 過大(逾二十 MB),降低圖層解析度或用 PNG 截圖替互動地圖。若 PDF 渲染以 LaTeX 錯失敗,以 quarto install tinytex 裝 TinyTeX。

驗證

  • 報告於目標格式無錯渲染
  • 概覽地圖示完整路線與所有停點
  • 每日有路線圖與時程
  • 住宿表含行程每夜
  • 交通表含所有段
  • 預算合計正確
  • 獨立 HTML 離線可用
  • 目錄正確導覽至所有節
  • 無殘留 [TBD] 佔位(或已刻意標示)

常見陷阱

  • PDF 中之互動地圖:Leaflet 與他 HTML 小工具於 PDF 中無法渲染。永為 PDF 輸出提供靜態地圖替代。
  • 獨立 HTML 過大:嵌多圖層生極大檔。限縮放層級或用靜態地圖截圖於圖層密集之地圖。
  • 缺時區:國際行程跨時區。永為出發抵達時間明指時區以免混淆。
  • 陳舊預訂參考:確認號與時間可變。納入「最後更新」日期並提醒用戶旅行前驗證。
  • 無離線退路:若報告依賴網載圖層,離線空白。用 self-contained: true 或預渲染地圖為圖像。
  • 日期格式不一:DD/MM 與 MM/DD 混用致混淆。全文一致用 ISO 8601(YYYY-MM-DD)。

相關技能

  • plan-tour-route — 生此報告所彙編之路線資料
  • create-spatial-visualization — 建報告中嵌之地圖與圖表
  • create-quarto-report — 通用 Quarto 文件建立與配置
  • plan-hiking-tour — 為山地行程報告提供健行專屬資料
  • check-hiking-gear — 為後勤附錄產打包清單

GitHub репозиторий

pjt222/agent-almanac
Путь: i18n/wenyan-lite/skills/generate-tour-report
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

Похожие навыки

content-collections

Мета

Этот навык предоставляет проверенную в продакшене настройку для Content Collections — TypeScript-ориентированного инструмента, который преобразует файлы Markdown/MDX в типобезопасные коллекции данных с валидацией Zod. Используйте его при создании блогов, сайтов документации или контентных приложений на Vite + React для обеспечения типобезопасности и автоматической проверки содержимого. Он охватывает всё: от настройки плагина Vite и компиляции MDX до оптимизации развертывания и валидации схем.

Просмотреть навык

polymarket

Мета

Этот навык позволяет разработчикам создавать приложения на платформе прогнозных рынков Polymarket, включая интеграцию с API для торговли и получения рыночных данных. Он также обеспечивает потоковую передачу данных в реальном времени через WebSocket для отслеживания текущих сделок и рыночной активности. Используйте его для реализации торговых стратегий или создания инструментов, обрабатывающих обновления рынка в реальном времени.

Просмотреть навык

creating-opencode-plugins

Мета

Этот навык помогает разработчикам создавать плагины OpenCode, которые подключаются к более чем 25 типам событий, таким как команды, файлы и операции LSP. Он предоставляет структуру плагина, спецификации API событий и шаблоны реализации для модулей на JavaScript/TypeScript. Используйте его, когда вам нужно перехватывать, отслеживать или расширять жизненный цикл ассистента OpenCode AI с помощью пользовательской событийно-ориентированной логики.

Просмотреть навык

sglang

Мета

SGLang — это высокопроизводительный фреймворк для обслуживания больших языковых моделей (LLM), специализирующийся на быстрой структурированной генерации JSON, regex и рабочих процессов агентов с использованием кэширования префиксов RadixAttention. Он обеспечивает значительно более высокую скорость вывода, особенно для задач с повторяющимися префиксами, что делает его идеальным для сложных структурированных результатов и многократных диалогов. Выбирайте SGLang вместо альтернатив, таких как vLLM, когда вам требуется ограниченное декодирование или вы создаете приложения с интенсивным совместным использованием префиксов.

Просмотреть навык