What are "general purpose programming skills"?
General Purpose Programming Skills
General purpose programming skills can also be called Computational Thinking. Computational thinking has four cornerstones¹:

Decomposition - breaking down a complex problem or system into smaller, more manageable parts
Pattern recognition (data representation) – looking for similarities among and within problems
Generalization (abstraction) – focusing on the important information only, ignoring irrelevant detail
Algorithms - developing a step-by-step solution to the problem, or the rules to follow to solve the problem

Computational Thinking: What It Is, and Isn't
Jeannette Wing, formerly head of the Computer Science at Carnegie Mellon Univ., Pittsburgh, PA, USA published an article in Communications of the ACM where she covers, rather nicely, the ideas of computational thinking, and how it differs from computer programming.²

Conceptualizing, not programming. Computer science is not computer programming. Thinking like a computer scientist means more than being able to program a computer. It requires thinking at multiple levels of abstraction;
Fundamental, not rote skill. A fundamental skill is something every human being must know to function in modern society. Rote means a mechanical routine. Ironically, not until computer science solves the AI Grand Challenge of making computers think like humans will thinking be rote;
A way that humans, not computers, think. Computational thinking is a way humans solve problems; it is not trying to get humans to think like computers. Computers are dull and boring; humans are clever and imaginative. We humans make computers exciting. Equipped with computing devices, we use our cleverness to tackle problems we would not dare take on before the age of computing and build systems with functionality limited only by our imaginations;
Complements and combines mathematical and engineering thinking. Computer science inherently draws on mathematical thinking, given that, like all sciences, its formal foundations rest on mathematics. Computer science inherently draws on engineering thinking, given that we build systems that interact with the real world. The constraints of the underlying computing device force computer scientists to think computationally, not just mathematically. Being free to build virtual worlds enables us to engineer systems beyond the physical world;
Ideas, not artifacts. It’s not just the software and hardware artifacts we produce that will be physically present everywhere and touch our lives all the time, it will be the computational concepts we use to approach and solve problems, manage our daily lives, and communicate and interact with other people; and
For everyone, everywhere. Computational thinking will be a reality when it is so integral to human endeavors it disappears as an explicit philosophy.


1: Source: BBC Bitesize - KS3 Computer Science - Introduction to computational thinking
2: Source: Jeannette M. Wing &quot;Computational Thinking&quot; Communications of the ACM. 49 (3): 33.