Konnichiwa! Thank you for your post.
:arrow: *じょうず* is the adjectival noun of the adverb form じょうずに (jyozu-ni) which means "skillfully". じょうずです (Jyozu-desu) typically means "is skillful."
:arrow: *うまい* is an adjective for "is skillful/good at" and depending on the context, the particle が (ga) which often precedes うまい (i.e. きのぼり が うまい - Kinobori ga umai - "[He/she] is skillful at tree-climbing") can mark either the skill that the person in question is good at, or the person who is good at the skill in question.
In addition to these, there is one more useful phrase for describing skills and talents:
:arrow: *とくい* which means "skilled at" or "good at".
When you are talking about yourself being skilled at something, that is, for speaking one's own skills, use とくい (tokui) rather than うまい (umai) or じょうず (jouzu).
When you are talking about somebody else being good at something you can use the words じょうず (jouzu) and うまい (umai). However, じょうず (jouzu) is preferred for politeness.
Here are some examples:
わたし は ゴルフ が とくい です。(Watashi wa gorufu ga tokui desu.) "I'm good at gold."
ケン は うた が うまい！(Ken-san wa uta umai!) "Ken's good at singing!"
たなかさん は スキー が じょうず です。(Yamada-san wa sukii ga jouzu desu.) "Mr.Tanaka is good at skiing."
Always note that じょうず (jouzu) is used objectively, saying someone is "good at, excels at" something, whereas とくい (tokui) is more subjectively, and means to "feel confident/comfortable with" something.
For example, let's say you are watching someone play tennis and want to give compliments. You would say:
じょうすですね。 (Jouzu desu ne.) "He/she is good at it." / "He/she is skilled."
Similarly, へた (heta) is "not good at, bad at," while にがて (nigate) is used to say "I don't feel comfortable/confident with ~ (so, not good at it)".
good or bad at