Skills based recommendation system Assuming that I have a list of Users with a list of skills: (each value is a different skill)



And a list of Tasks with a list of demanded skills:



Based on a manual classification that returned: (History list)


Task1 --> Recommended: User3
Task2 --> Reccomended: User5
Task3 --> Recommended: User6
Task4 --> Recommended: User9
Task5 --> Recommended: User8


Given a new Task(6) with skills (A,B,C...):


What would be the best way or approach to build a recommendation system that learns with past data (history list) and returns a list of the "best ranked" users to perform this Task?
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.