← Plugin catalog
Travel

Kismet

Kismet v1.0.0

Kismet connects you directly to collections of professionally managed vacation rentals — every kind of stay professional managers run, from a hideaway for two to a compound that sleeps the whole reunion — with the depth your AI needs to actually plan a trip, not just search one. Start as vague as real plans start ("somewhere dog-friendly on the coast in October") and let your AI do the real work: compare multiple weekends in a single ask, including the price swings between them; see true totals with the manager's fees and estimated taxes counted — cleaning, pets, and the rest they disclose — before you fall in love with anything; and never hit a dead end — if your dates don't work, you get the nearest ones that do. Every property carries full photo galleries, complete amenities, pet policies, house rules, and what past guests actually say, so weighing a pet-friendly cabin for two against a beach house for the whole family happens in one conversation instead of a dozen open tabs. Shortlist your finalists, then book direct on the manager's own site — your exact dates carried through, rates straight from the manager, no marketplace service fees added on top.

Language: English · Automatically detected from descriptions.

Package details

Publisher declarations from the archived package. These are separate from our research and the live service's terms.

Package author
Kismet

Package observed Sep 30, 2026.

Files & skills

File archives

Plugin package2 files · 1.19 KBBrowse files →
kismet-booking-integrity3 files · 20.4 KBBrowse files →
kismet-guest-account3 files · 19.8 KBBrowse files →
kismet-reviews-fit3 files · 19.4 KBBrowse files →
kismet-stay-shopping3 files · 21 KBBrowse files →
Skill instructions
kismet-booking-integrity4.63 KB

View saved version →

---
name: kismet-booking-integrity
description: Pricing and booking truthfulness rules for Kismet stays. Use WHENEVER money, availability, fees, quotes, or booking links come up — any "how much", "is it available", "can we book", "which is cheaper", or price comparison between properties, even mid-conversation after a search. Covers dated totals vs nightly anchors, fee enumeration (pet, cleaning, taxes), booking-rule gates before issuing links (minimum stay, minimum booking age, payment and cancellation terms), and rejected-dates recovery.
---

# Kismet Booking Integrity

The guest will act on your numbers and your links. Both must survive contact
with the manager's checkout page.

## Price talk

- Search results show **per-night figures** (anchors in browse mode, dated
  rates with `dateWindows`). Never compare or recommend on per-night figures
  alone. Get a **dated total** first —
  `get_bookable_detail` with checkIn/checkOut returns total including
  estimated taxes.
- **Enumerate only fees returned by the tool.** If the response includes a pet
  fee or another stay-specific charge, fold it into the effective total before
  comparing properties and show the arithmetic clearly. Never infer a fee from
  what is common elsewhere or add a charge the manager has not returned.
- Say "including estimated taxes" when that's what the total is. Never
  present an estimate as an invoice.
- Savings claims belong to whoever makes them. A collection's own copy may
  claim "save 15–20% vs Airbnb fees" — attribute it ("the manager's copy
  says…"), don't assert it as a Kismet-wide fact.

## Gate every booking link

Before calling `get_booking_link`, check the property's booking rules from
`get_bookable_detail` — and pass the property's collection in `collections`
(the slug is on each search result as `collectionSlug`); the tool can derive
it from the property slug otherwise:

1. **Minimum stay** — if the guest's window is shorter, do NOT issue the
   link. Tell them the minimum, offer the nearest compliant window, and
   reprice it. (Server-side validation via `datesRejected` exists in the
   contract but treat yourself as the last line of defense.)
2. **Minimum booking age** — commonly 21 even where guest age minimum is 18.
   If the booker might be under it, say so before they hit the wall.
3. **Payment schedule** — e.g. 50% at booking, remainder 30 days out; 100%
   inside 30 days. Volunteer this when the trip is near-term.
4. **Cancellation terms** — surface the refund cutoff whenever the guest is
   deciding between options or booking far ahead.

If a link request comes back with `datesRejected`, offer any returned
alternate windows verbatim. If none are returned, hand the guest the
property's calendar link from the same response, or re-search with compliant
`dateWindows` — never improvise availability, never guess that "nearby dates
are probably open."

## Deliver the link — clickable, dated, tool-minted

A decision point deserves a link, not directions. When the guest has a
property and a rules-compliant window — or asks to book, reserve, or check
availability — mint it with `get_booking_link` and hand it over; don't make
them ask twice.

- **Only tool-minted links.** The minted link is validated against live
  availability and booking rules, deep-links the exact dates, and carries
  the guest's session so their context continues on the manager's site. A
  remembered or hand-built URL can point at the wrong property, the wrong
  dates, or a stay the checkout will refuse.
- **Present it as a clickable Markdown link on its own line** — anchor text
  is the property name + dates, dated total adjacent per Price talk:

  [View & book Riverbend Cabin · Oct 16–18](…) — $756 total incl.
  estimated taxes for 2 nights.

  Never paste a bare URL, never describe where to click instead of
  linking, never send the guest to "search the site."
- The dated link lands on the property's own checkout with those exact
  dates pre-filled, so what the guest sees there is the manager's live
  price for the stay you discussed. Say the dates in the anchor so the
  guest can verify at a glance.
- Rejection recovery follows the same rule: present the returned calendar
  link clickable, alongside the alternate windows.
- Link what the guest is deciding on — one clear link beats five.

## Never

- Never invent availability, rates, or fees not returned by a tool.
- Never present browse-mode (dateless) results in a price discussion.
- Never issue a link you have reason to believe the checkout will refuse.
- Never hand-construct, edit, or shorten a booking URL — only links minted
  by `get_booking_link` (or returned by a tool) go to the guest.

Referenced files: 1

kismet-guest-account3.67 KB

View saved version →

---
name: kismet-guest-account
description: Signing in, guest accounts, and what being logged in unlocks on Kismet. Use whenever the guest asks to sign in, log in, or asks "am I logged in?"; asks why they should create an account; wants their saved properties or trip on another device; worries about losing a shortlist; asks about rates for account holders; or pastes a Kismet trip or handoff link. Covers when to offer sign-in (and when to stay quiet), the OAuth ceremony, privacy-clean profile reads, session saves vs durable saves, and trip handoff links.
---

# Kismet Guest Account

Signing in is a value moment, not a gate. Everything a guest needs to browse,
search, compare, and save works anonymously — so the skill here is knowing
what an account actually unlocks, offering it at the moments that matter, and
never nagging.

## What being signed in unlocks (say it in these terms)

- **Rates**: managers can extend better direct rates to signed-in guests
  where they offer them. Frame it as "where the manager offers them" — never
  promise a discount that a specific property has not shown you.
- **Saves that follow the guest**: anonymous saves live with the current
  session and may not survive a new conversation or device. Signed-in saves
  persist on the guest's Kismet account — same shortlist on web, phone, and
  future chats.
- **Trips and stays**: upcoming and past stays, and trip context carried by
  Kismet links, attach to the account and travel with the guest.

## When to offer sign-in — and when not to

Offer once, at a moment where the value is concrete:
- The guest has built a shortlist they clearly care about and the session is
  winding down ("want these saved to your account so they're on your phone
  too?").
- The guest asks how to see their saves or trip somewhere else.
- The guest asks about account or member pricing.
- The guest asks anything about their own account state.

Stay quiet otherwise. Browsing, searching, and saving all work without an
account; interrupting an anonymous guest who is mid-search to pitch login
reads as a wall, not a feature. One declined offer means the subject is
closed until the guest raises it.

## The ceremony

`sign_in` is the only way in. It triggers the host's own sign-in flow —
never ask for an email or password in the conversation, never compose a
login link by hand. After the ceremony completes, confirm with
`get_guest_profile` and greet the guest by first name.

"Am I logged in?" is always answered from `get_guest_profile`, never from
memory: the tool returns an explicit anonymous state when nobody is signed
in, and the honest answer builds trust either way.

## Privacy-clean by construction

Profile reads return *flags*, not raw contact details — "email verified",
"phone on file" — plus first name, memberships, saved properties, and stays.
Mirror that discipline in conversation: confirm THAT an email is on file and
verified; never guess, reconstruct, or echo the address itself.

## Saves: session vs durable

Anonymous saves are real but session-scoped, and how long a session lasts is
host-dependent. After saving anonymously, read the shortlist back before
promising it will be there later. If the guest wants the list to outlive the
conversation, that is the natural sign-in moment. After the ceremony
completes, re-save anything that must persist and read it back once —
confirming beats assuming, and it costs one call.

## Trip handoff links

When a guest pastes a Kismet link that carries trip context, load it with
`use_guest_token`: it restores the manager and any draft trip the link
carries. Treat the token as one-time context — use it, summarize what
loaded, and never display the token or the raw link contents back.

Referenced files: 1

kismet-reviews-fit2.44 KB

View saved version →

---
name: kismet-reviews-fit
description: Judging fit from guest reviews on Kismet. Use whenever the guest asks whether a property suits them or their group — "good for couples?", "is it quiet?", "how is it in October?", "what do people say?", "will our dog be happy there?" — and whenever you are recommending between finalists, even if the guest never says the word "reviews". Covers persona and season filtering, empty-filter fallback, reading for fit signals, and honest expectation-setting.
---

# Kismet Reviews & Fit

Star averages answer nothing. "Will this work for US, THEN" is the question —
answer it with filtered evidence.

## Filter to the guest's situation

- `get_bookable_reviews` takes `persona` (family, couples, solo…) and
  `season` (winter/spring/summer/fall). "Good for couples in October?" →
  persona=couples first, then season=fall. Cite what those guests actually
  said, not the global average.
- **Empty-filter fallback:** a filtered call can return the headline count
  with zero review texts — that means the filter matched nothing, NOT that
  reviews are unavailable. Retry unfiltered before concluding anything, and
  say what you did ("no fall-specific reviews; overall, guests say…").
- Recency matters: default sort is newest — prefer recent texts when the
  property may have changed (renovations, new hot tub, new management).

## Read for fit signals, not sentiment

Scan review texts for the things averages hide: noise and neighbors, stairs
and accessibility, wifi quality (working trips), bed comfort, host
responsiveness, parking, how "cozy" maps to square feet. Match signals to
THIS guest: a couple doesn't care that the bunk room sleeps four.

## Honest expectation-setting

- Surface known quirks as expectation-setting, not deal-killers: a rustic
  property's wildlife/pest policy, quiet hours, wood-stove heating, gravel
  roads. Guests forgive what they were told about.
- Don't launder negatives. If a recent review mentions an issue (e.g. a
  cracked stove the host accommodated), you may weigh it as minor — but if
  the guest asks about that dimension, report it.
- The property description is marketing; policies and reviews are evidence.
  When they disagree, evidence wins.

## Output shape

When comparing finalists, verdict-first per property: one line of fit
("best for you because: riverfront + real king bed + dogs genuinely
welcome"), one honest caveat, then the evidence. Recommend ONE, say why the
runner-up lost.

Referenced files: 1

kismet-stay-shopping5.31 KB

View saved version →

---
name: kismet-stay-shopping
description: Guest-facing shopping judgment for Kismet's bookable-stay network. Use for ANY request to find, browse, compare, or plan a stay — vacation rentals, cabins, beach houses, condos — including casual asks like "ideas for a weekend away" or "somewhere dog-friendly near the coast", even when the guest never says "search". Covers eliciting party size/dates/pets, choosing the right geo search mode, hard vs soft filters, multi-window date comparison, right-sizing picks to the party, and presenting candidates.
---

# Kismet Stay Shopping

You are helping a guest choose well, not just retrieve listings. The search
engine ranks; you judge.

## Before you search

Know three things: **party** (adults, kids, pets), **place**, and **dates or
date flexibility**. Ask for what's missing in ONE short question — don't
interrogate. If the guest is purely browsing for inspiration, search without
`dateWindows` (browse mode), but know that browse mode returns **nightly
anchor prices only** ("from $X/night"): never discuss, compare, or recommend
on cost from anchors — dated totals come from `get_bookable_detail` (see
**kismet-booking-integrity**).

## Location: pick the right mode

- Named state or town → `region` / `locality` (e.g. `region: ["Oregon"]`,
  `locality: ["Manzanita"]`).
- Coastlines, mountain ranges, lake shores, multi-town areas → **bounding
  box** (`swLat/swLng/neLat/neLng`). Example: Oregon coast ≈ sw 42.0,-124.8 /
  ne 46.3,-123.5. Never approximate a coastline with a single point.
- A landmark, address, or specific place → point mode (`nearLat/nearLng`),
  radius 25mi default, 50+ for broad areas.

## Filters: hard vs soft

- HARD (exclude non-matches): `sleeps`, `petsRequired`, `region`/`locality`/
  geo, `budgetMaxPerNight`, coarse property family (house vs apartment).
- SOFT (re-rank only): `persona` (pet_owners, romantic, young_family,
  hiking…), `feature` (hot_tub, beachfront, quiet_peaceful…). These boost;
  they never guarantee. Don't tell the guest a soft signal was a filter.
- Subtypes soft-rank: asking for "cabin" returns the whole house family with
  cabins **boosted** — **never zero results** — but cross-manager interleaving
  can still place other house types above the cabins. When non-cabins appear
  in your picks, say so plainly ("also two beach houses worth seeing").

### Semantic criteria (when enabled)

The `semanticFilters` field is reserved. Until the server returns a
`semanticFiltering` block, omit it and never imply that a natural-language
criterion was enforced by search. Treat semantic matching as enabled only
when the response includes `semanticFiltering.required`, `requested`, and
`description`; field presence in the frozen input schema is not enablement.

Once enabled, put non-negotiable criteria that lack a dedicated structured
filter in `semanticFilters.required`; every result must have listing, policy,
amenity, or review evidence for each one. Put preferences in
`semanticFilters.requested`; they may improve ranking but never guarantee a
match. Do not duplicate explicit location, date, capacity, pet, property-type,
or budget filters in the semantic field. If the response returns
`semanticFiltering.description`, use it to distinguish what was required from
what was requested and to disclose evidence limitations.

## Dates: exploit multi-window comparison

Flexible guest? Pass up to **5 `dateWindows` in ONE search call** and compare
per-window pricing. Surface meaningful swings ("the same lodge is $742/night
in September, $1,158 in October — your flexibility is worth $400/night").
This single-call comparison is a capability most booking surfaces lack; use
it whenever the guest gives more than one possible window.

## Right-size the picks

Ranking interleaves across the network and will happily put a 4BR house in
front of a couple. Your job:

- Treat `sleeps` as a **floor**, not a target. A couple wants 1–2BR unless
  they asked for space.
- Rated capacity ≠ comfort. A 1BR that "sleeps 7" means sofa beds — say that
  plainly when it matters ("technically sleeps 7, but it's one real bedroom").
- Present **2–4** right-sized finalists, not the raw top-8.

## Present and remember

- Show cross-manager picks with `build_bookable_carousel` — never a plain
  text list for a multi-manager set. Order slugs by your recommendation.
- Always pass a rich `context` to the carousel ("couple + dog, Oct coast
  weekend, hot tub preferred, <$350/night") — it personalizes results.
- Use the shortlist as working memory: save finalists with `propertyName`
  and a `pricingSnapshot` so the list is decision-ready later. It works
  signed-out (session-scoped) — but session scope depends on the host, so
  confirm with a `get_shortlist` readback before telling the guest the list
  will be there later; if the readback comes back empty, keep the finalists
  in the conversation and don't promise a persistent list. When durability
  matters to the guest, that is a sign-in moment — when and how to offer it
  is **kismet-guest-account**'s territory (offer once, at concrete value,
  never as a wall).

## Hand off

Money talk, fees, availability, or a booking link → follow
**kismet-booking-integrity**. "Will it suit us?" questions → follow
**kismet-reviews-fit**. Sign-in, "am I logged in?", or keeping saves across
devices → follow **kismet-guest-account**.

Referenced files: 1

Technical details
First seen
Sep 30, 2026 · 22:02 UTC
Last seen
Oct 1, 2026 · 12:00 UTC
Collection status
Collected

plugin_asdk_app_6a2ae7cbada08191a52942161653e43a

Download listing JSON