Based on some skimming of the source for 2.3 stable release:
0: strength (XP gain is flat per mission)
1: speed (XP gain based on movement -- distance, TUs)
2: accuracy (XP gain based on kills with any weapon, but gain is 50% higher for fire modes that use 'sniper' skill)
3: mind (XP gain based on kills, plus a flat per mission bonus)
4: close combat (all XP gain for weapon skills is based strictly on kills using that skill)
5: heavy
6: assault
7: sniper
8: explosive
9: health (XP gain is based on total XP gain for the mission)
XP gain per skill per mission is capped; caps again depend on skill.
Generally new_skill = original_skill + (XP/100)^0.6.