The page this skill built from examples/hollin-walking, working in your browser. Opens in a new tab. Also: .
20.1-second example rendered by this skill from examples/hollin-walking · 1280×720
What you get
- A self-contained itinerary page and a paste-in embed
- A route map drawn from your coordinates, easing to each day as visitors scroll
- A whole-trip height strip whose bands jump to each day when tapped
- Day entries with measured distance, climb, profile, sleep, meals, extras and a computed effort grade
- Included and not included lists with meals counted from the days
- A departures table with places left and the date they were counted, and the price block
- A route measuring tool that also turns GPX files into the route file
- Open-source licenses for every part it builds on
Good fit
- A walking holiday company that wants each day's distance, climb and effort shown honestly beside a map.
- A photography or driving tour operator selling small-group departures with places left and a clear price.
- A retreat or expedition organiser who has GPX tracks and wants one page that explains the whole trip.
Not for
- Live availability or online booking
- Turn-by-turn navigation or detailed hiking maps
- Trips longer than 14 days
- Pages that need countdown timers or scarcity badges
About this skill
The itinerary page for a guided walk, tour or retreat, drawn like a surveyor's sheet: one route shown as a map, a whole-trip height strip and a day-by-day ledger that always stay on the same day. The map is drawn from coordinates in the page's own type and colours, with no tiles or map service, and eases to each day as the reader scrolls. Every day shows its measured distance, climb and profile, where you sleep, meals included, what is optional and an effort grade worked out by a printed rule. Then what is and is not included, departures with places left and the date they were counted, and the price. On phones the map becomes a sticky strip. The build measures every figure and refuses a stated distance the track does not support.
Example request
A seven day coastal walking itinerary drawn like a survey sheet: an engraved map of an invented coast easing to each day, a height strip and a day ledger in register, with measured distances, effort by a stated rule, meals, departures and price.
How it works
Your agent
- 1
Collect the trip
Every price, place count and claim must come from the person.
- 2
Get the route and measure it
Put the route next to trip.json.
- 3
Choose the map
The build crops the map to what the page can show and simplifies every line, and the check fails a page over 400 KB.
- 4
Write trip.json
Effort is never typed.
- 5
Build
It lists every problem at once (a missing field, text too long, a stated distance the track does not support, days that do not join up, a typed effort, a covers line that over-claims, a departure whose length does not match the itinerary) and writes nothing until they are fixed.
- 6
Check
It opens the page at 390, 768, 1024 and 1440 px wide and with reduced motion at 390 and 1440 and fails on: script errors, sideways scrolling, a page over 400 KB, text under 16 px on a phone or 14 px elsewhere (12 px labels), text under AA contrast (map labels too), text cut off or near a phone's edge; any day's slice of the height strip that is not that day's profile at the one shared scale, a drawn route that does not measure its card's distance within 2%, an effort grade the rule does not give, totals or meal counts that do not add up, seat cells that do not match the places left, a missing "Places as of" date or urgency wording; a day that does not become the day on the map, strip, ledger and panel head when scrolled to or tapped on the strip, a map that does not show all of the day's route, map names that overlap or sit on the route; a panel that does not stick, or on a phone takes more than 45% of the screen; keyboard focus that can't be seen; reduced motion that still animates.
- 7
Look at it
Open the address it prints, scroll slowly through the days, and tap a band on the height strip.
- 8
Record the video (optional)
Writes
out/preview.mp4(1920×1080, 30 fps, about 20 seconds: a rest on the whole route beside the headline, then each of the first four days with the map moving to it, then the dates and the price) andout/poster.png.
- 1
You get
- out/index.html
- out/embed.html
- out/preview.mp4
- out/poster.png


What you need
- Node.js 18 or newer. Nothing to install.
- Chrome, Chromium or Edge, for the checks and the video (the scripts find it; set
CHROME_PATHif they don't). - ffmpeg for the video only (
brew install ffmpeg,winget install ffmpeg,apt install ffmpeg; or setFFMPEG_PATH). - The route: one line per day with elevation on every point, as GeoJSON or as GPX files (one per day;
scripts/measure.mjsturns them into GeoJSON). Draw it in any route planner that exports GPX with elevation. - A map file, or the bundled coastline: see step 3.
- Internet access when the page is opened, for the Google Fonts of the style. Without them system fonts stand in; the map and figures do not change.
Last checked Nov 9, 2026: the package’s own build and render commands ran and passed.
If something goes wrong
The build says a day's km differs from the track
The track may include a detour or miss a section, or the figure is from an old brochure. Run
scripts/measure.mjsand fix whichever is wrong; never stretch the figure to fit.A day is graded harder or easier than it feels
Set
terrain(rough,exposed,scramble) for the ground; the grade and its printed reason follow. Typingeffortis refused so grades stay comparable across days.The build says days do not join up
Each day's track must start within 0.5 km of where the last one ended, and
frommust match the day before'sto.
What’s in the download
- SKILL.md18.1 KBthese instructions.
- examples/
- examples/drywash-expeditions/5.41 KBthe two examples, each with trip.json, route.geojson and geo.geojson. · 1 file
- examples/hollin-walking/5.73 KB1 file
- kit/
- kit/geo/
- kit/geo/natural-earth-50m.json739 KBthe bundled land and coastline (Natural Earth, public domain, via world-atlas).
- kit/geo/world-atlas-LICENSE.txt734 B
- kit/itinerary.css18.0 KBthe layout and both styles.
- kit/runtime.js13.4 KBthe map camera, labels, strip and the recorded tour.
- scripts/
- scripts/kit/
- scripts/kit/build.mjs23.9 KBthe work behind the entry points.
- scripts/kit/cdp.mjs4.93 KB
- scripts/kit/check.mjs20.9 KB
- scripts/kit/geo.mjs6.31 KBdistance, climb, the projection, line simplification, cropping and the Natural Earth decoder.
- scripts/kit/record.mjs6.56 KB
- scripts/kit/schema.mjs12.8 KBevery trip.json field and limit, the effort rule and Naismith's rule.
- scripts/kit/serve.mjs2.50 KB
- scripts/build.mjs141 Bbuilds trip.json into
out/index.htmlandout/embed.html. - scripts/check.mjs141 Bchecks a built page at four widths and with reduced motion.
- scripts/chrome.mjs3.63 KB
- scripts/measure.mjs2.32 KBmeasures a route and turns GPX files into the route GeoJSON.
- scripts/record.mjs143 Brecords the tour video, single stills and the settled moments.
- scripts/serve.mjs141 Bserves a built page to look at.
- NOTICE.md2.04 KB
- TESTED.json489 B
22 files · 887 KB · installs to ~/.claude/skills/itinerary-kit for Claude Code and ~/.agents/skills/itinerary-kit for other agents
Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.
Similar Skills
View allDetails
- Output
- page kit · trip itinerary + drawn route map · page + embed · 1080p video
- Needs
- Node.js 18+, Chrome (or Chromium/Edge), and ffmpeg for the video
- Series
- Page Kits · 29 skills
- Updated
- Nov 9, 2026
- Checked
- Nov 9, 2026: its own commands ran and passed. That is a working check, not a security audit.
Written for
See all 31 agents that read skill folders.
Install guides
For your agent
Generates with
Installed it? Tell others how it went. Reviews come from people who installed this skill.
Write a reviewFAQ
Where does the map come from?
It is drawn from coordinates you supply: a GeoJSON file of land, coast, rivers, lakes and contours, or the bundled Natural Earth coastline. No map tiles, keys or map service are involved, and the build crops and simplifies the data so the page stays under 400 KB.
How is the effort grade worked out?
From each day's distance and climb on foot, with 100 m of climb counted as 1 km and a factor for rough, exposed or scrambling ground. The rule is printed on the page, every card says why it has its grade, and typed grades are refused.
Can I use GPX files from my route planner?
Yes. The measuring script turns one GPX file per day into the route file and prints each day's measured distance, climb and walking time, so you can state distances the build will accept within 5% of the track.
Which agents is Trip Itinerary written for?
Any agent that reads SKILL.md folders, including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode.
Do I own what I make with it?
Yes. Everything your agent makes with this skill is yours, including for client and commercial work.
What if it doesn’t work for me?
Email support@lookbk.dev within 7 days of buying and we’ll fix it or refund you.
Credits and licensesWritten by Lookbk
Lookbk wrote this package with its own runtime and no third-party code, bundles Natural Earth land data (public domain) via world-atlas (ISC License), and its pages load Newsreader, Public Sans, IBM Plex Mono, Archivo and JetBrains Mono from Google Fonts under the SIL Open Font License 1.1. Written by Lookbk, no third-party code.
Credits and licenses for the open-source software and fonts it uses are in NOTICE.md inside the download.