If the object is a topic, we usually use 'on'. This means that you have a lot of knowledge about it. For example:
He's an expert on economics.*
I'm an expert on this subject.
We say 'He's an expert at skating' because this is an ability or skill. Saying this is similar to saying 'He's good at skating, meaning that he skates very well.
If you were to say 'He's an expert on skating', this would have a different meaning. It would mean that he knew a lot about skating - perhaps the technical aspects of the skating, or about championships and famous skaters, or about the history of the sport.
* Note the plural form. 'Economic' is an adjective. 'Economics' is the noun.