The most important part is probably cubeshape. Learn scallop-kite ("advanced cubeshape"), and use this list. It's like F2L; don't try learning all of them, but check the list often to see if there's anything you haven't tried.Learn some EO and CP from here. I would suggest this order:

* One-one (DG's alg is silly)

* M2 (using this with one-one gives a decent solution for L-I, I-L and three-three)

* Double M2 (just the previous alg twice)

* L-L (short alg and very similar to the EP alg, and you can't solve it with M2+one-one)

* L-I (very similar to one-one)

* Three-three (also similar to one-one)

* I-L (quite unique alg so will be harder to learn)

For CP:

* Double J (short alg and is very useful)

* Double N (even shorter alg but rarest case)

* N-J (very simple alg, just R2 U' R2 U R2 U' R2 U R2)

* J-N (mirror of previous alg)

* Bottom J and top J

* Bottom N and top N

And for EP:

M2 U2 M2 is very useful. With that and the other two algs, just work on solving cases efficiently.