Skills based recommendation system
Why do you want to build a learning model? 

Your problem seems to be a common assignment problem, all informations are known, absolute and deterministic. You don't need a ML algorithm for this.

Just vectorize your data as one-hot-vectors, define a distance function (you can look to the Hamming's distance). 

Compute the distance vector beetween user/task and pick the one who minimize this distance.