  We introduce a high-level graphical framework for designing and analysing
quantum error correcting codes, centred on what we term the coherent parity
check (CPC). The graphical formulation is based on the diagrammatic tools of
the zx-calculus of quantum observables. The resulting framework leads to a
construction for stabilizer codes that allows us to design and verify a broad
range of quantum codes based on classical ones, and that gives a means of
discovering large classes of codes using both analytical and numerical methods.
We focus in particular on the smaller codes that will be the first used by
near-term devices. We show how CSS codes form a subset of CPC codes and, more
generally, how to compute stabilizers for a CPC code. As an explicit example of
this framework, we give a method for turning almost any pair of classical
[n,k,3] codes into a [[2n - k + 2, k, 3]] CPC code. Further, we give a simple
technique for machine search which yields thousands of potential codes, and
demonstrate its operation for distance 3 and 5 codes. Finally, we use the
graphical tools to demonstrate how Clifford computation can be performed within
CPC codes. As our framework gives a new tool for constructing small- to
medium-sized codes with relatively high code rates, it provides a new source
for codes that could be suitable for emerging devices, while its zx-calculus
foundations enable natural integration of error correction with graphical
compiler toolchains. It also provides a powerful framework for reasoning about
all stabilizer quantum error correction codes of any size.
