Building a correct schema is engineering. Writing the description the LLM actually understands is the art. And it's where almost everyone fails.
We give you the schema for the file_incident_report tool ready-made on the right. Your job: only the description.
The model has no context about your system. It doesn't know:
file_incident_report actually opens a ticket (that someone will have to close) or just logs something.Each of those ambiguities costs you noise in production: false tickets, oncalls paged for no reason, or the opposite. real incidents that the model "answered" without filing.
severity levels well, add a guide: "Mark critical only when there's immediate safety risk."The validator looks for three key phrases that show the description has what it needs:
You don't need to use those exact phrases. the validator is lenient with close synonyms. But the three ideas have to be there.
A good tool description reads like this: three sentences. One says what it does. One says when to use it. One says when not to.