That much black on a GSP, it's definitely stressed. Get a ton (I mean a ton) of decorations ASAP. Doesn't really matter what it is, just things to break up line of sight. My local fish store has old beaten up fake plants for $1 a piece, I sometimes get a bunch of those and mix things up to keep my puffer "on her toes." I also recommend some kind of fake stump or cave. They like to have somewhere to retreat to and feel safe, especially when stressed. Also get some kind of substrate in there if possible. Sand is best since they tend to make little "nests" and rest on the bottom at night, and have no scales for protection. It's also (at least in my experience) easier to keep clean than gravel and they can be very messy fish with the way they eat. Most fish don't like a reflective bottom, and this goes double for GSPs and other aggressive fish -- it's constantly being taunted by a rival you can't get to to bite! Or, even if their own reflection doesn't bother them, light coming from the "wrong" direction often does.
I'll second the recommendation to avoid krill. Mine is hooked, and it really isn't good for them. I have to practically starve her to get her to accept anything else, and it can eventually give them a sort of "lock jaw" if fed too often.
You're looking for "pest" snails. My local PetSmarts will give them away for free, so you may have better luck using that term.
Was this tank fully cycled before you got the fish? What is your filtration like? Over-filtering with these guys is really important. I have mine (about 2.5") in a 20 gallon alone, with a Marineland Penguin 350B rated for a 70G tank on it, and I plan to swap that for a canister rated for 150G at some point. This should give you a point of reference for how seriously insufficient something like a 20G rated filter would be.
Full grown these guys need at least a 30G, but a 20G will be fine for a year or so if they're 2" or smaller. If he's in a 10 please get a larger tank as soon as possible. That could be part of the reason for stress.
Do you know if the fish was in brackish or fresh water at the store? Regardless, you should start transitioning to brackish as soon as possible. That alone could reduce stress a lot. I recommend moving to full marine if possible -- many GSPs seem to do a lot better in full marine, even at a very young age. If the cost of marine salt is prohibitive (using it up during water changes) just go to mid brackish. Take it slow, more to allow the bacterial colonies in your filter to die off and be replaced / transition without a sudden full die off than for the fish. I've seen these fish move from low brackish to full marine in a couple of hours without issue. They're tough, and used to salinity changes. Regardless, take it slow.
If it looks skinny, or looks "full" only briefly after eating it almost certainly has internal parasites. These are common as others have said. I recommend treating with API General Cure or similar as soon as possible. You might also try anti-parasite food, but the likelihood of it being eaten is almost zero -- these fish don't like prepared food as a rule, especially flakes, which is the only way I see medicated food offered locally. Treat with General Cure in the main tank, don't worry about quarantine. It will not hurt the good bacteria you want to keep.
If you started with 12 ghost shrimp and have 3 now, it ate 9. That's actually a lot of food, assuming we aren't talking about really tiny ghost shrimp and a full grown 6" GSP. That said, if it ate that much it really shouldn't look that skinny. Hopefully it's just the angle of pictures.
Are his fins closed (clamped) like that often? That's another sign of stress and possible disease. If he only does it occasionally it's okay, but given it was in both pictures that got me thinking.
Last thing (for now) I promise! If that isn't the only fish in that tank... get ready for a bloodbath when he starts feeling better.