At any point in time, skills gaps, mismatches, and shortages arise because of an imperfect correspondence between the singular sets of skills required by different open vacancies and the unique combinations of capabilities embodied in every job seeker - skills diversity in unity. This paper first constructs an abstract framework for defining and thinking about these phenomena in a unified, formal and objective way. The main building block is a discrete skills space in which the locations of vacancies and workers are determined by the vectors of skills characterizing them. We define skills gaps and mismatches as two different distance measures between them, and derive a condition for each vacancy that determines whether or not it experiences a skills shortage. We then develop a job matching model with imperfect information, in which skills mismatches influence the job application decisions of the workers, while skills gaps and shortages shape the competition for workers on the resulting bipartite job applications network. The tools proposed in this paper could in future work be employed as the main ingredients of an agent-based model used to investigate how skills gaps, mismatches and shortages affect equilibrium outcomes in the context of skills diversity in unity and imperfect information.