I have a couple of chickens that I know have eaten their eggs at times because I'll find them with yellow spots on their feathers. But I've never caught them in the act and whenever I intend to (like separate them for a while or keep an extra eye on them) they don't eat the eggs. So I don't know whether they ate them because they already broke for instance. These are the two hungriest birds in the flock so if they are intentional egg eaters it wouldn't surprise me. I've tried all the advice for avoiding such behaviour (apart from roll away nest boxes) like fake eggs, curtains, extra protein, extra calcium and so on but I still found them with yellow spots yesterday and today they laid just fine. It just makes me so in doubt whether to cull them. My biggest concern is of course that they teach the other chickens this behaviour.