Cut a piece of cardboard 3-1/4"h x 4"w and use it as a shutter up against the intake opening. By limiting airflow we can artificially richen the mixture and any increase in RPM's confirms a lean condition. Starting at the front slowly slide cardboard back closing off intake opening. If the engine is running rich any amount of cardboard in front of intake will decrease RPM's. If the engine is dead nuts on at idle (mixture wise) a 3/4 blockage will make the engine begin to stumble. Will work at all RPM's.
The cardboard will seal the entire intake opening blocking all airflow quickly killing engine. If the engine continues to run with full blockage air is being drawn in elsewhere, likely the hot air door vacuum temperature system malfunction or missing hoses on bottom of air box. Check that the clip is secured bottom left of picture holding intake to air box with a good seal.

And some more testing which in most instances should be done first.
The shade tree mechanics way to engine diagnosis:
Will start off on the premise of an otherwise well running and properly maintained engine and has developed a driveability concern. Filters and plugs have been changed at regular intervals. This is a first check of basic systems that anyone can do.
First off is to check the ignition system. With the bike warmed up and idling remove and replace one plug wire at a time from the spark plugs. What we want to observe here is a uniform idle RPM drop when the wire is removed providing no ignition to that cylinder. At this same time we are also testing the plug wires. While slowly removing the wire from plug you will hear a distinct snapping noise of the spark jumping to the plug. It should jump from 1/2-1 inch, this tells us the wires are good with no excess resistance. In rare cases the plug will only fire with the wire partly disconnected adding RPM and is likely due to a fouled plug.
Next up is to remove the spark plugs noting their condition and location within the engine. Note the condition of the plugs below which were taken from my 1500 when acquired with no driveability concerns except a release start type of turning over. Plug gaps were on the wide side. These could have been original twenty two year old plugs as the bike had only thirty thousand on the odometer and I was still going through it with frequent starts and idling. Note the two inner plugs (cyls.3&4) look like they have been running slightly hotter or leaner than the others. This is due in part because inner cylinders on an engine will typically run hotter than the ones on the corners. Note these same cylinders are the ones the vacuum hoses are attached to in the runners which could also contribute to the slight difference. All white or all black plugs on one side usually indicate carburetor problems. If you suspect a bad plug you can swap it with another and repeat to see if the problem follows the plug.
When pulling plug wires and none to little RPM drop we must then find if it is lean, rich or compression related.
A proper looking spark plug.