A ghost over a finite group G is a map between modular representations of G which is invisible in Tate cohomology. Motivated by the failure of the generating hypothesis---the statement that ghosts between finite-dimensional G-representations factor through a projective---we define the compact ghost number of kG to be the smallest integer l such that the composition of any l ghosts between finite-dimensional G-representations factors through a projective. In this paper we study ghosts and the compact ghost numbers of p-groups. We begin by showing that a weaker version of the generating hypothesis, where the target of the ghost is fixed to be the trivial representation k, holds for all p-groups. We do this by proving that a map between finite-dimensional G-representations is a ghost if and only if it is a dual ghost. We then compute the compact ghost numbers of all cyclic p-groups and all abelian 2-groups with C_2 as a summand. We obtain bounds on the compact ghost numbers for abelian p-groups and for all 2-groups which have a cyclic subgroup of index 2. Using these bounds we determine the finite abelian groups which have compact ghost number at most 2. Finally, using universal ghosts, we establish various sets of conditions which guarantee the existence of a non-trivial ghost out of a G-representation. Our methods involve techniques from group theory, representation theory, triangulated category theory, and constructions motivated from homotopy theory.