Given a $3$D mesh, which is nothing more than a set of points with coordinates on the $3$axis, I follow the intuitive definition of gradient, which means I'm trying to get the "slope".
Following the instructions in the answer to this question, it's possible to define the result of the final arccos as a gradient ?
Starting from a set of points and normals, it's possible to compute the slope in another way?
For a surface with equation $z=f(x,y)$, the magnitude of the gradient $|\nabla f|$ could indeed be called the slope of the surface. (This matches the terminology for $y=f(x)$, except here we don't talk about negative slope.) Understood in this way, the slope is the tangent of the angle $\theta$ between the normal vector and the vertical direction. So, if this is the quantity that you want, and your normal vector is $(u,v,w)$, then the formula you got at SO $$\cos\theta = \frac{w}{\sqrt{u^2+v^2+w^2}}$$ leads to the slope being $$\tan\theta = \frac{1}{\cos^2\theta}-1 = \frac{u^2+v^2}{ w^2 }$$ Whether $\theta$ or $\tan\theta$ is more useful for your purpose, I can't tell.
You may also want to look at the algorithm that Matlab uses for the numerical gradient.