The phrase "good at" is the standard idiomatic expression used to indicate proficiency or skill in a particular subject or activity.
The correct grammatical usage is: $\text{Subject} + \text{is/are} + \text{good/bad} + \text{at} + \text{skill/subject}$.
Therefore, the correct preposition is "at".