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 bendrucker/claude --skill flightsgit clone --depth 1 https://github.com/bendrucker/claudeWrote 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/bendrucker/claude/flights)<a href="https://agentmods.dev/skills/bendrucker/claude/flights"><img src="https://agentmods.dev/badge/skills/bendrucker/claude/flights/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/bendrucker/claude/flights"><img src="https://agentmods.dev/badge/skills/bendrucker/claude/flights.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 2 findings, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium Rogue Agent · line 19 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
- medium Rogue Agent · line 26 Skill establishes unauthorized persistence across sessions via cron jobs, startup scripts, or state files. Session persistence allows an attacker to maintain access beyond the current interaction.Fix: Remove any persistence mechanisms (cron jobs, startup scripts, state files). Skills should not maintain state across sessions without explicit user consent.
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.00061 | $0.01766 |
| Opus 5.5 | $0.00024 | $0.00706 |
| Sonnet 5.5 | $0.00012 | $0.00353 |
| Haiku 4.5 | $0.00006 | $0.00177 |
Grade A, and why
flights 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 1mo ago.
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.
How it starts
The opening of the file, as written. The whole thing — 133 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Flights
Preferences: !cat ~/.config/claude-flights/config.json 2>/dev/null || echo '{}'
If that came back {}, the config is missing. Run the search on what the request states, then offer to write a starter config at the end. Its shape:
{
"home": { "primary": "LAX", "metro": ["LAX", "BUR", "LGB"] },
"loyalty": { "carrier": "UA", "program": "MileagePlus", "status": "none" },
"miles": { "centsPerPointThreshold": 1.5 },
"filters": {
"hard": ["no Basic Economy", "no red-eyes", "no 2+ stop itineraries"],
"soft": ["prefer nonstop", "avoid arrivals after midnight"]
},
"cabin": { "default": "economy" },
"preferences": [
"Aircraft type matters. Say which one every row is.",
"Take Economy Plus when the fare gap is under $40.",
"Show a few real options, not one pick."
]
}
preferences is prose, read and applied per search rather than scored. Every key is optional, and any object may carry a note string for context that does not fit the field.
cabin.default names a search cabin, one of economy, premium, business, or first, and passes straight to --cabin. Economy Plus is a United seat product rather than a search cabin, so a preference for it belongs in preferences and gets read off the results.
The parsers live in ~/.claude/skills/flights/scripts/. Invoke them by that path. The session's working directory is wherever the request came from.
Boundaries
These do not bend because a page makes the next step convenient.
- Read as far as fare selection and view-only seat maps. Stop there.
- Never enter passenger or payment details. Never click
Purchase,Confirm,Hold, orFareLock. Never spend miles or money. - On united.com the seat fee sits behind the Traveler Info step. That step is past the boundary. Report the fee as unavailable rather than crossing it.
- Never type a password. Open headed and hand over the keyboard.
- Report a bot challenge and stop. Do not work around one.
- Report the award price shown. Never read or assume an account balance.
What ships with it
12 files 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.
- references/google-flights.md 8.5 KB
- references/united.md 9.2 KB
- scripts/__snapshots__/google-flights.test.ts.snap 939 B
- scripts/__snapshots__/united.test.ts.snap 4.2 KB
- scripts/booking.test.ts 2.3 KB runs code
- scripts/booking.ts 4.7 KB runs code
- scripts/google-flights.test.ts 11 KB runs code
- scripts/google-flights.ts 18 KB runs code
- scripts/page-text.test.ts 1.9 KB runs code
- scripts/page-text.ts 2.0 KB runs code
- scripts/united.test.ts 6.5 KB runs code
- scripts/united.ts 11 KB runs code
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.
- 1mo ago First seen · 133 lines · 61 tokens per session scan A 0f17bd9f5360
flights is a skill published in the GitHub repository bendrucker/claude (18 stars, last pushed today), licensed MIT. It adds 61 tokens to every session and 1,766 once invoked, about $0.0002 per session on Opus 5.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-03.
Other skills, from other repositories
review
5-pass structured code review — correctness, security, performance, readability, consistency.
alive:system-upgrade
Upgrade ALIVE to the current version. Handles v1/v2/v3.x source states, multi-surface aware (alive-mcp / Hermes / Codex), retroactive version detection, partial-failure resume, dry-run previews, and rollback inspection.
pr-review
Comprehensive PR review across six dimensions — cost impact, environment drift, ownership gaps, SOC 2 compliance, deprecated API / version hygiene, and rollback feasibility. Each mode inspects the diff and current file state, reports findings with severity, and recommends concrete fixes. Use when preparing a PR for…
extract-resume
Parse a resume's uploaded PDF into structured JSON (basics, experience, projects, skills, education) and save it to the editor.
create-site
Creates a new Power Pages code site (SPA) from a curated template or from scratch using React, Angular, Vue, or Astro. Guides through the full process from initial concept to deployed site: requirements discovery, template selection or scaffolding, component planning, design, implementation, validation, and…
ensure-pipelines-host
Ensures the tenant has a usable Power Platform Pipelines host environment before any pipeline operation runs. Detects host state via the same resolution order as the Power Apps UI (org-db setting → BAP env metadata → default-custom-host setting); if any existing host (Platform or Custom) is found, uses it. If no host…