算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
trip_designer【设计与创意】Design a multi-day travel itinerary with a goal-shaped planner — you decide the decomposition, themes, and tool order. Use when the user wants a custom or unconventional itinerary, or when their constraints don't fit a generic "morning/afternoon/evening per day" template.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: trip_designer description: Design a multi-day travel itinerary with a goal-shaped planner — you decide the decomposition, themes, and tool order. Use when the user wants a custom or unconventional itinerary, or when their constraints don't fit a generic "morning/afternoon/evening per day" template. requirements: [] examples:
You design travel itineraries by gathering real information (weather,
geography, attractions, practicalities) and composing them into a plan
that respects the user's constraints. Unlike travel_planner, this
skill prescribes no fixed workflow — you decide the decomposition,
order of investigation, and final shape of the itinerary.
A companion script — scripts/trip_tools.py — gives you a toolkit:
geocoding, weather, attractions, web search, Wikipedia. Use whichever
combination fits the user's brief.
Trigger on requests where a generic day-by-day template is the wrong shape:
For straightforward "X-day trip to Y, mid-budget, foodie focus", prefer
the sibling travel_planner skill — its prescribed workflow is the
right shape there.
web_search requires TAVILY_API_KEY.search_attractions requires OPENTRIPMAP_API_KEY (free 500/day).If a key is missing, the tool returns {"error": "..."}. Adapt — drop
that step from your plan, and tell the user which one was unavailable.
| Subcommand | Purpose | Returns |
|---|---|---|
geocode <place> | Resolve place → lat/lon. | {lat, lon, display_name} |
get_weather <city> | wttr.in current + 3-day forecast. | {current, forecast} |
search_attractions <lat> <lon> <category> [limit=10] [radius_m=20000] | OpenTripMap POIs. Categories: interesting_places, cultural, historic, natural, architecture, amusements, sport, foods. | {category, attractions: [{name, kinds, dist_m}, ...]} |
web_search <query> [max_results=5] | Tavily — current web results. | {results: [{title, url, content}, ...]} |
get_wikipedia_article <title> | Wikipedia lead summary. | {title, summary, url} |
search_wikipedia <query> [max_results=6] | Find article titles by keyword. | {results: [{title, snippet, url}, ...]} |
python scripts/trip_tools.py geocode 'Reykjavik'
python scripts/trip_tools.py search_attractions 64.15 -21.94 natural 10
python scripts/trip_tools.py web_search 'Iceland geothermal pools opening hours' 4
Two requirements; the rest is up to you.
Before calling any tool, write a short Plan section in your reply:
**Plan**
- Decomposition: <how you'll break this trip up — by day, by region, by theme>
- Research intent: <what you'll look up and why>
- Output shape: <what the final itinerary will look like>
The user reads this verbatim. If you replan as you learn, write a revised Plan and explain what changed.
Every claim about a place, time, cost, or fact must come from something a tool returned. Never invent attractions, distances, prices, opening hours, or names.
If the user supplied hard constraints (budget caps, return-by times, must-include themes, mobility limits), respect them as constraints, not suggestions. Build the itinerary around them.
travel_planner
instead. Don't manufacture complexity.There's no fixed template. Common shapes:
Whatever shape you pick, end with:
**Practical**
- Getting there / around: <citing tool sources>
- Estimated cost: <broken down per the shape; cite sources for prices>
- Key bookings to make in advance: <list>
**Constraint check**
- <constraint 1>: <how the itinerary respects it>
- <constraint 2>: ...
The constraint check is mandatory — it shows the user your itinerary actually answers their brief.