By kyzdes
Extract flight + hotel data from Aviasales / Ostrovok links and compile into a self-contained HTML itinerary with XLSX/PDF export. Triggers on avs.io / aviasales.ru / corp.ostrovok.ru links and Russian travel keywords.
A Claude Code skill that extracts flight and hotel data from Aviasales and Ostrovok, compiles it into a polished travel itinerary with XLSX and mobile PDF export.
Drop your Aviasales and Ostrovok links into Claude Code and get:
~/.trip-planner/, so any agent using the skill (in any later session) knows what trips you've already planned, can avoid re-planning duplicates, and can answer "what trips have I planned?" without re-scrapingThe skill generates a self-contained HTML file like example-output.html included in this repo.
| Site | What It Extracts |
|---|---|
Aviasales (avs.io/*, aviasales.ru/*) | Flight times, airlines, baggage (included/add-on cost), charter flags, seller prices, refund policy |
Ostrovok (corp.ostrovok.ru/*) | Hotel name/stars, all room types with prices, meal plans, cancellation deadlines, check-in/out times |
| TripAdvisor (via Ostrovok) | Rating, review count, direct link |
The skill ships as a Claude Code plugin via the kyzdes/claude-skills marketplace. In Claude Code:
/plugin marketplace add kyzdes/claude-skills
/plugin install trip-planner@claude-skills
It then auto-updates on session start. Restart Claude Code (or /reload-plugins) after the first install.
git clone https://github.com/kuzds/trip-planner-skill.git
ln -s "$(pwd)/trip-planner-skill/skills/trip-planner" ~/.claude/skills/trip-planner
mcp__claude-in-chrome__* tools to navigate SPAs that don't work with simple HTTP fetchesJust paste your links:
вот перелёты и отели на июнь:
https://avs.io/lsP4
https://corp.ostrovok.ru/hotel/turkey/istanbul/mid8668983/adelmar_hotel_istanbul/...
https://avs.io/lruq
https://corp.ostrovok.ru/hotel/turkey/goreme/mid7475285/cappadocia_cave_suites/...
The skill triggers automatically and:
You can also share screenshots from Aviasales/Ostrovok and ask to update specific parts of the itinerary.
Both Aviasales and Ostrovok are SPAs that return empty shells to simple HTTP requests. The skill uses browser automation to:
Aviasales: First fetches the avs.io redirect URL (contains encoded price/route data), then opens the page in Chrome where the ticket popup loads with full details. Battle-tested JS extractors pull flight segments, seller prices, and baggage info from the DOM.
Ostrovok: Navigates to the hotel page, waits for the SPA to hydrate (title changes from "Loading..." to hotel name), then extracts room listings with prices, TripAdvisor links, and ratings.
Transfers: Estimates common airport-to-hotel transfer times (Turkey routes built-in).
Output: Generates a single self-contained HTML file with inline CSS, SheetJS for XLSX export, and a print-optimized mobile layout for PDF.
trip-planner-skill/
├── skills/trip-planner/
│ ├── SKILL.md # Skill instructions + JS extractors + workflow
│ ├── assets/template.html # Reference HTML output template
│ ├── references/ # Transfer times, etc. (progressive disclosure)
│ └── scripts/
│ ├── export_trip.py # HTML → XLSX + PDF (deterministic export)
│ └── trip_registry.py # Persistent trip memory (recall / record)
├── example-output.html # Reference HTML output
└── README.md
# Trip memory (created on first use, OUTSIDE the plugin so it survives updates):
~/.trip-planner/
├── trips.json # Canonical registry of planned trips
└── trips.md # Human-readable mirror (auto-generated)
MIT
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
npx claudepluginhub kyzdes/claude-skills --plugin trip-plannerDeploy and manage applications on VPS servers with Dokploy. Use when the user wants to: set up a new VPS server, deploy a project from GitHub, manage domains/DNS, create databases, check server status, view logs, or remove deployed projects. Also use when the user mentions re-deploying, checking deploy status, adding environment variables, or troubleshooting a deployed app. Also triggers when users say things like "put this on my server", "I need hosting", "make this accessible online", "my site is down", "set up CI/CD for deployment", or anything related to getting code running on a remote server. Triggers on: VPS, deploy, server setup, Dokploy, hosting, domain, DNS, redeploy, server status, deploy logs, "put online", "host this", "site down", CI/CD.
Google Stitch AI UI generation — brainstorm, generate, edit, iterate on UI designs from text prompts. Produces HTML with Tailwind CSS and PNG screenshots.
Cross-platform (macOS + Windows + Linux) secrets manager skill: stores API keys, SSH keys, server creds, and domain info in the OS-native credential store (macOS Keychain / Windows Credential Manager / Linux Secret Service, encrypted-file fallback on headless servers) via the `keys` CLI. Agents architecturally cannot reveal plaintext (Sealed wrapper + env-gated reveal). First-class Claude Code skill; `keys init` emits equivalent rule files for Cursor, Aider, Codex CLI, and Cline.
Teach AI agents to work the Agentix issue tracker over MCP: orient with get_started + the wiki index, load one issue with get_context, and file well-specced issues (task-spec + checklist). Ships the full tool reference, a task-creation template, the index convention, and common workflows.
Instrument an app with SentryX over MCP: error tracking + distributed tracing + product analytics/funnels, correlated by trace_id. Use to "instrument my app", do "error tracking" or "distributed tracing", "define a funnel" / "product analytics", "trace debugging", "set up Sentry / SentryX", wire up "OTLP", or "fix this bug with SentryX". Teaches the connect-once flow (remote Streamable-HTTP MCP, Bearer org token), the instrument flow (detect stack → 5 product questions → create_project → instrument_hint → apply error+OTLP+track() snippets → define_event/funnel/feature → verify get_funnel), and the fix-bugs flow (search_issues → prepare_fix_bundle). Ships the full MCP tool reference, per-stack copy-paste snippets, and end-to-end recipes.
MCP server that saves 98% of your context window with session continuity. Sandboxed code execution in 11 languages, FTS5 knowledge base with BM25 ranking, and automatic state restore across compactions.
Complete AI coding workflow system. Self-correcting memory + persistent FTS5-indexed research wikis + auto-research loop + multi-LLM council on a single SQLite store. 33 skills, 8 agents, 22 commands, 37 hook scripts across 24 events. Cross-agent via SkillKit.
Open-source, local-first Claude Code plugin for token reduction, context compression, and cost optimization using hybrid RAG retrieval (BM25 + vector search), reranking, AST-aware chunking, and compact context packets.