This document provides tips for writing good Chef cookbooks. It recommends putting control flow in attributes, separating recipes by platform, avoiding repetition by using LWRPs, keeping recipes small, using community helpers, and testing code. It also advises being declarative, avoiding poking Chef internals, using native Ruby types, and learning from software developers' best practices.