Prompt library

A chatbot with one job

IntermediateChatbot

A chat with a system prompt, a short history, and an answer for questions outside the job.

When to use it

Use it for an assistant for one business or one game, with a closed scope. For tools, MCP, and actions in the world, use the agent prompt.

Variables

[BOT_NAME][JOB][KNOWLEDGE][REFUSALS][MODEL_PROVIDER][STACK]

Copy prompt

Build a chatbot named [BOT_NAME] in [STACK], using [MODEL_PROVIDER].

Job, in one sentence: [JOB]
Knowledge it is allowed to state: [KNOWLEDGE]
Questions it must refuse or redirect: [REFUSALS]

Product
- One chat screen: message list, field, send button, a "typing" state, an error with retry.
- The [MODEL_PROVIDER] key stays on the server or the stack's proxy. Not in the browser bundle. If the stack is front-end only, stop and say so instead of hiding the key in a public file.
- A fixed system prompt, in code, containing [JOB], [KNOWLEDGE], and [REFUSALS]. The user does not edit that prompt from the UI.
- Send only the last 8 turns, plus the system prompt. Do not send an infinite history.
- If the answer depends on a fact that is not in [KNOWLEDGE], the bot says it does not know and does not fill the gap with an invention. It may ask for the fact.
- [REFUSALS] gets a short reply that offers to return to [JOB]. No lecture.
- Stream if [MODEL_PROVIDER] already supports it in this stack. Otherwise send the whole reply. Do not add a library only for that.

Do not
- Do not add web browsing, a vector database, or tools. That is a different prompt.
- Do not log conversation content in production unless I ask. Log status and latency.

Deliver: where the key lives, the system prompt, and four tests (a question covered by KNOWLEDGE, a question outside it, a REFUSALS item, a network error).

How to run this prompt

  1. Write the job. One sentence. 'Help with anything' does not count.
  2. Paste the knowledge. Hours, prices, game rules. What is not there cannot be stated as fact.
  3. Test the refusal. Ask something from REFUSALS and see if it stays in character.

Where this breaks

Without KNOWLEDGE, the bot invents a return policy and a price. The prompt says to cite only what is in that field and to mark everything else as unknown.

Result

Slot for a screenshot or demo. No result is published yet.