Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add OpenLAIR/OpenSkill --skill evo-travel-planninggit clone --depth 1 https://github.com/OpenLAIR/OpenSkillWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/openlair/openskill/evo-travel-planning)<a href="https://agentmods.dev/skills/openlair/openskill/evo-travel-planning"><img src="https://agentmods.dev/badge/skills/openlair/openskill/evo-travel-planning/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/openlair/openskill/evo-travel-planning"><img src="https://agentmods.dev/badge/skills/openlair/openskill/evo-travel-planning.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00041 | $0.00794 |
| Opus 5 | $0.00020 | $0.00397 |
| Sonnet 5 | $0.00008 | $0.00159 |
| Haiku 4.5 | $0.00004 | $0.00079 |
Grade A, and why
evo-travel-planning scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
evo-travel-planning
Purpose
Build multi-day travel itineraries from structured CSV/text databases covering cities, accommodations, restaurants, attractions, and driving distances. Handles complex constraints including pet-friendly accommodations, cuisine preferences, budget limits, multi-city routing, and transportation restrictions.
Key Rules
- All data must come from database files in
/app/data/— never use LLM memory for POIs. - Pet-friendly accommodations:
house_rulescolumn must NOT contain "No pets" (usena=Falseto handle NaN safely per Pandas 2.0.3 best practices). - Output accommodation field MUST contain "Pet-friendly" prefix when pet-friendly is required.
- Cuisine coverage verified from restaurant
Cuisinesfield, not restaurant names. - All 5 tool names must appear in
tool_called:search_cities,search_accommodations,search_restaurants,search_attractions,search_driving_distance. - Attractions separated by semicolons with trailing semicolon (e.g.,
"Attraction A;Attraction B;"). - Transportation format:
"Self-driving: from A to B"or"-"for same-city days. current_city: city name for same-city days, or"from A to B"for transit days.- Budget validation: accommodations are per-night, meals are per-person, transportation is per-trip.
- Uses
pd.concat()instead of deprecatedDataFrame.append()(removed in Pandas 2.0).
Usage
import sys
sys.path.insert(0, '/app/environment/skills/evo-travel-planning/scripts')
from utils import (
search_cities, search_accommodations, search_restaurants,
search_attractions, search_driving_distance,
format_accommodation_name, format_attractions,
build_itinerary, save_itinerary, validate_budget,
optimize_route, allocate_days_to_cities,
get_cheapest_accommodation, get_restaurants_by_cuisines
)
# 1. Search Ohio cities
ohio_cities = search_cities(state='Ohio')
# 2. Optimize route from origin through destination cities
route = optimize_route('Minneapolis', ['Cleveland', 'Columbus', 'Cincinnati'])
# 3. Allocate days across cities
allocation = allocate_days_to_cities(route, total_days=7)
# 4. Find pet-friendly accommodations
accomm = search_accommodations(city='Cleveland', pet_friendly=True, min_occupancy=2)
# 5. Find cheapest pet-friendly accommodation
cheapest = get_cheapest_accommodation(city='Cleveland', pet_friendly=True, min_occupancy=2)
# 6. Find restaurants by multiple cuisines
restaurants = get_restaurants_by_cuisines(city='Cleveland',
cuisines=['American', 'Mediterranean', 'Chinese', 'Italian'])
# 7. Get attractions
attractions = search_attractions(city='Cleveland')
# 8. Check driving distance/cost
dist = search_driving_distance(origin='Minneapolis', destination='Cleveland')
# 9. Validate budget
budget_result = validate_budget(
accommodation_costs=[{'price': 80, 'nights': 2}],
meal_costs=[15, 20, 25],
transport_costs=[50],
num_travelers=2,
budget=5100
)
# 10. Build and save
itinerary = build_itinerary(plan_days, tools_used)
save_itinerary(itinerary)
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 73 lines · 41 tokens per session scan A 626a24f42919
evo-travel-planning is a skill published in the GitHub repository OpenLAIR/OpenSkill (90 stars, last pushed 2d ago), licensed Apache-2.0. It adds 41 tokens to every session and 794 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-11.
Other skills, from other repositories
flux-analyzer
Analyse FBA flux distributions to extract biological insights. Covers gene essentiality, phenotypic phase planes, flux sampling, pathway-level aggregation, secretion product prediction, and production of publication- quality figures.
experimental-design
Best practices for designing reproducible ML experiments. Use when planning ablations, baselines, or controlled experiments.
prolong
Recover and use durable coding-session history from PRO-LONG's local append-only log. Use on long-running coding tasks, after context compaction or session resume, when reconstructing prior decisions or tool results, or before repeating work that may already have been attempted.
resolving-merge-conflicts
Use when a git merge or rebase reports conflicts and the operation is in progress.
security-review
Use when reviewing code for vulnerabilities, checking diffs for injection/XSS/auth/crypto issues. Invokes on code changes (.go/.py/.js/.ts/.java/.rs/.php/.rb), not docs-only diffs.
script-exec-blocked
Sandbox approval policy blocks executecode and python3 -c; use readfile/writefile + manual transforms instead of retrying both runners.