Its a little bit zen, but one dosen't get 'mad skills' by wanting 'mad skills'. One achieves a higher level of skills by actually making use of the skills you have. I started off with pretty pathetic reputation, and got better with time.
First of all, most high rep folk tend to specialise. Two of the high rep users here tend to be OS X users mostly. I'm a hardware nut (who's an accidental generalist). There's windows specialists as well. They use these OSes and have a knowledge of how things work, roughly. You primarily learn by solving your own problems. This is often a combination of the very scientific process known as poking stuff with a stick (primary sources), and finding, and combining stuff other people found by poking with a stick. Knowledge very rarely is a vacuum, when it comes to computers. We're always cribbing notes from each other, and sharing knowledge.
As men of science, we do not simply poke things with a stick blindly. We have specific ways of poking things with a stick. A good computer guy has a process, a way of poking at things with a stick to get answers. He reads up on better ways of poking, and new and improved poking tools. He eventually finds his perfect poker.
Working out questions where you know part of the answer is a good way to hone your skills to, especially if its an unfamiliar scenario. Its also useful to post a 'good' answer, and not be afraid to make it better. My most highly voted (and now CWed) answer was edited multiple timesedited multiple times as I refined it. The original question was not in my usual problem domain, but it was fun to solve.
In short, don't be afraid to experiment, and to read and learn. ;p