Here's what the BBC Learning English site has to say: To be good at and to be good in are often interchangeable, and there is no easy rule to follow. In simple statements, like the ones you have quoted, the standard form appears to be good at as in 'I'm not very good at football'. '
New words, one handy idiom, and a 2-minute quiz — delivered to your inbox to keep your streak alive.