This paper focuses on flexible teamwork in dynamic and real-world multi-agent domains. Such teamwork is not simply a union of agents’ simultaneous execution of individual plans, even if such execution pre-coordinated. Indeed, uncertainties in complex, dynamic domains often obstruct pre-planned coordination, with a resultant breakdown in teamwork. The central hypothesis in this paper is that for durable teamwork, agents should be provided explicit team plans, which directly express a team’s joint activities. When agents execute such team plans, they abide by certain "commonsense" conventions of teamwork. Essentially, such conventions provide a deeper model of teamwork, facilitating flexible reasoning about coordination activities. Such a framework also frees the planner or the knowledge engineer from specifying very detailed low-level coordination plans. This framework has been implemented in the context of a real-world synthetic environment for helicopter-combat simulation.