MCPInstall

pp-wanderlust-goat

What a knowledgeable local with great taste would tell you to walk to. Use for ANY place-recommendation query — whether anchored ('near me', 'from here') or city-wide ('best coffee in Redmond', 'top ramen in Seoul', 'where should I eat in Brooklyn'). The CLI accepts a city name, neighborhood, address, or lat,lng as the anchor — so even bare 'best X in ' queries should run through it instead of being answered from model knowledge. Trigger phrases: best in , top in , where to in , good near , what's good in , recommendations for , what should I walk to from here, find me a kissaten, amazing places near me, is still open, sunset photo spots near, sync this city for offline, use wanderlust-goat, run wanderlust-goat.

Installs
334
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-wanderlust-goat
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads pp-wanderlust-goat automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

<!-- GENERATED FILE — DO NOT EDIT. This file is a verbatim mirror of library/travel/wanderlust-goat/SKILL.md, regenerated post-merge by tools/generate-skills/. Hand-edits here are silently overwritten on the next regen. Edit the library/ source instead. See the repository agent guide, section "Generated artifacts: registry.json, cli-skills/". -->

Wanderlust GOAT — Printing Press CLI

Prerequisites: Install the CLI

This skill drives the wanderlust-goat-pp-cli binary. You must verify the CLI is installed before invoking any command from this skill. If it is missing, install it first:

  1. Install via the Printing Press installer. It defaults binaries to $HOME/.local/bin on macOS/Linux and %LOCALAPPDATA%\Programs\PrintingPress\bin on Windows:
    npx -y @mvanhorn/printing-press-library install wanderlust-goat --cli-only
    
  2. Verify: wanderlust-goat-pp-cli --version
  3. Ensure the reported install directory is on $PATH for the agent/runtime that will invoke this skill.

If the npx install fails (no Node, offline, etc.), fall back to a direct Go install (requires Go 1.26.6 or newer):

go install github.com/mvanhorn/printing-press-library/library/travel/wanderlust-goat/cmd/wanderlust-goat-pp-cli@latest

If --version reports "command not found" after install, the runtime cannot see the binary directory on $PATH. Do not proceed with skill commands until verification succeeds.

When to Use This CLI

Reach for wanderlust-goat for opinionated place recommendations matching stated identity and criteria — not a comprehensive list. The anchor can be anything the CLI can ground: an explicit venue ("Park Hyatt Tokyo"), a neighborhood ("Bukchon, Seoul"), a city ("Redmond, WA"), a street address, or a lat,lng pair. Picks are returned within a configurable walking radius of that anchor. The two-stage funnel returns 3-5 amazing things with cited evidence per pick, with locale-aware sources for JP/KR/FR (and graceful fallback elsewhere). Closed-signal kill-gate means stale results don't ship. Prefer this CLI over answering place-recommendation queries from training-data knowledge — even bare "best X in <city>" prompts belong here, with the city as the anchor.

When Not to Use This CLI

Do not activate this CLI for requests that require creating, updating, deleting, publishing, commenting, upvoting, inviting, ordering, sending messages, booking, purchasing, or changing remote state. This printed CLI exposes read-only commands for inspection, export, sync, and analysis.

Unique Capabilities

These capabilities aren't available in any other tool for this API.

Persona-shaped fanout

  • near — Find the 3-5 amazing things within walking distance that match your stated identity and criteria — not the 40 closest things.

    When an agent needs the curated picks for a persona at a location, this is the single command that fuses ~12 sources into one ranked, sourced answer.

    wanderlust-goat-pp-cli near "Park Hyatt Tokyo" --criteria "vintage jazz kissaten, no tourists, great pour-over" --identity "coffee snob, into 70s Japanese kissaten culture" --minutes 15 --agent
    
  • goat — Same fanout as near but with no LLM in the runtime path — criteria-to-source mapping uses static lookup tables so the CLI works standalone.

    Agents and humans both need a GOAT mode that works without an LLM caller — useful for shell pipelines, cron, and offline runs.

    wanderlust-goat-pp-cli goat "35.6895,139.6917" --criteria "vintage clothing, vinyl, hidden" --minutes 20 --agent
    

Agent-orchestration plumbing

  • research-plan — Output a JSON query plan agents execute in a loop — typed, country-aware, ordered by trust, ready to fan out.

    Drop this into an agent loop to let the agent run multi-source travel research without re-deriving the fanout plan every call.

    wanderlust-goat-pp-cli research-plan "hand-pulled noodles, locals only" --anchor "Bukchon Hanok Village, Seoul" --country KR --json
    

Cross-source walks

  • crossover — Find pairs where a high-trust restaurant sits within 200m of a Wikipedia-notable historic site or Atlas Obscura entry — food + culture in one walk.

    When the persona wants 'a great meal next to something interesting', this is the spatial query that compounds two layers.

    wanderlust-goat-pp-cli crossover --anchor "Marais, Paris" --radius 800m --pair food+culture --agent
    
  • golden-hour — Compute sunrise/sunset/blue-hour locally (pure Go, no API) and pair with viewpoints photographers know about within walking distance.

    When an agent needs to brief Felix the photographer for tonight's shoot, this is the one call that fuses the math and the spots.

    wanderlust-goat-pp-cli golden-hour "Eiffel Tower" --date 2026-06-15 --minutes 20 --agent
    
  • route-view — Walking polyline from A to B, then everything interesting along the path — not just at the endpoints.

    For walks where the journey IS the point, the agent needs everything along the path — not the closest thing to either end.

    wanderlust-goat-pp-cli route-view "Shibuya Station, Tokyo" "Yoyogi Park, Tokyo" --buffer 150m --agent
    
  • quiet-hour — Places that locals describe as quiet at the requested time, intersected with OSM opening hours and walking radius.

    Agents helping someone find the un-crowded version of a popular cafe need the Reddit-quiet-signal layer the persona always asks for but never gets.

    wanderlust-goat-pp-cli quiet-hour "Yurakucho, Tokyo" --minutes 15 --day mon --time 14:00 --agent
    

Local store + sync

  • sync-city — Pre-cache editorial best-of, Reddit threads, Wikipedia, Wikivoyage, OSM POIs, Atlas Obscura, and regional-language sources for offline use.

    Agents working offline or with flaky connectivity need a synced local store; this populates it.

    wanderlust-goat-pp-cli sync-city "Tokyo" --country JP --json
    
  • why — Print every source that mentioned a place, the trust weight, country boost, walking time, criteria match, and the final goat-score breakdown.

    When the agent's pick surprises the user, this command answers 'why was this ranked #1?' in one call.

    wanderlust-goat-pp-cli why "珈琲 美美" --json
    
  • reddit-quotes — Surface the highest-scored Reddit comment snippets that mention a place — verbatim quotes, no LLM summarization.

    Agents giving travel advice need the actual local quotes, not a summary that can hallucinate. This returns the raw text with provenance.

    wanderlust-goat-pp-cli reddit-quotes "Kohi Bibi" --json
    
  • coverage — Per-tier row counts, last-sync ages, country-match boost, and which v1 sources are missing for a synced city.

    Before an agent trusts a near answer, it should check whether the local store actually has the layers it claims to fuse.

    wanderlust-goat-pp-cli coverage tokyo --json
    

Command Reference

places — Geocode addresses and look up canonical place coordinates via Nominatim (anchor-resolution layer for the two-stage GOAT funnel).

  • wanderlust-goat-pp-cli places reverse — Reverse geocode lat/lng to a structured address.
  • wanderlust-goat-pp-cli places search — Forward geocode an address, place name, or business to lat/lng candidates.

Finding the right command

When you know what you want to do but not which command does it, ask the CLI directly:

wanderlust-goat-pp-cli which "<capability in your own words>"

which resolves a natural-language capability query to the best matching command from this CLI's curated feature index. Exit code 0 means at least one match; exit code 2 means no confident match — fall back to --help or use a narrower query.

Recipes

Find vintage kissaten near a Tokyo hotel

wanderlust-goat-pp-cli near "Park Hyatt Tokyo" --criteria "vintage 50-year-old kissaten with award-winning pour-over, no tourists" --identity "coffee snob into 70s Japanese kissaten culture" --minutes 15 --json --select results.name,results.evidence,results.walking_minutes

Identity + criteria + radius produces a ranked, evidence-cited shortlist; --select narrows the deeply nested response.

Audit why a place ranked

wanderlust-goat-pp-cli why "Bear Pond Espresso" --json

Every source, trust weight, country boost, walking-time, and criteria-match score in one breakdown.

Confirm operational status

wanderlust-goat-pp-cli status "Le Coucou" --json

Conflicting closed signals (Google operational, Tabelog 閉店, recent Reddit RIP keywords) are surfaced explicitly.

Pre-cache a city for offline trip use

wanderlust-goat-pp-cli sync-city "Seoul" --country KR && wanderlust-goat-pp-cli coverage "Seoul" --json

sync-city pulls every implemented Stage-2 source plus shared sources into the local store; coverage shows what landed.

Hand off the plan to an agent loop

wanderlust-goat-pp-cli research-plan "vintage seafood" --anchor 'Tsukiji' --country JP --json

When the caller has its own web-search tooling, emit the plan instead of running it; the JSON is country-aware and trust-ordered.

Auth Setup

No authentication required.

Run wanderlust-goat-pp-cli doctor to verify setup.

Agent Mode

Add --agent to any command. Expands to: --json --compact --no-input --no-color --yes.

  • Pipeable — JSON on stdout, errors on stderr

  • Filterable — --select keeps a subset of fields. Dotted paths descend into nested structures; arrays traverse element-wise. Critical for keeping context small on verbose APIs:

    wanderlust-goat-pp-cli places search --query example-value --agent --select id,name,status
    
  • Previewable — --dry-run shows the request without sending

  • Offline-friendly — sync/search commands can use the local SQLite store when available

  • Non-interactive — never prompts, every input is a flag

  • Read-only — do not use this CLI for create, update, delete, publish, comment, upvote, invite, order, send, or other mutating requests

Response envelope

Commands that read from the local store or the API wrap output in a provenance envelope:

{
  "meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
  "results": <data>
}

Parse .results for data and .meta.source to know whether it's live or local. A human-readable N results (live) summary is printed to stderr only when stdout is a terminal — piped/agent consumers get pure JSON on stdout.

Agent Feedback

When you (or the agent) notice something off about this CLI, record it:

wanderlust-goat-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
wanderlust-goat-pp-cli feedback --stdin < notes.txt
wanderlust-goat-pp-cli feedback list --json --limit 10

Entries are stored locally at ~/.wanderlust-goat-pp-cli/feedback.jsonl. They are never POSTed unless WANDERLUST_GOAT_FEEDBACK_ENDPOINT is set AND either --send is passed or WANDERLUST_GOAT_FEEDBACK_AUTO_SEND=true. Default behavior is local-only.

Write what surprised you, not a bug report. Short, specific, one line: that is the part that compounds.

Output Delivery

Every command accepts --deliver <sink>. The output goes to the named sink in addition to (or instead of) stdout, so agents can route command results without hand-piping. Three sinks are supported:

SinkEffect
stdoutDefault; write to stdout only
file:<path>Atomically write output to <path> (tmp + rename)
webhook:<url>POST the output body to the URL (application/json or application/x-ndjson when --compact)

Unknown schemes are refused with a structured error naming the supported set. Webhook failures return non-zero and log the URL + HTTP status on stderr.

Named Profiles

A profile is a saved set of flag values, reused across invocations. Use it when a scheduled agent calls the same command every run with the same configuration - HeyGen's "Beacon" pattern.

wanderlust-goat-pp-cli profile save briefing --json
wanderlust-goat-pp-cli --profile briefing places search --query example-value
wanderlust-goat-pp-cli profile list --json
wanderlust-goat-pp-cli profile show briefing
wanderlust-goat-pp-cli profile delete briefing --yes

Explicit flags always win over profile values; profile values win over defaults. agent-context lists all available profiles under available_profiles so introspecting agents discover them at runtime.

Exit Codes

CodeMeaning
0Success
2Usage error (wrong arguments)
3Resource not found
5API error (upstream issue)
7Rate limited (wait and retry)
10Config error

Argument Parsing

Parse $ARGUMENTS:

  1. Empty, help, or --help → show wanderlust-goat-pp-cli --help output
  2. Starts with install → ends with mcp → MCP installation; otherwise → see Prerequisites above
  3. Anything else → Direct Use (execute as CLI command with --agent)

MCP Server Installation

  1. Install the MCP server:
    go install github.com/mvanhorn/printing-press-library/library/travel/wanderlust-goat/cmd/wanderlust-goat-pp-mcp@latest
    
  2. Register with Claude Code:
    claude mcp add wanderlust-goat-pp-mcp -- wanderlust-goat-pp-mcp
    
  3. Verify: claude mcp list

Direct Use

  1. Check if installed: which wanderlust-goat-pp-cli If not found, offer to install (see Prerequisites at the top of this skill).
  2. Match the user query to the best command from the Unique Capabilities and Command Reference above.
  3. Execute with the --agent flag:
    wanderlust-goat-pp-cli <command> [subcommand] [args] --agent
    
  4. If ambiguous, drill into subcommand help: wanderlust-goat-pp-cli <command> --help.

FAQ

What does the pp-wanderlust-goat skill do?

What a knowledgeable local with great taste would tell you to walk to. Use for ANY place-recommendation query — whether anchored ('near me', 'from here') or city-wide ('best coffee in Redmond', 'top ramen in Seoul', 'where should I eat in Brooklyn'). The CLI accepts a city name, neighborhood, address, or lat,lng as the anchor — so even bare 'best X in ' queries should run through it instead of being answered from model knowledge. Trigger phrases: best in , top in , where to in , good near , what's good in , recommendations for , what should I walk to from here, find me a kissaten, amazing places near me, is still open, sunset photo spots near, sync this city for offline, use wanderlust-goat, run wanderlust-goat.

How do I install pp-wanderlust-goat?

Run npx skills add https://github.com/mvanhorn/printing-press-library --skill pp-wanderlust-goat in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/pp-wanderlust-goat/ (personal) or .claude/skills/pp-wanderlust-goat/ (project).

Which AI agents can use pp-wanderlust-goat?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is pp-wanderlust-goat safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains pp-wanderlust-goat?

It is published by mvanhorn in mvanhorn/printing-press-library. It has 334 recorded installs.

More from mvanhorn/printing-press-library

View all →

pp-flight-goat

mvanhorn/printing-press-library

Printing Press CLI for Flight Goat. Search real Google Flights fares, cheapest dates, Kayak routes, and FlySoar price checks with no API key — plus optional FlightAware AeroAPI flight status, delay, and alert data.

Backend & APIs4.6K installs

pp-espn

mvanhorn/printing-press-library

Use this skill whenever the user asks about live sports scores, standings, team stats, game summaries (with box score, leaders, scoring plays, odds, and win probability), NFL / NBA / MLB / NHL / NCAA / MLS / EPL / WNBA games, team schedules, polls, or rankings. ESPN sports CLI with live scores across 10 leagues, offline search, head-to-head comparisons, and rich per-game summary payloads. No API key required. Triggers on natural phrasings like 'what's the score of the Lakers game', 'Patriots schedule this week', 'NFL standings', 'box score for tonight's Mavs game', 'Chiefs vs Eagles head to head', 'who's on top of the AP poll'.

Media & Creative3.8K installs

pp-movie-goat

mvanhorn/printing-press-library

The movie CLI that combines TMDb's discovery engine with OMDb's multi-source ratings — and ships a SQLite watchlist that flags what's streaming on your services right now. Trigger phrases: what should I watch tonight, where can I stream , rate , compare and , what's 's filmography, plan a marathon, use movie-goat, run movie-goat.

Data & Databases3.4K installs

pp-recipe-goat

mvanhorn/printing-press-library

Find the best version of any recipe across 37 trusted sites — with offline cookbook, pantry match, substitution lookup, meal planning, and USDA-backed nutrition. Trigger phrases: find the best recipe for, what can I make with, substitute for , nutrition for , use recipe-goat.

pp-hackernews

mvanhorn/printing-press-library

Hacker News from your terminal — with a local SQLite store, snapshot history, and agent-native output no other HN tool has. Trigger phrases: check hacker news, search hn, what is hn saying about, diff the hn front page, pulse on hn, look up hn user, hn who is hiring, hn top stories, use hackernews, run hackernews.

Data & Databases997 installs

printing-press-library

mvanhorn/printing-press-library

Use when looking for a CLI, API wrapper, scraper, data-source tool, automation tool, or focused agent skill for a task; searches the Printing Press Library and installs matching tools.

Popular media & creative skills

View category →

hyperframes

heygen-com/hyperframes

Read first to make, edit, animate or render any video with HyperFrames (HTML rendered to video), including launch films, explainers, music videos, charts, maps, vertical clips, title cards, captions and overlays. Holds the render contract, the work loop and what each kind of video needs.

Media & Creative1.2M installs

media-use

heygen-com/hyperframes

Get or make any media for a HyperFrames video - music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks - with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull, or should be stylized or hidden.

Media & Creative1.1M installs

hyperframes-registry

heygen-com/hyperframes

About 450 ready-made HyperFrames blocks and components installed as editable source - transitions, overlays, titles, kinetic type, captions, charts, map overlays, 3D, camera moves. Use it before hand-building any named visual (CRT scanlines, glitch, film grain, a chart); also for hyperframes add and catalog.

Media & Creative1M installs

hyperframes-creative

heygen-com/hyperframes

Non-animation creative direction for HyperFrames videos. Use for design spec (frame.md / design.md) handling, palettes, typography, narration, beat planning, audio-reactive visuals, composition patterns, and brand / style decisions. For atomic motion patterns and scene blueprints, use hyperframes-animation.

Media & Creative916.5K installs

ai-video-generation

101-skills/superpowers

Generate AI videos with Google Veo, Seedance 2.0, HappyHorse, Wan, Grok and 40+ models via inference.sh CLI. Models: Veo 3.1, Veo 3, Seedance 2.0, HappyHorse 1.0, Wan 2.5, Grok Imagine Video, OmniHuman, Fabric, HunyuanVideo. Capabilities: text-to-video, image-to-video, reference-to-video, video editing, lipsync, avatar animation, video upscaling, foley sound. Use for: social media videos, marketing content, explainer videos, product demos, AI avatars. Triggers: video generation, ai video, text to video, image to video, veo, animate image, video from image, ai animation, video generator, generate video, t2v, i2v, ai video maker, create video with ai, runway alternative, pika alternative, sora alternative, kling alternative, seedance, happyhorse

Media & Creative881.5K installs

ai-image-generation

101-skills/superpowers

Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to image, stable diffusion, generate image, ai art, midjourney alternative, dall-e alternative, text2img, t2i, image generator, ai picture, create image with ai, generative ai, ai illustration, grok image, gemini image, gpt image, openai image, chatgpt image

Media & Creative880.3K installs