Hi
I agree with hrsanei. You can't go wrong with..
- He is good at English
Occasionally you do hear the other prepositions..
- Your son is an athlete?
- Yes, he is good in the 500 metres
- Should we have Fred in the quiz team?
- Yes, he's good on history questions
But almost always, "at" will be right
Regards, Dave