| Agent repeats the same question verbatim | Add Zero-Loop Policy. Rephrase and shorten on each re-ask. |
| Agent treats “hmm”, “accha” as agreement | Add Fillers rule to Interaction Guidelines. |
| Agent rushes through multiple steps | Add “Stop and wait” after branching questions. |
| Agent argues with hostile customers | Add Hostile Callers guardrail. Acknowledge, don’t defend. |
| Agent ends call without checking if there’s anything else | Add “Before Closing” guardrail. Always ask one last time. |
| Variables are undefined when referenced | Guard every variable reference. “If [[ variable ]] is set and equals X…” |
| Conditions are vague | Be descriptive. “If user agrees to pay today” not “if user says yes”. |
| Too many states created | Target 2–3. Create a state only if agent must hear from user before proceeding. |
| Voicemail message includes sensitive details | Keep voicemail generic: name, org, purpose, callback number only. |
| Tool is called before its response matters | Sequence: Call tool first. Only after response, act on it. |
| Agent gives up too quickly | Use nudge pattern. Acknowledge → Reframe → Offer alternative → Close gracefully. |
| Instructions are too prescriptive | Write behavioral intent, not exact scripts. Let agent find the words. |
| Variable naming is inconsistent | Use lowercase with underscores: callback_time, not callbackTime or Callback Time. |
| Guardrails are vague | Be explicit. “Never argue” → “Acknowledge, do not argue, move to escalation state.” |
| Edge cases are discovered after launch | List top 5 edge cases before writing prompts. |