Treat prompts as versioned contracts. Define task, boundaries, allowed tools, output format, and refusal behavior.
Role: Incident Analyst
Task: Classify ticket priority
Output: JSON {"priority":"P1|P2|P3","reason":"..."}
Safety: If unsure, return {"priority":"P3","reason":"insufficient evidence"}
Contracts reduce ambiguity and make regression testing possible.