Does this wiring sound right?
The yellow romex means that it contains 12 AWG wires which is suitable for any circuit 20 amps or less, this is appropriate.

The GFCI outlet seems to provide fault protection for the can lights that are operated by a switch.

Some things to check:


The NEC requires that a bathroom fan is on its own circuit.  You can verify this by making sure there is a 20 amp circuit breaker at the box that is feeding the red wire.
The wire has different circuits on a shared neutral.  This is acceptable only if the breakers for the two circuit are on a single throw switch.  If one breaker trips then they must both trip.
You didn't mention a bare equipment ground.  Ensure that everything is appropriately grounded.
Ensure that the manufacturer specifications on the fan call for a 20 amp circuit.
Is there also a switch for the fan?  You didn't mention it but unless you want it to run constantly then it will need a switch.
You mention that you believe black is 15 amp and red is 20 amp.  I can't believe the lights would require 20 amps and the fan 15.  Double check which color leads to what circuit breaker before you continue.