These phrases are not as easy as they are in English. Pay attention to part of speech and when you use these phrases.
The expression "good at" is typically expressed by one of three phrases. These phrases are not quite the same. First, look at the chart below.
|上手い・巧い||うまい||Good at||Shows someone's good abilities.|
|得意||とくい（な）||Good at||Talks about one's or someone's forte.|
|上手||じょうず（な）||Good at||Speaks of other people's abilities.|
Kanji Note: うまい is typically spelled in ひらがな.
Both 上手 and 得意 mean that someone is good at some activity; however, 上手 is objective, and 得意 is subjective. 上手 is used to indicate that someone is skillful based on other people's opinions. 得意, though, indicates that the person in question thinks oneself is good. It may also, however, show specifically someone's strong point. For 上手 to be used for oneself, something has to be done to get rid of the haughtiness. Or, if you want to sound like that, go right ahead.
So, 得意 can be translates as "forte". So, for speaking of one's own skills, use 得意. You should also not use うまい in reference to yourself. It is also important to note that うまい often means "delicious", but it should be obvious in context whether it is referring to someone's ability or something's taste.
Lastly, before we move on to the example sentences, it is important to remember that these phrases are all adjectives, 形容動詞 to be exact.
He's good at sucking up to his mother, isn't he?
I am good at swimming.
I am good at video games.
“Is your Japanese teacher good at (making) Japanese food?” “I don't know whether my teacher is good at cooking or not?”.
You really are good at speaking English, aren't you Jennifer!
She is quite strong at swimming.
She is good at swimming.
Contrast Note: If you are in a swimming match and want to know about how good your rivals are, being told sentence #6 may make you a little worried as it sounds like she is actually formidable.
I think that I'm good at it.
Nuance Note: This sentence would be in a response in a dialogue where others are making comments about ability, so it wouldn't be out of place. What follows is a good complement to leveling the haughtiness that would otherwise accompany 上手.
Cultural Note: In response to being told you're good at something, you should respond by saying "いいえ、まだまだです".
Honorific Note: The お attached to 上手 is being used here for honorific speech, but it is most likely to be used in this situation by a female speaker.
As you can imagine, the phrases for "bad at" should be very similar to the ones for "good at". If you thought this, you would be right. Just like before, these phrases are 形容動詞.
|下手||へた（な）||Awful at||Speaks badly of one's or someone's abilities.|
|苦手||にがて（な）||Bad at||Shows one's or someone's bad abilities.|
|不得意||ふとくい（な）||Not one's forte||Refers politely about other people's bad abilities.|
|不味い・拙い||まずい||Unskilled||Speaks harshly of skill and not a nice word.|
|拙い||つたない||Poor at||Unskillful and awkward and not a nice word.|
There are no reference restrictions as there are for the "good at" phrases, but the nuances are different as is noted in the third column. It is to note that 苦手 more so implies that doing something brings on a bitter experience, which may not necessarily imply a truly bad ability. However, sometimes this is clearly not the case, but it's not as harsh in nature as 下手.
まずい is most often used in reference to poor flavor, which ultimately reflects on the cooker's ability of cooking. まずい is normally written in かな.
She is bad at driving.
His wife is a little bad at managing, isn't she?
She is not good at physics.
I am awful at swimming.
He is bad at math.
Your handwriting is bad.
Oh, that was just awful.
I am bad at writing a reply in E-mail in Korean.