Here's what I knew when I broke 25 seconds on average:
3 EO algs
4 CP algs
4 or 5 EP algs.
The EO's I knew were:
(0,-1)/(-3,0)/(4,1)/(-4,-1)/(3,0)/
(0,-1)/(1,1)/
(1,0)/(-3,0)/(-1,-1)/(4,1)/
CP's:
the CP's here are essentially 2x2 algorithms. I've written them as such. Take R2 to be / and U and D to be 90 degree turns. You can perform all of these algorithms after, for example, (1,0) to move edges around differently. Either way, they all do various combinations of J perms and N perms.
R2 U R2 U' R2 U R2 U' R2
R2 U R2 U' R2 U R2 D' R2 U' D R2
R2 U D' R2 U' D R2
R2 U' R2 U D R2 D' R2
EP:
Learn some sort of parity fix. I did my parity fix before permuting corners, but I generally suggest learning the pure 2-edge swap. Besides that, learn all 3 of lars' "1 swap in U, 1 swap in D" algorithms. Other than that, there are a few things you can do intuitively using the second EO algorithm: Z perm, H perm, etc.
If you have already learned all of these, you can definitely average sub25. Practice getting to cube shape in about 6-7 seconds on average.