Your engine is misfiring.
Stop by an auto parts store and get them to read the codes, for free, WRITE THEM DOWN.
DO NOT buy anything at this time, no matter what parts guy says, lol.
Computer should have a record of misfires, this will tell you if it is one or two specific cylinders or if it is a random misfire, this will give you a direction of possible causes.
P0300 = random
P0301 = #1 misfire
P0306 = #6 misfire
These are specific
Could be as simple as adding a can of Seafoam to gas tank to clean dirty fuel injector tips, I do this once a year, dirty tips don't spray fuel at idle, they drip, so fuel mix doesn't ignite every time.