As far as I see it, every proof I have ever encountered has been of two types:
A => B, or A <=> B.
The first of which has the following structure: A: Given conditions (a,b,c,...) are true; B: We can say (..., x, y, z) are true.
The second having a structure: A: Given conditions (a,b,c,...) are true; B: We can say (..., x, y, z) are true.
AND
B: Given conditions (..., x, y, z) are true; A: We can say (a,b,c,...) are true.
The easiest (and quickest) way for me to parse proofs given the above representation is by ensuring I know what the conditions (a, b, c, ...) mean and how removing one of them changes the proof, therefore ensuring I know exactly how each condition contributes to the final result.
(This is probably what he was talking about in his second point)