Noun + が + 上手
Verb[plain, dictionary form] + の + が + 上手
The word 上手 (じょうず) is used to describe someone's skill or proficiency in something. It is attached to a noun or a verb nominalized with の or こと to express that someone is good at an action or activity.
Describing Skill with Nouns: Use ~が上手 after the thing someone is good at.
Describing Skill with Actions: Attach の or こと after the plain form of a verb to nominalize it, then use ~が上手.
Note: 上手 is used to praise or compliment others. When talking about your own skills, it can sound arrogant, so it's often better to use 得意 (とくい) instead.
上手 is usually not used for negative statements. Instead, use 下手 (へた) to say someone is not good at something.