Instructions and context
Three things put words in front of the model:
| Component | Use it for |
|---|---|
<SystemPrompt> | Who the agent is, once, at the top of <Agent>. It stays the same for the whole call |
<Instruction> | What to do, such as “Ask for the policy number” |
<Text> or plain JSX text | Facts the model reads, such as what the policy covers |
Keep instructions and facts separate. Long documents go in context/ as Markdown, and a skill
renders one with <Text src="policy/coverage-basics.md" />. The file reaches the model in full
while its skill is loaded, so split documents by topic and put each in the skill that needs it.
Write several lines
Write a system prompt, instruction or text that runs over several lines as ONE template literal inside the component:
<Instruction>{`
Collect the caller's details before you promise anything.
## Order
- name
- phone number
- what happened
`}</Instruction>
Plain JSX text cannot carry that structure. The JSX transform joins JSX text
onto one line before Curb ever sees it, so paragraphs, ## headings and -
lists written as JSX text reach the model as one run-on sentence. curb check
warns about it (AGENT_PROSE_JSX_TEXT) and shows the template-literal rewrite.
The compiler removes the indentation all lines share and the blank lines at the
start and end, and keeps the rest: paragraphs, headings, lists, line breaks and
${...} values. That holds in <SystemPrompt>, <Instruction> and <Text>,
inline <Skill> links included. Text that fits on one line, JSX or string,
compiles exactly as before.
The model gets the system prompt as written. In its context each multi-line instruction or text stays one entry, with its continuation lines indented under it:
instruction: Collect the caller's details before you promise anything.
## Order
- name
- phone number
- what happened
The preview shows the same text formatted, headings and lists included. Keep a block in one literal: a one-line text written next to it becomes a paragraph of its own.
Next steps
- Voice: choose how the agent hears and speaks.