Let me point that some ideas in the direction of what you are looking for can be found, for example, in Polya's work on heuristics (How to solve it), or in Davis and Hersh (Mathematical experience). Maybe after some reflection and elaboration, but there they are!
Maybe I should say something more about this. Mathematics exist because problems exist, particularly problems that admit solutions by a certain kind of means we could call mathematical (I know this sounds circular, but what other name could we give them?).
I would say that the two most prominent skills are idealization and abstraction. Idealization because in order to find a solution one needs to understand the problem and that involves being able to separate its relevant features from the irrelevant ones. Abstraction because the techniques developed for a particular problem become of general applicability in many other, possibly unsuspected, situations.