From room-genie
Use this skill BEFORE calling `explore_rates` or `create_alert` for Aulani, A Disney Resort & Spa in Ko Olina, Hawaii (Oahu), or any conversation about a Disney Hawaii trip. Aulani has NO theme park tickets, NO dining plan, NO Memory Maker — its questionnaire is RADICALLY shorter than WDW/DLR (just dates + party + Travel Protection yes/no). Always use `mode: "availability"` or `mode: "room-only"`, never `mode: "package"`. Contains the Aulani-specific questionnaire, view category tradeoffs (Island View / Partial Ocean / Ocean View), and hotel-room vs villa math. Prevents Claude from asking about tickets or dining plans that Aulani doesn't sell.
How this skill is triggered — by the user, by Claude, or both
Slash command
/room-genie:aulani-plannerThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Layer this on top of `room-genie-core`. Aulani is Disney's Hawaii resort — simpler than WDW/DLR because it doesn't sell theme park tickets or dining plans as add-ons.
Layer this on top of room-genie-core. Aulani is Disney's Hawaii resort — simpler than WDW/DLR because it doesn't sell theme park tickets or dining plans as add-ons.
Use list_room_types({ resortId }) to get the exact IDs and names — don't hardcode.
Aulani has no ticket, dining plan, or Memory Maker add-ons through the Disney package flow:
ticketDays must be 0 — there are no theme park tickets to bundle.diningPlan must be "none" — no dining plans.memoryMaker must be false — no photo pass add-on in the package flow.travelProtection — this is the ONE add-on Aulani supports. $99/adult, children free. Offer it.If a user asks for "a package with tickets and dining" at Aulani, correct them: Aulani doesn't offer those. Rates are room-only (or room + travel protection).
mode: "availability" — "is this room type open these dates?" — lightweight, no subscription needed.mode: "room-only" — full per-room pricing. Works on Aulani, uses the Aulani-specific backend automatically. Requires Explorer subscription.mode: "package" — NOT applicable in the WDW sense. Treat any package-style request as room-only plus optional travel protection.explore_rates)Aulani has ONLY ONE paid add-on — don't ask about tickets, dining, or Memory Maker. Ask dates first.
Travel Protection? — ask as a simple yes/no question, never a multi-choice. $99/adult, children free. Aulani's only paid add-on. Default no, but worth offering for longer or costlier stays.
Ask it exactly like this: "Would you like Travel Protection added? (Yes / No)"
Do NOT invent multi-choice options like "Package with airfare", "Package with airfare/protection", "Air + hotel", "Ground transport", or "Flights". None of those exist at Aulani through Room Genie. Aulani does not sell tickets, dining, Memory Maker, airfare, flights, or ground transport as package add-ons — only Travel Protection. If you present any of those as choices, the user will pick one and the alert will be wrong.
The server REFUSES explore_rates for Aulani in mode="room-only" or "package" without an explicit travelProtection boolean. Don't try to skip the question by setting userConfirmedChoices: true and omitting TP — the call will be rejected with the exact question to ask. Always ask, then pass travelProtection: true (yes) or travelProtection: false (no) on the call.
Ask for dates + party first. Travel Protection is a short afterthought once dates land.
Do NOT ask:
mode: "availability" or mode: "room-only".If the user tries to specify any of those, gently correct them: "Aulani doesn't bundle tickets/dining/Memory Maker — those are only offered for Walt Disney World and Disneyland Resort trips."
list_resorts({ query: "Aulani" }) → get Aulani's resortId (there's only one).list_room_types({ resortId }) — REQUIRED before pricing. Aulani has about a dozen room types spanning Standard Hotel Rooms, Deluxe Studios, 1-Bedroom Villas, 2-Bedroom Villas, and 3-Bedroom Grand Villas — each with view categories (Island / Partial Ocean / Ocean). Show the list and ask which 1–3 the user wants priced. Don't price everything by default.roomTypes UUID array.explore_rates({ mode: "availability" | "room-only", resortId, roomTypes: [<picked ids>], checkIn, checkOut, adults, children, childAges, travelProtection }).Always close an Aulani room-only or availability quote with the THREE-WAY POST-MATRIX PROMPT from room-genie-core: "(a) price-drop alert on a room, (b) availability alert on any sold-out room (skip if everything is available), or (c) build a branded PDF quote for the client (generate_quote_pdf)." Aulani has no show_price_matrix step (no tickets/dining), but the three-way close still applies. The PDF flow only asks the user about Travel Protection (Aulani's only add-on) — never about tickets, dining, or Memory Maker.
The contextual hooks below are additional nudges to use when the user seems undecided — they don't replace the three-way close.
After a Standard Hotel Room quote:
After a Villa (DVC) quote:
After explore_rates shows everything sold out:
After a quote that made the user wince at the price:
After list_room_types at Aulani:
When the user mentions they're doing an island-hopping trip:
After create_alert at Aulani:
npx claudepluginhub tombandini-7/room-genie-skills --plugin room-genieProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.