Executable, decision-gated campaign for the project's hardest live problem (as of 2026-07-07) — improving answer quality and the conversion of chats into advisor appointments. Load this when asked to "improve conversion", "get more bookings", "improve answer quality", "measure the funnel", "check the overhaul defects", "tune the booking widget", or to plan any prompt/UX change whose goal is more advisor appointments. Do NOT load for bug triage (hsg-rag-debugging-playbook) or for running tests as such (hsg-rag-validation-and-qa).
Domain knowledge pack for the HSG Executive MBA advisory chatbot. Load this when a task touches programme facts (EMBA HSG / IEMBA HSG / emba X), tuition or deadline logic, advisors and Calendly booking, the admissions/conversion funnel and its structured-response flags (appointment_requested, show_booking_widget, relevant_programs), language/naming rules (bare "EMBA", British English, "HSG" usage), positioning and tone rules, or GDPR-relevant data flows (consent, user profiles, log masking, US processing). Also load it before editing prompts, response schemas, or any test that asserts programme facts.
Load-bearing design decisions, system invariants, and known weak points of the HSG_RAG chatbot. Load BEFORE changing anything in src/rag/ or src/apps/chat/, before adding caching/sub-agents/routers/new LLM roles, when asking "why is there no X here", when tracing the request path end to end, or when a change might violate an invariant (fact contamination, consent gate, streaming, log redaction). Explains WHY the architecture is shaped this way so you don't reintroduce a removed failure.
How changes are classified, gated, reviewed, and rolled back in the HSG_RAG repo. Load BEFORE editing any file, opening a PR, merging, deploying, adding a dependency, or touching programme_facts.json, prompts, workflows, or the Caddyfile. Also covers the non-negotiable rules (with the incidents behind them), the sanctioned alert-chain test, and the production rollback protocol.
Symptom-to-triage playbook for diagnosing WHY something in the HSG RAG chatbot is broken or slow. Load when you need to find the cause of — slow answers, missing token streaming, error messages instead of answers ("Es tut mir leid, ich kann im Moment keine hilfreiche Antwort geben"), wrong programme prices, the booking widget never shows/appears, bot unreachable, blank iframe, empty PDF extraction in the facts pipeline, flaky LLM-judge tests, container start problems, or confusing log lines like "empty response" / "falling back to blocking invoke". Contains discriminating experiments with exact commands and the historical trap behind each failure mode. (To MEASURE current state with scripts — health, latency numbers, counts — use hsg-rag-diagnostics-and-tooling instead.)
Run, deploy, and operate the HSG_RAG chatbot. Load this skill when you need to: start the app locally (main.py flags), understand the production topology (Hetzner host, Docker container, Caddy), deploy a change (merge = deploy), trigger or observe a deployment, roll back a bad deploy, change the Caddyfile (TLS/CSP), check the scheduled GitHub Actions (nightly facts update, weekly scrape), or read/interpret the production logs. Triggers: "run the app", "deploy", "rollback", "production", "server", "container", "Caddy", "logs", "health check", "cron", "scheduled workflow", "start the bot".
How to communicate with the four external parties this project depends on — HSG-IT (DNS/zone changes), the EMBA web team (WordPress iframe embedding), the Datenschutzbeauftragte:r (GDPR sign-off), and advisors/EMBA marketing (contact/Calendly changes). Load when drafting a request to any of these parties, when the user says "schreib eine E-Mail an IT/Webteam/DSB", when an iframe embed fails on the target page, when DNS/CAA records are needed, when advisor contact data must change, or when deciding WHO must be contacted for a given failure. Contains proven German templates.
The chronicle of every major HSG_RAG failure, dead end, rejected fix, and revert — response cache saga, June 2026 latency/hallucination overhaul, regex fact router, sub-agent removal, Weaviate 404 outage, HF Space era, streaming bugs, judge flakiness, dead branches. Load this BEFORE proposing a caching layer, sub-agents, regex fact extraction, model swaps, or any "why don't we just…" idea; before investigating a bug that smells historical; before resurrecting code from an old branch; or when asked "has this been tried before?". Prevents re-fighting settled battles.