It is well recognized that Agent Communication Languages (ACL’s) are critical elements of Multi-Agent Systems and a key to their successful application in commerce and industry. The established field ofprotocol engineering, which concerns itself with how to specify machine communication languages and protocols, verify their properties and validate implementations thereof, has developed powerful, theoretical and practical techniques for doing so, and a mature understanding of the essential requirements that such specifications should meet. Regrettably, this body of knowledge and practice appears to have had little influence on recently proposed ACL standards. For example, the latest ACL specifications proposed by the Foundation for Intelligent Physical Agents (FIPA) are a confusing mix of different formal and informal specification techniques whose net result is ambiguous, inconsistent and under-specified. Allowances must be made, as these are still draft specifications, but rather than providing a verified foundation for reliable communication between heterogeneous agents, they run the risk of leading to unreliable or incompatible implementations, or of being ignored in favour of more pragmatic and robust approaches. In this paper, we propose a set of basic requirements which an ACL specification should meet, describe how the FIFA ACL measures up against these, and contrast its features with those of a small ACL which was designed with reliability and ease of verification as prime objectives.