In the area of agent-based computing there are many proposals for specific system architectures, and a number of proposals for general approaches to building agents. As yet, however, there are comparatively few attempts to relate these together, and even fewer attempts to provide methodologies which relate designs to architectures and then to executable agents. This paper provides a first attempt to address this shortcoming. We propose a general method of specifying logic-based agents, which is based on the use of multi-context systems, and give examples of its use. The resulting specifications can be directly executed, and we discuss an implementation which makes this direct execution possible.