Just a side note, that the below can be written more simply-
CASE WHEN UserSkills.craftsmanship_id IS NULL THEN FALSE ELSE TRUE as has
If you want to be direct-
UserSkills.craftsmanship_id IS NOT NULL as has