The mammalian primary motor cortex (M1) is positioned upstream of spinal motor circuits, and its output drives movement execution. While traditional electrophysiological techniques have developed our understanding of neural coding in motor cortex, they lack the ability to resolve fine-grained spatiotemporal patterns of neuronal ensemble activity. Here, we investigated how two diametrically opposite movements are encoded in the main output layer of M1 - Layer 5B (L5B) - by performing in vivo population calcium imaging while mice repeatedly performed a cued forelimb push-pull task. A prerequisite for recording the neural correlates of behaviour in M1 L5B is knowing the exact depth of L5B from the pial surface and development of a robust behavioural paradigm to assess cortical control of skilled movements. To achieve these aims, we first defined the upper boundary of L5B in forelimb M1 (M1FL) of male C57BL/6JCrl mice by using conventional retrograde tracing techniques and post hoc histological analysis. Second, we designed and implemented a novel cued forelimb behavioural paradigm where water-controlled mice were trained to alternate push and pull lever actions upon presentation of a 6 kHz auditory cue. Mice rapidly learned to perform the task with ~84% of mice achieving 'expert' status within 10 ± 3 days (SD). To characterise the spatiotemporal activity patterns of L5B neurons in M1FL during task engagement, we expressed GCaMP6s in deep layer neurons and recorded population activity during bidirectional movements. We found that subpopulations of L5B neurons displayed task-related fluorescence changes consistent with roles in motor control. Moreover, ~20% of L5B neurons displayed differences in peak fluorescence changes during movements in one direction over the other (i.e. push trial vs pull trial). To quantify these changes, we created a dissimilarity index (DI) to investigate how neuronal DI was distributed across our imaging fields of view. Parallel calcium imaging experiments were conducted in layer 2/3 (L2/3) of M1FL which provides significant feedforward excitatory input to L5B. We found that ~20% of L2/3 neurons also exhibited significant differences between push- and pull-related activity, indicating that direction-specific motor activity is not only present in L5B but is present in upper layers of M1. To investigate if we could decode movement direction from population activity recorded during task execution, we trained linear support vector machines (LSVMs) using the movement-related population data, then evaluated them via k-fold cross-validation. We found that LSVMs could successfully decode action type (i.e. push or pull trial) when applied to both L5B and L2/3 fields of view, validating our hypothesis that different movement types are encoded at the level of M1FL population activity. Moreover, LSVMs trained using a subpopulation of neurons with significant DIs were able to decode movement direction more effectively, indicating that movement type can be readout from the activity of relatively few neurons in M1FL. In summary, we performed population calcium imaging in mouse M1FL, and found subpopulations of neurons, both in L2/3 and L5B, which encode movement direction by differentially modulating their activity levels during the execution of diametrically opposing forelimb movements. This activity could be successfully decoded to predict movement direction via machine learning, suggesting that mice are suitable models for studying the decoding of directional motor control.