Normally we do not do tutorials here, but I like EVA a lot, so here you go. :)
It can be achieved quite easy if you have some skills with views and EVA: Entity Views Attachment.
I assume you already set up the fields on the content type and user, and they are referring to the same taxonomy.
Now create a new view that lists 'user', do not add a page or block. In the top bar (below 'Displays' and next to master) add an 'EVA' display instead. In the middle column you limit this to content of you type. Leave the 'id' setting and optionally show the title:
Now to the right pane. Add a relationship from the user to your taxonomy. It will be called something like Taxonomy term referenced from field_skill. Then add a second relationship Content using field_skills. Finally, add a contextual filter for Content: ID and configure it like this:
To customize the display, add some user fields you want to display, or output rendered entities instead. You can control the display order of the EVA field on the Manage display tab of your content type.
How does this work?
It actually works in the reverse way we have configured it. EVA provides our view with the content ID we are looking at. This is provided as the first argument for the contextual filter.
By linking all users to nodes via the taxonomy and bv finally limiting that to only the node we are looking at via the contextual filter, we end up with all users that have one or more of the skills on the displayed node.