What are acceptance criteria?
Acceptance criteria list what requirements a deliverable must fulfill in order to be accepted by the Product owner. They are set by him before stories are planned into a sprint and then are verified in the Review meeting at the end..
Why use them
To prevent ugly surprises and leave room for creativity.
If a task like "Fry that steak" is executed without further definition, this can result in unwanted deliverables - e.g. a burnt steak or one that is too rare for the Product owner's taste.
The risk could be eliminated by specifying in detail the steps necessary to fry the steak, but that would mean not taking advantage of the good ideas the team may bring to the task, potentially frustrating them. It also means a lot of effort and time will be spent specifying the product. And in the worst case the requirements are too detailed and have unwanted side effects if e.g. the supplier changes.
So the acceptance criteria should just list what are the conditions under which the Product owner is willing to accept the steak. E.g. dark but not black on the outside, juicy and just about well-done all through. If the Steak is for someone with a peanut allergy, specify it must not contain traces of peanut, so that the team picks the right oil.
This way the team can still make decisions about finding the best temperature, the right oil etc.
What should be covered?
As shown in the example, cover only the parts that matter to the result. Do not try to draw the entire path.