[verb ます-stem] + すぎる
~すぎる means "too", "too much": something goes past the point where it is fine. It goes on a verb's ます-stem, on an い-adjective with its final い dropped, and straight on a な-adjective.
The い of an い-adjective goes: ×高いすぎる → 高すぎる. Two adjectives change shape. いい uses its old form よい, and ない adds さ.
A verb's ない-form works the same way as ない: たべない食べない becomes たべ食べなさすぎる, "eats far too little".
すぎる is a る-verb, so it takes every ending a る-verb does: すぎた, すぎて, すぎない. The て-form gives the reason something went wrong.
These go beyond the plain "too much".
The ます-stem すぎ works as a noun, so it can take です or a particle.
In casual speech ~すぎる on a good quality is praise: the thing is better than you expected.