She isn't very good at playing the piano.

Literal

She [topic-は] piano [object-を] play [nominalizer-の] [subject-が] very skillful is-not.

The verbal phrase ピアノを弾く ('play the piano') is nominalized with の, then the whole nominalized clause (ピアノを弾くの) is treated as a noun and marked with が as the subject of 上手 ('skillful'). This 'do-X-が-skillful/poor' pattern is the standard Japanese way to talk about someone being good or bad at something. あまり~ない ('not very') quietly softens the criticism, leaving room for some skill rather than declaring outright incompetence. ではありません is the polite negative copula — slightly more formal than じゃありません or じゃない.