As terrible as Spicer is at his job, I don’t think it’s entirely his fault. Basically, Trump makes sure he’s playing the game on the highest difficulty setting by spouting lies and outrageous things on a daily basis.
“Canada is the mortal enemy of America and we will begin bombing their major cities tomorrow morning. Sean, go face the press and defend that.”
It’s a job no one could do well, but Spicer is absolutely horrible at it.