The way you write AIP instructions directly impacts how Cevro handles conversations. Clear, explicit instructions lead to consistent behavior. Vague instructions lead to inconsistent results.Documentation Index
Fetch the complete documentation index at: https://setup.cevro.ai/llms.txt
Use this file to discover all available pages before exploring further.
Be Explicit About Data
Don’t assume Cevro knows what values mean. Spell it out: Vague:Include Decision Branches
Real conversations branch. Your instructions should too:Define When to Escalate
Don’t leave escalation to chance. Be specific:Use Separators for Sections
When instructions get long, use--- to separate distinct sections:
Provide Examples for Ambiguous Cases
When a concept could be misinterpreted, show an example:Mark Critical Instructions
Use “IMPORTANT:” to highlight must-follow rules:Structure Rules as Numbered Steps
When you need the AI to follow a specific sequence — such as a greeting format, a verification flow, or a multi-step process — use numbered steps instead of prose paragraphs. The AI follows structured instructions more reliably. Prose (less reliable):Use “Never” Constraints
Telling the AI what not to do is often more effective than telling it what to do. “Never skip this step” is followed more reliably than “always include this step.” Soft (the AI sometimes ignores it):Put the Common Case First
When writing conditional instructions, lead with the scenario that happens most often. If the special case comes first and its condition is not met, the AI may skip the entire rule — including the default. Conditional-first (unreliable):Writing the Description
The description is the single most important field on an AIP. It’s what Cevro reads to decide which AIP to use for a given player message — and if the description is vague or overlaps with another AIP’s description, Cevro may pick the wrong one. Workflow text doesn’t help when the wrong AIP gets picked: the procedure for the right AIP never even runs. A good description has three parts:1. What the player is asking — in their language
Lead with what the player is asking or experiencing, in active voice, in the words a player would actually use. Vague:2. “Do not use for X” — when other AIPs cover related topics
When your workspace has multiple AIPs covering related topics — e.g., “withdrawal status” and “withdrawal cancellation,” or “missing deposit” and “missing bonus” — be explicit about which scenarios this AIP does not handle. Without exclusions:3. State or timing boundary — when relevant
If two AIPs cover the same topic at different points in a flow (e.g., a withdrawal that’s still pending vs. one that’s already approved), name the player’s state in the description.Length
25-45 words is the sweet spot. Below 15 words usually means the description is too vague to disambiguate. Above 60 words usually means you’re putting instructions in the description field — that content belongs in the Instructions field instead.Anti-patterns
These are description shapes that look reasonable but break Cevro’s classification in practice:- Category names dressed as descriptions — “Bonus questions,” “Verification stuff.” Folder labels, not routing targets.
- Identical descriptions on two AIPs — if two AIPs have descriptions that match the same player message, Cevro can’t pick correctly. Pick one or differentiate them.
- Description used as a data store — calendar dates, schedule notes, links. The description is meant to describe player intent; nothing in it can be acted on as data.
- Catch-all expansions — “…or any issues with X in general.” This destroys scope and makes the AIP overlap every sibling.
- Operator framing — “When the customer was asking…” or “AIP handles…” Use active player-state voice instead: “Player is asking…” or “Player who has…”
Sibling check
Before publishing, read your new description back-to-back with the descriptions of other AIPs in the same topic area. If you can’t articulate which player message each one would match — neither can Cevro. Refine before publishing.Pick the Right Shape for the AIP
Different AIPs need different scaffolding. Reach for the lightest shape that holds.Plain numbered procedure (the default)
Most AIPs are top-to-bottom procedures with light branching. Use a numbered list at the top level, sub-bullets for sub-conditions:Multi-phase procedure
When each step is a substantial named phase (context gathering, verification, decision), use named headers with em-dash titles:Scenario blocks
When the player can be in one of several mutually-exclusive states (active bonus / completed bonus / cancelled bonus), use scenario blocks instead of a long IF chain:Rules preamble
For tone-of-voice or compliance-critical AIPs, lead with a Rules block of universal caveats that hold across every branch:Don’t
- Don’t use
## NUMBERED HEADINGSin instructions — plain numbered lists work better. - Don’t put example player phrasings inside
instructions— they belong in the AIP’sexampleUtterancesfield. - Don’t run numbered steps together — every step needs its own line.
5.If a comment says...immediately after4.If a system...is unparseable.
Test and Iterate
- Save your AIP (draft mode)
- Test in the Preview widget or Playground
- Review how Cevro interprets your instructions
- Refine based on actual behavior
Related Documentation
- AI Procedures (AIPs) — Creating and structuring AIPs
- Player Context & Actions — Using data and operations
- Testing AIPs — Verifying your instructions