Each of those are separate systems that will each require their own individual solution, and there will be no single way of solving any of them.
Start with the platform behaviour ( ) . Once familiar with the behaviour and how the various variables interact, you should start looking at manipulating the X and Y vector of your character to achieve parkour-like movements.
A lot of these movements will also be context-based, so you'll want to build levels with markers placed throughout to 'hook' these actions onto. (Disclaimer - there are probably others ways to do it by extracting information directly about your environments - but for the number of different possible movements you want I doubt that would be easy, if possible)