Describe the job in a way another person could run.
Give each case a clear input, starting state, goal, allowed tools, constraints, and success criteria. Draw from the work people actually want the agent to do; include ordinary cases, edge cases, and failures that have already appeared.
For a coding agent, “fix the bug” is not enough. Specify the repository state, the behavior that is wrong, what a valid fix must do, and what must remain untouched. An evaluation task should test the product’s promise, not a vague impression that the agent seemed helpful.
