← Files VapiARCHIVED FILE

skills/vapi-prompt-builder/references/review-checklist.md

7.32 KB · Oct 4, 2026 · 12:32 UTC

↓ Download file

# Review Checklist

Use this checklist before returning a final prompt, audit, or substantial rewrite.

## Required Prompt Structure

- Identity and purpose define the agent's name, role, company, and job.
- Deployment shape is explicit: single assistant or Squad.
- Personality explains tone and speaking style without encouraging long monologues.
- Response guidelines enforce one question at a time and short spoken turns.
- Guardrails define scope, safety limits, prompt protection, and escalation.
- Context includes runtime data and Vapi dynamic variables where useful.
- Workflow covers the main intents in a clear order.
- In-prompt examples cover a happy path, an edge case, and error recovery for complete workflows.
- External test scenarios are separated from in-prompt examples.

## Prompt Formatting

- Sections use clear headings when they improve maintainability.
- Rules are compact, operational, and easy for the model to parse.
- Dense paragraphs are split into bullets, numbered workflow steps, or transcript examples.
- Each bullet or step carries one instruction or branch.
- The prompt distinguishes markdown used for system-prompt structure from markdown the agent must not speak aloud.

## Squad Structure

- Squad outputs are split into member prompts instead of one giant prompt.
- The entry assistant and each specialist have clear ownership boundaries.
- Handoff triggers, destinations, required context, and fallback behavior are explicit.
- Assistant and squad destination types are clear: saved assistant, assistant name in same squad, saved squad, transient squad, or dynamic destination.
- Handoff Tool configuration matches the model provider: separate handoff tools per destination for OpenAI when possible, single multi-destination tool for Anthropic when appropriate.
- Shared guardrails are not needlessly duplicated into every specialist prompt.
- Context preservation requirements include the chosen context-passing method and `contextEngineeringPlan` when needed.
- Silent handoffs have empty/null tool messages and destination prompts that skip greetings; announced handoffs have caller-facing transition messages.
- Per-assistant examples show both normal workflow behavior and handoff behavior.
- Handoff destinations and handoff argument schemas are confirmed or listed as configuration needed.

## Voice Suitability

- Caller-facing language sounds natural when spoken aloud.
- Dates, numbers, money, phone numbers, emails, and URLs are handled in spoken form.
- The agent does not output markdown, bullets, or visual formatting during calls.
- The agent acknowledges slow operations without creating dead air.
- The agent handles interruptions, silence, unclear speech, and caller corrections.
- Human-feel guidance is present and calibrated to the use case.
- Warmth, pacing, repair language, and caller energy handling are appropriate for the domain.
- Rapport, banter, laughter, and disfluency are included only when they fit the persona and risk profile.

## Tool Reliability

- Tool instructions describe capability rather than resource IDs.
- Each tool has a clear call condition and non-call condition.
- Required parameters and formats are explicit.
- Tool failure, no-result, and multi-result behavior are defined.
- In-prompt examples show tool calls and representative tool outcomes when tools are central to the workflow.
- Transfer and end-call tools have explicit usage conditions.
- Handoff tools have clear destination descriptions, required parameters, rejection/fallback behavior, and tool-message expectations.
- Prompt text does not duplicate large tool descriptions unnecessarily.
- Tool schemas, enum values, required parameters, and server/code implementation details are not invented.

## Identifier Hygiene

- Exact tool names appear only in `Tool Call:` examples, schemas, configuration notes, or Query Tool instructions that need the actual search function name.
- Caller-facing prose describes tools by capability, not by resource ID, slug, or snake_case name.
- Final prompts do not contain unresolved placeholders such as `the_tool_name`, `tool_name`, `api_call`, or `[param: value]`.
- Enum values and parameter names are translated into natural language in spoken assistant lines.
- When the exact tool name is unknown, the output asks for it or lists it as a configuration need instead of inventing a placeholder.

## Capability Grounding

- Every input has a clear source: spoken caller answer, runtime context, visible tool result, or backend-owned record.
- Every artifact-dependent workflow explains how the backend already has or will obtain the artifact.
- Phone-call examples do not imply upload, attachment, screen inspection, browser interaction, or file reading unless a configured tool provides it.
- Caller-mentioned files or documents are treated as references until tool/backend access is confirmed.
- Async work is described as backend-owned processing started by a tool, not as something the voice agent personally does during the call.
- Unsupported capabilities are removed, narrowed, or listed as configuration questions instead of silently carried into the prompt.

## Security and Compliance

- The prompt does not treat the model as a security boundary.
- Verified identity, permissions, and sensitive values are handled server-side.
- Trusted values are not placed in prompt text, `function.parameters`, body schema defaults, handoff arguments, or conversation-derived variables.
- Server-trusted values use Vapi top-level static `parameters`, validated call-start variables, or backend-owned state when a tool needs them.
- Caller-spoken and LLM-derived values are treated as claims, routing hints, or summaries, not as authentication or authorization facts.
- The agent never fabricates prices, policies, availability, account status, or internal details.
- The agent avoids medical, legal, financial, or safety advice unless explicitly configured and appropriate.
- Sensitive data collection is limited and explicit.
- Tool responses do not expose secrets, auth tokens, hidden internal fields, or sensitive values the model does not need.
- Variable extraction aliases are not treated as redaction or as a security boundary unless the source value is server-trusted.
- Prompt extraction attempts are handled without revealing instructions.
- Safety-sensitive business policy is confirmed or listed as a blocking question/configuration need.

## Information Collection

- The agent asks for one field at a time.
- The agent does not ask for information already provided or available in context.
- The agent knows when to spell back names, emails, or critical details.
- Confirmation strategy matches the task: read-back for critical fields, lighter acknowledgment for soft intake.
- Incremental data capture is specified when tools should record fields as they arrive.

## Final Output

- The prompt is lean enough for production use.
- The final prompt does not contain long explanatory paragraphs in each section.
- Assumptions are explicit but separate from the final prompt.
- Configuration recommendations are separated from prompt text.
- Deployment-critical missing inputs are listed as `Configuration needed` or `Blocking questions`.
- Skill-defined checks are not presented as official Vapi terminology.
- The final prompt includes compact examples when they are needed for predictable model behavior.
- External test scenarios include realistic success, edge, and failure cases.

SHA-256: de10f754dbdb8c2f0c63eac05f88ab782b175ca25907dc9e72227d448f5711c2