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
Skill instructions
kismet-booking-integrity4.63 KB
---
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
---
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
---
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
---
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