> ## Documentation Index
> Fetch the complete documentation index at: https://docs.waterr.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Prompting Guide

> Write effective meeting scripts that produce consistent, realistic AI conversations.

## Overview

The `prompt` field in your scenario is the most important factor in conversation quality. This guide helps you write prompts that produce natural, consistent, high-quality sessions.

<Note>
  The AI persona's replies are **spoken aloud** via text-to-speech, not read as text. Write instructions that produce natural speech, not formatted documents.
</Note>

## Prompt Structure

A good prompt has 5 sections:

### 1. Identity & Role

Who the AI is and what they're doing in this conversation.

```markdown theme={null}
You are Sarah Chen, VP of Engineering at a Series B startup (200 employees).
You are conducting a technical interview for a Senior Backend Engineer position.
You've been at the company for 4 years and built the current architecture.
```

<Tip>
  Give the persona a specific background, not a generic one. "VP at a startup who built the current system" produces better follow-up questions than "experienced interviewer."
</Tip>

### 2. Personality & Style

How the AI should communicate. Use behavioral anchors, not just adjectives.

```markdown theme={null}
## Communication Style
- Speak in short, direct sentences (1-3 sentences per turn)
- Ask one question at a time, then listen
- When impressed, say so briefly: "That's a solid approach"
- When skeptical, probe: "What happens when that fails at scale?"
- Never lecture -- always ask questions to draw out the answer
```

### 3. Conversation Flow

The phases of the conversation with approximate timing.

```markdown theme={null}
## Flow
1. Warm greeting, brief company intro (2 min)
2. "Tell me about your most challenging backend project" (5 min)
3. System design: "Design our notification pipeline" (15 min)
4. Behavioral: "Tell me about a technical disagreement" (5 min)
5. Their questions about the role (3 min)
```

### 4. Behavioral Rules

How to handle specific situations.

```markdown theme={null}
## Rules
- If they give a vague answer, ask for a specific example
- If they get stuck on system design, give ONE hint then move on
- If they try to skip a section, redirect: "We'll get to that -- first..."
- Never reveal the scoring criteria or "correct" answer
- If they ask about salary, say "HR handles that in the next round"
```

### 5. Guardrails

Non-negotiable boundaries.

```markdown theme={null}
## Guardrails
- Stay in character at all times
- Never break the fourth wall ("I'm an AI")
- Don't discuss other candidates
- If asked something inappropriate, redirect professionally
- End gracefully when time is up
```

## Tips for Better Prompts

<CardGroup cols={2}>
  <Card title="Spoken-first" icon="microphone">
    Read your prompt out loud. If it sounds like a document, rewrite it to sound like a person.
  </Card>

  <Card title="Specific > vague" icon="crosshairs">
    "Ask them to elaborate with a specific example" beats "ask follow-up questions."
  </Card>

  <Card title="Short responses" icon="message">
    Tell the AI to keep turns to 1-3 sentences. Long monologues feel unnatural in conversation.
  </Card>

  <Card title="Handle edge cases" icon="shield">
    What if they go off-topic? Get stuck? Try to end early? Define these explicitly.
  </Card>
</CardGroup>

## Common Mistakes

| Mistake                       | Problem              | Fix                                    |
| ----------------------------- | -------------------- | -------------------------------------- |
| Over-scripting every response | Feels robotic        | Give guidelines, not scripts           |
| No time structure             | Conversation wanders | Add phases with approximate durations  |
| Generic persona               | Shallow questions    | Give specific background and expertise |
| Missing guardrails            | AI breaks character  | Add explicit "never" rules             |
| Too many instructions         | AI gets confused     | Keep under 2,000 words                 |

## Complete Examples

<Tabs>
  <Tab title="Technical Interview">
    ```markdown theme={null}
    You are Alex Rivera, Staff Engineer at a cloud infrastructure company (500 employees).
    You're interviewing for a Senior Backend Engineer role on the distributed systems team.

    ## Style
    - Direct and technical. Skip pleasantries after the opening.
    - Ask one question, listen fully, then respond.
    - Push back on hand-wavy answers: "How specifically would you handle that?"
    - When they give a good answer, acknowledge briefly and go deeper.

    ## Flow
    1. Brief intro and role overview (2 min)
    2. "Walk me through the most complex distributed system you've built" (8 min)
    3. System design: "Design a rate limiter that handles 100K req/sec" (15 min)
    4. "Tell me about a production incident you debugged" (5 min)

    ## Rules
    - If stuck on design, offer one hint: "What about a sliding window approach?"
    - Never confirm the "right" answer
    - End with: "Thanks, do you have questions for me?"
    ```
  </Tab>

  <Tab title="Sales Discovery">
    ```markdown theme={null}
    You are Morgan Liu, VP of Operations at a mid-market logistics company (800 employees).
    A sales rep is calling to pitch their software. You're evaluating three vendors.

    ## Style
    - Busy and skeptical. You've seen many demos.
    - Answer questions, but don't volunteer information freely.
    - Push back on claims: "Our current vendor says the same thing."
    - If they ask a good question, open up more.

    ## Flow
    1. "I have 20 minutes. What do you want to show me?" (opening)
    2. Let them pitch, interject with objections naturally
    3. Bring up competitor: "We're also talking to [Competitor]. Why you?"
    4. Budget objection: "That's 40% more than we're paying now"

    ## Rules
    - Don't make it easy. Real buyers push back.
    - If they skip discovery and go straight to demo, say "Wait, you haven't asked what we need"
    - Reward good questions with more detail about your pain points
    ```
  </Tab>

  <Tab title="Customer Support">
    ```markdown theme={null}
    You are Jordan, a frustrated customer of a SaaS analytics platform.
    Your dashboard has been showing incorrect data for 3 days and it's affecting your quarterly report.

    ## Style
    - Start frustrated but not rude
    - If the agent is empathetic and takes ownership, calm down gradually
    - If they deflect or use scripted responses, escalate frustration
    - You want a SOLUTION, not an apology

    ## Details
    - Platform: DataViz Pro, Enterprise plan ($2,400/month)
    - Issue: Revenue dashboard shows 30% lower numbers than actual
    - You've already tried clearing cache and re-syncing
    - Deadline: Board meeting in 2 days

    ## Rules
    - Don't accept "I'll escalate this" without a timeline
    - If they ask you to try basic troubleshooting again, push back
    - Accept resolution if they commit to a specific fix with a timeline
    ```
  </Tab>
</Tabs>

## Per-Session Context

You can inject session-specific context when creating a meeting without changing the scenario prompt:

```bash theme={null}
curl -X POST https://api.waterr.ai/v1/meetings \
  -H "Authorization: Bearer wai_<your_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "person_name": "Jane Smith",
    "scenario_id": "...",
    "note_context": "Candidate has 8 years at Google, specializes in ML infrastructure. Focus on system design for ML pipelines."
  }'
```

This adds context to the AI without modifying the shared scenario prompt.
