To be honest it isn't skill which helps with spy, its knowledge of the maps, skill comes into play when you try and develop your skills with each class, such as never missing a scout with the spy revovler, or double airshotting as soldier. To be *ok* (maybe 1 kpd although thats not good tbh) with soldier you only need a very limited knowledge of the map, especially if you have decent medics on your team.
With spies it's more like knowing the hiding/retreating places on each map, which is a completely different style of play to the classes you listed (although heavy can be used very effectively as an ambush character).
I wrote something about this post. But then I decided I rather leave him thinking the spy just requires map knowledge! Skill does not equal hitting 100% of the time, although it can be called skill. Skill can encompass more.
Skill:
capacity to do something well; technique, ability. Skills are usually
acquired or learned, as opposed to abilities, which are often thought of as innate.
So in effect just knowing the map is already skill. Other than that knowing when to make your move, anticipating enemy movement (even more important for the spy then soldier) are other skills that are needed for the class.
Oh and the hiding spots? Come on everyone and their dog who played tf2 for over 50 hours knows them on each map and will check nooks and crannies if the spy dissappears (hey also a skill!)
Anticipating enemy movement is needed on every class, especially on soldier, predicting is one of the main skills (movement through the air and general movement of the team), same with scout and demo. Acquired or learned is the same on any class. Its just the spy focuses on the general movement where-as the soldier has to predict the movement of the enemies as projectiles