Classic case of a bad tensioner. There is a plastic bushing inside of them that gets worn, when it does the tensioner twists and the belt starts to run off the next pulley. The ones on equipment are even worse, because of the dirt it will eat a tensioner up in 4-500 hours sometimes.
Put a new belt on, start the truck, and then shut it right off. Look at the belt and see if it is running off the next pulley.
Or put the belt on, and put a straight edge across the tensioner pulley, and get a shock.