Skills for Problem Solving