To be good at and to be good in are often interchangeable, and there is no easy rule to follow. In simple statements, the standard form appears to be good at as in 'I'm not very good at football'.
However, in this following sentence, to be good in seems more likely than to be good at, i.e:
'He...