travel-plan-viz — план поездки в HTML-странице
travel-plan-viz
Скилл собирает план поездки в один HTML-файл с картой, расписанием по дням и напоминаниями о сроках бронирования
- 409 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент ищет информацию в сети и подставляет в страницу найденные данные и ссылки на картинки
- Скрипт validate.js запускается через Node на вашей машине, а открытая страница подгружает карту из интернета
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add skills/travel-plan-vizОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент ищет информацию в сети и подставляет в страницу найденные данные и ссылки на картинки
- Скрипт validate.js запускается через Node на вашей машине, а открытая страница подгружает карту из интернета
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
travel-plan-viz превращает поездку в одну HTML-страницу, которую удобно открывать на телефоне. Вы называете город и число дней, например Гонконг на четыре дня и три ночи, и агент ищет информацию в сети, предлагает план по дням и после вашего согласия собирает страницу. Если план уже есть, текстом или старой HTML-страницей, скилл оформляет его и предлагает до четырех необязательных улучшений. В странице есть интерактивная карта с пронумерованными точками и пунктирным маршрутом, а у каждой точки кнопка перехода в навигацию на телефоне. Расписание разбито на утро, день и вечер, с фото, оценкой и короткой заметкой по каждому месту. Сверху идет список дел до вылета: по дате поездки скилл считает, до какого числа нужно забронировать билеты и входы. Ниже собраны советы перед поездкой по сезону, три-пять вариантов рейсов, отели по районам и ценам, еда по дням. После генерации скрипт validate.js проверяет обязательные поля, координаты и блоки страницы. Весь план хранится в самой странице как JSON, поэтому позже его можно править репликой вроде «перенеси этот пункт на четвертый день».
Для кого. Для тех, кто планирует поездку с помощью Claude Code или Codex и хочет получить готовый маршрут одной страницей с расписанием, которое читается с телефона без интернета.
Подходит, если
- Нужно с нуля составить маршрут по городу на несколько дней с отелями, едой и транспортом
- Есть черновик плана в заметках, и его нужно превратить в аккуратную страницу для телефона
- Хочется видеть все места на одной карте и переходить к навигации одним нажатием
- Поездка через несколько недель, и нужен список, до какого числа что бронировать
- Нужен файл, который откроется в поезде или самолете без сети и покажет расписание
Не подходит, если
- Нужна покупка билетов и бронирование: скилл ничего не оформляет
- Нужны актуальные цены на рейсы и отели: сам скилл их не проверяет, живые данные приходят только от установленных официальных скиллов
- Нужен интерфейс на нескольких языках или серверная часть: результат остается одним статическим файлом
- Вы хотите обсуждать детали поездки с командой в реальном времени: страница статичная
Пример запроса к агенту
Сделай план поездки в Токио на пять дней и четыре ночи со страницей для телефона: карта, расписание по дням и что забронировать заранее.Ограничения
Инструкции скилла и примеры написаны по-китайски, README двуязычный, поэтому агент работает по китайским текстам. Все данные на странице собраны ИИ из интернета и могут устареть, а на странице есть отдельное предупреждение сверять цены, время работы и рейсы в официальных приложениях.
Скилл не запрашивает цены в реальном времени и не бронирует. Живые данные приходят только от установленных у вас официальных скиллов и сервисов вроде Fliggy, Amap, Tencent Map и DiDi, и за их точность отвечают они. Текст расписания читается без сети, а карта и фото загружаются из интернета и при сбое пропадают без ошибок на странице.
Как отключить. Удалите ссылку на папку travel-plan-viz из каталога скиллов агента, то есть из ~/.claude/skills или ~/.codex/skills. Готовые HTML-файлы останутся у вас и продолжат открываться.
Частые вопросы
Как поставить travel-plan-viz в Claude Code или Codex?
Скачайте репозиторий и из его корня свяжите папку скилла с каталогом агента: ln -sfn "$(pwd)/travel-plan-viz" ~/.claude/skills/travel-plan-viz для Claude Code и такая же команда с ~/.codex/skills/travel-plan-viz для Codex. Для новичков в репозитории есть пошаговая инструкция INSTALL.md для Windows и Mac.
Как попросить скилл составить план поездки?
Назовите город и срок, например «сделай план поездки в Гонконг на четыре дня и три ночи». Это режим с нуля: агент ищет данные, обсуждает с вами план и только после вашего подтверждения собирает страницу. Если план уже есть, вставьте его текстом или приложите старую страницу.
Работает ли страница без интернета?
Расписание и текстовые блоки читаются без сети. Карта и фотографии загружаются из интернета, а без него страница аккуратно скрывает их и не показывает битых картинок.
Как изменить готовый план?
Верните HTML-файл агенту и попросите правку, например перенести пункт с третьего дня на четвертый. Весь план хранится в самой странице как JSON, и агент меняет данные и заново рисует страницу, поэтому поля не теряются.
Нужны ли ключи карт или платные сервисы?
Нет. Карта строится на Leaflet и бесплатных тайлах OpenStreetMap, ключ API не нужен. Ссылки в навигацию используют официальные URI Apple Maps и geo, а для точек в Китае добавляются ссылки Amap, для зарубежных — Google Maps.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
СкиллыСкилл JourniOne для планирования путешествий: маршрут по дням, отели, перелеты и веб-дневник поездки
Поиск туров, отелей, авиабилетов, поездов и экскурсий через Aviasales, Travelata, Level.Travel, Tutu.ru, Tripster и Sputnik8
Набор из шести скиллов, которые собирают самодостаточные HTML-артефакты: вайрфреймы, прототипы, макеты, планы и диаграммы
Скилл ведет новичка от смутной идеи приложения к проверенному плану, а потом сопровождает сборку.
Семь скиллов для Claude Code: из ссылки на видео, статью или PDF получается текст и план действий, плюс скрам-коуч, журнал сессий и разбор застрявших задач
Скиллы для агента: поиск и бронирование отелей и авиабилетов по всему миру через API TourMind, сравнение цен, оплата и управление заказами
Сравнение с похожими
Записи с тем же главным запросом: чем они отличаются.
| Запись | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| travel-plan-viz — план поездки в HTML-странице (эта запись) | нет | 409 | |
| JourniOne Planning Skills | да | 1 175 | тоже планирует поездки и ведет веб-дневник, тогда как travel-plan-viz выдает офлайн-страницу с картой и напоминаниями о броне |
| FlyAI | да | 1 275 | ищет билеты, отели и билеты на события на платформе Fliggy, а travel-plan-viz собирает из найденного страницу плана |
Коротко о README
README двуязычный, китайская и английская части повторяют друг друга. В нем есть таблица возможностей, описание устройства (движок карты, движок напоминаний, скрипт проверки и контракт страницы), примеры четырех готовых поездок и раздел частых вопросов о том, чем скилл отличается от обычного запроса к чат-боту.
Бейдж для README
Исходный SKILL.md
--- name: travel-plan-viz description: 把旅行行程做成美观、离线可读、手机优先的单文件 HTML(交互地图+每日时间轴+出发前订票提醒)。两种用法——只给目的地和天数让它帮你规划,或丢一份现成计划让它直接出页面。触发:旅行计划可视化、做旅行攻略网页、行程 HTML、travel plan visualization。 --- # 旅行计划可视化 把一趟旅行变成单文件 HTML 页面:交互地图、每日时间轴、出发前订票提醒。机械逻辑用自带引擎(`assets/map.js`、`assets/reminders.js`),美学交给设计步骤(`frontend-design` / `huashu-design`,或内置准则兜底)。 ## 第一步:判断模式 - 用户**只给了目的地+天数**(如"香港 4 天 3 晚")→ 模式 A(从零规划)。 - 用户**已提供行程**(文字或旧 HTML 文件)→ 模式 B(解析已有计划)。 ## 模式 A:从零规划 1. 读 `references/research-guide.md`,联网调研目的地。 2. 在对话里用 markdown 提出详实逐日计划(早/中/晚、景点、交通、住宿)。 3. 与用户来回迭代,直到用户明确确认。 4. 进入"调研补全 + 生成"。 ## 模式 B:已有计划 1. 解析用户给的行程。**若是本 skill 生成的旧 HTML**:直接解析其中 `<script id="trip-data" type="application/json">` 的完整 `trip` JSON(数据与呈现分离,别去反解析渲染后的 DOM——必丢字段);旧版页面没有这块时才从 DOM/文本提取。 2. **顺手提建议(Agent 增值,但别硬来)**:把用户的计划对照"完善行程"的维度(行前须知/天气应对、提前订票项、点到点交通、节奏与缓冲、当地必吃、片区住宿是否合理等)快速体检,在**对话里**给**最多 3–4 条**具体、可选的优化建议。原则: - 只挑**真实存在的缺口**;计划本就完整就直说"挺完整",**不要硬凑、不要说教、不要替用户重排行程**。 - 一句点出问题 + 一句给方向即可,简洁;建议默认口头给,保持 HTML 成品干净(用户想把建议也放进页面再加)。 - 这是我们区别于"纯提示词转 HTML"的地方——发挥 Agent 的判断力,但点到为止。 3. 进入"调研补全 + 生成"(生成不被建议阻塞;采纳哪些由用户定)。 ## 调研补全 + 生成 1. **先判断第三方 skill 适配**(详见 `references/research-guide.md`「第三方 skill 适配」节):若当前 Agent 可调用用户**已装**的官方旅行 skill / MCP(飞猪、高德、腾讯地图、滴滴等),**优先用它们拿对应数据**——高德地理编码拿精确坐标(**注意:高德/腾讯返回 GCJ-02 坐标,写入 `trip` 前必须用 `map.js` 的 `gcj02ToWgs84` 转成 WGS-84**,否则在 OSM 地图上偏移几百米)、路线规划增强点到点交通、天气查询、生成专属地图/导航/叫车的行动链接;飞猪拿实时航班/酒店/门票及预订链接。把用到的来源登记进 `trip.dataSources`,行动链接写入对应节点的 `actionLink`(**链接只用官方返回的,绝不手拼**)。**没有这些 skill 就全部走下面的静态调研**,成品不缺区块。数据实时性/真实性由对方官方 skill 负责,本 skill 不背书、措辞中性。 2. 按 `references/research-guide.md` 联网补全(官方 skill 未覆盖的部分):坐标、真实图片 URL、评分、点评、营业时间/休息日、门票参考价、需提前订项及 `leadDays`;**行前须知**(天气/台风/穿搭/支付/App/购票时机)、**点到点交通**(方式/票价/耗时)、**时令限定活动**、每餐**必点菜+参考价**;航班给 3-5 个**待选班次**、酒店按**片区+价位**推荐、并准备**免责声明**与全程**贴士**。排程体现**天气/季节逻辑**(户外排凉爽时段)。**本 skill 自身不查实时票价**(实时数据只来自上面用户已装的官方 skill)。 3. 组织成 `assets/page-contract.md` 里定义的 `trip` 数据结构(含可选的 `dataSources` 与节点 `actionLink`)。 4. 用**设计步骤**生成风格化 HTML:**优先**调用专业设计 skill——`frontend-design` 或 `huashu-design`(花叔Design),任一已安装即用;**两者都没有**时,按 `references/design-guidelines.md` 的内置美学准则自己出。无论哪种方式都要严格遵守 `assets/page-contract.md` 的区块与约束: - 内联 `assets/map.js`、`assets/reminders.js` 内容到 HTML(保证单文件)。 - 完整 `trip` 对象以 `<script id="trip-data" type="application/json">` 内嵌进页面(后续迭代修改的数据源)。 - 页顶清单用 `computeReminders` + `renderChecklistHTML`。 - 展示行前须知区块;航班区展示待选班次(已预订的高亮),酒店区按片区+价位展示,附近显著展示免责声明。 - 时间轴卡片展示营业时间/门票参考价/交通/时令活动等可选字段;展示每日餐饮(必点菜+价)、当日与全程贴士、单日二选一方案(若有)。 - 地图用 `initTravelMap`,引入 Leaflet CDN 的 CSS/JS。 - 时间轴上 `needsBooking` 项插入 `reminderBadgeHTML(leadDays)`。 - **可选适配元素**:节点带 `actionLink` 时渲染「去预订/导航/叫车」按钮(缺则不渲染、不手拼);`dataSources` 非空时中性注明数据来源。 - 每趟行程用不同配色。