Я тоже задалась этим вопросом, поискала в Интернете, и вот что я примерно поняла и могу тебе передать:
good at (doing something) - хорош в (каком-либо действии)
good in (something) - хорош в (чём-либо)
Примеры:
He is really good at playing football (tennis).
He is really food in football (tennis). Про школьные предметы тоже говорим in.
Строгих-престрогих правил, как я поняла, нет, так что всё ещё может зависеть от собеседника. Ты говори по правилам.