chatbot
Ship the bot that lives on the website
This skill owns the bot that sits on a public site 24/7, answers support or sales questions, deflects what it safely can, and hands off cleanly what it can't. Four parts and nothing else: its persona (system prompt), its grounding (what it's allowed to know), its guardrails (what it must never say or do), and its handoff (when and how it gives up to a human). The retrieval engine under it is ../building-agents/SKILL.md; the human who picks up the escalation is ../customer-support/SKILL.md. You are productizing a bot, not engineering an agent and not working a ticket.
Not here: the agent loop, tool schemas and eval harness → ../building-agents/SKILL.md (and rag for the index half: chunking, embeddings, rerank); one live ticket answered by a human — triage, SLA, macros → ../customer-support/SKILL.md; prompt wording in the abstract → prompt-engineering; general LLM abuse taxonomy beyond the public-bot case → agent-safety; the golden-set eval as an engineering artifact → agent-eval; win-back/renewal → ../retention/SKILL.md; new-customer welcome → ../client-onboarding/SKILL.md; generic automation wiring → ../automation-flows/SKILL.md; WhatsApp/Telegram channel plumbing → ../whatsapp-telegram/SKILL.md.
The one rule
The bot may state only what it can cite (from approved KB) or confirm (a fact it was given). Everything else is "Let me connect you to a human." Grounded-or-handoff. It never improvises a price, a policy, a refund, or a promise.
Why: a hallucinated answer is a binding answer. Air Canada's bot invented a bereavement-refund policy; a tribunal held the airline liable for what the bot said (multiple 2025 retrospectives, accessed 2026-06-02). The bot speaks for the company in court, so cap what it's allowed to invent at zero.
The four layers (the spine)
Build and review the bot in this order. Each layer assumes the one above it holds.