Snake graphs appear naturally in the theory of cluster algebras. For cluster algebras from surfaces, each cluster variable is given by a formula whose terms are parametrized by the perfect matchings of a snake graph. In this paper, we continue our study of snake graphs from a combinatorial point of view. We advance the study of abstract snake graphs by introducing the notions of abstract band graphs, self-crossings of abstract snake graphs as well as their resolutions. We show that there is a bijection between the set of perfect matchings of crossing or self-crossing snake graphs and the set of perfect matchings of the resolution of the crossing. In the situation where the snake and band graphs are coming from arcs and loops in a surface without punctures, we obtain a new proof of skein relations in the corresponding cluster algebra.