[verb (dictionary form)] + のが上手(です) [する verb (dictionary form)] + のが上手(です)
Pattern in context:
The pattern のが上手 is used to express that someone is good at doing something. The verb in its dictionary form is followed by の, which nominalizes the verb (turns it into a noun-like phrase), and then が marks it as the subject of じょうず上手 ("skilled / good at").
The particle の after a verb turns the action into a concept – "the act of doing ~." Then がじょうず上手 indicates skill at that action. The person who is skilled is marked with は.
Pattern: [Person] は [Verb dictionary form] のが上手(です)
When talking about other people's abilities, じょうず上手 is natural and serves as a compliment. However, when talking about your own abilities, using じょうず上手 can sound boastful. In that case, とくい得意(とくい)is preferred:
Since じょうず上手 is a な-adjective, it conjugates accordingly:
Negative: 上手じゃない / 上手ではありません
Past: 上手だった / 上手でした