… I have a problem with having to teach things to a timelord professor. Who am I? The master? 
Pop your heightmap into any GIS software.
Run a slope calculation.
Isolate the slope area you are interested in and generate a texture from it.
Once you have the texture, you can use that to procedurally spawn non collision items via the grass node.
Or, you can use the beta procedural tools to spawn collision blocking stuff on that specific “layer” (so to speak. Just output to a grass layer and assign no meshes to it. It should create something that the procedural tool can sample against to determine placement - a bit of a hack using what is avaliable.
Why all of that instead of just calculating slope in engine?
Well, because in engine is never as accurate math wise as a GIS software.
It’s also expensive if you let the material stay that way for runtime.
Auto material that calculate slope are expensive by nature (the calcs involved) - when you also add textures it becomes a lot. Usually too much for most devices.
Houdini aside (which I should mention went “free” a while back) you can pop the texture of the slope isolation into blender and use it to change and even isolate the area of the landscape to sculpt manual mashes on.
If you increase the base tessellation, run a couple displacements, and simplify - you end up with near perfect low poly count realistic cliffs to turn into procedural assets.