Sunflora. Sure, it has a respectable Sp. Attack stat, but other than that Sunflora is pretty bad. Then there's the fact that when you actually obtain one, you're against Grass-types - iirc you can find wild Sunfloras, so you don't need to waste a Sun Stone. Needless to say Sunflora can't really do much here. But after that it gets worse: next gym is Poison-type and after that you face Bug -types. If you really need a Grass-type in your team early on, you could go with something like Gloom or Weepinbell, even Sewaddle (and eventually Leavanny). Other than personal preference, there is no reason to use Sunflora whatsoever.
You might want to take this with a grain of salt, but in my opinion Girafarig and Skiddo are obtainable way too late. By the time you can catch Girafarig, which is before Radomus, chances are you already have a better Psychic-type. If you for whatever reason need one now, there's a plethora of alternatives already. Besides, right after Radomus you can get Abra - and eventually Alakazam - who is so much better than Girafarig.
As for Skiddo, well, you might have a faster or harder hitting Grass-type at your disposal by now. Heck, even a tankier one Grass-type tank, that's a good one. Just to name some alternatives: Roserade, Lilligant, Tangrowth, Cradily (and your starter if you chose a Grass-type). At this point of the game I can't see why you should, out of all Grass-types, pick Gogoat (aside from personal preference).
If we are talking about the main Pokemon games, however, you could say anything works. People beat those games even with just Sunkerns and Bidoofs.