Every "tech skill" most people talk about has a very short half-life. Look at how many languages, mobile platforms and frameworks appear every year. Some get picked up, some don't, and some live on in some obscure corner of the world.
Don't focus on "skills" -- focus on "fundamentals." I've had a reasonably good career for almost 20 years now, and falling back on strong fundamentals has always saved me when faced with a new challenge. Anyone can learn how to write code in Python or Ruby -- it takes a solid grounding to transfer that knowledge into different areas.
What fundamentals would I want to teach newbies now?
- Logic and reasoning -- It's fundamental to software, and aids in the troubleshooting process
- Methodical troubleshooting -- I do systems work and I have encountered so many people who troubleshoot using the shotgun method, changing 50 things at once hoping one of them will work.
- Information management -- again, from the systems world, I see lots of people who google error messages, etc. (myself included) and get 20+ ways to solve the same problem. This is one place where instant information access can backfire. Learn to recognize what is relevant and what is not.
- Systems integration -- a catch-all term, but basically "how to gather all the components together and make them work." I have had the opportunity to work on very interesting projects simply because I was willing to get my hands dirty in areas outside of my comfort zone and learn enough about them to be useful.
- Social skills -- I'm not, and will never be, an extroverted salesperson type. However, there's a broad spectrum and you don't want to be on the "asocial nerd" side of it. Fair or not, people who don't at least try to work with others are increasingly marginalized in their careers. Management would much rather offshore some obscure technical skill than deal with someone they find unpleasant. If every interaction with you becomes an argument about who's right, that's a pretty good sign...and I see this time and time again with lots of people I work with (both technical and non-technical.)
On the technical side, I'd love to see a demystification of platforms-in-a-box. The tablet/phone world is a perfect example of abstracting a system so far that you can't see anything it's doing under the hood. There's no more filesystem, data access is handled for you, etc. If you grow up using systems like this, it's hard to come back down into the weeds and see the "magic" that makes all this stuff work end-to-end.
Fundamental stuff like this has been a very good skill set to build on. The rest is all learned as needed, forgotten about, and dusted off later on. For example, I've learned and re-learned Citrix 3 times when I've needed to for a project. I re-learn enough Linux for a project when the need arises (I do Windows stuff for work mostly.) And, I'm currently upgrading years of Windows scripting and automation knowledge by learning PowerShell.