Abstract We show that every NP problem is polynomially equivalent to a simple combinatorial problem: the membership problem for a special class of digraphs. These classes are defined by means of shadows and by finitely many forbidden colored subgraphs. Our characterization is motivated by the analysis of syntactical subclasses with the full computational power of NP, which were first studied by Feder and Vardi. Our approach applies to many combinatorial problems and it induces the characterization of coloring problems (CSP) defined by means of shadows. This turns out to be related to dualities. We apply this in the anlysis of local chromatic number. Particularly, we show a surprising richness of coloring problems when restricted to most frequent graph classes. Even for bounded expansion classes (which include bounded degree and proper minor closed classes) holds that the restriction of every class defined as the shadow of finitely many colored subgraphs equals to the restriction of a coloring (CSP) class.