If I am not mistaken, this can be handled pretty much same as was done in your prior question on rational canonical forms.
mat = {{-x, -1, 0}, {0, -x, -1}, {-1, 0, -x}};
{uu, ss, vv} = ResourceFunction["PolynomialSmithDecomposition"][mat]
Diagonal[ss]
(* Out[1062]= {{{0, 0, -1}, {-1, 0, x}, {x, -1, -x^2}}, {{1, 0, 0}, {0,
1, 0}, {0, 0, 1 + x^3}}, {{1, 0, -x}, {0, 1, x^2}, {0, 0, 1}}}
Out[1063]= {1, 1, 1 + x^3} *)