A quick way to check the codes is to do this.
With your Jeep off, turn the key to just before the car wants to crank or the ACC position, then back off then back to the ACC position, then back off and finally to the ACC position and leave it. Now watch your check engine light. It should start to blink. These blinks indicate the trouble code.
So if it was something like 2 quick blinks then a pause then 4 blink, that would indicate code 24 which is throttle position sensor. If there is multiple codes, there will be another long pause, and then it will do the same blinking as with the first code.
http://www.jeepforum.com/forum/f13/95-zj-diagnostic-codes-629996/ Has the instructions and the list of the check engine light codes. Its the second post.
Alternatively you can do as what was already posted, go to an auto parts store, and have them do a Free code scan.
As for the shifting, check the transmission fluid, what color is it, is it too low to high. Fluid level is checked in park or neutral with the engine running and at operating temperature.