Your puppy might be thin, or he may not be. It depends on how his body should grow naturally, and how big he is, and how big he is going to be. You can't go by what a GSDP ought to be. They are individuals. Some grow up faster, and some fill out slower. The pup should have his ribs easy to feel, but not able to see. You need to go by what your pup looks like. He should have a little tuck where his waist is, from the side and from the top, for adult dogs. Puppies can hold a little less definition, but you do not want them to be over-weight.
boiled chicken breast and boiled rice and an egg is NOT a balanced diet for a dog. Kibble ought to be, but what you are doing is creating a picky eater. Leaving food for him to graze all day, is not what you should do.
He should eat three times a day on a schedule. Put the food down (1/3 of what his daily intake should be) for 10 minutes, and then pick it up and cover the bowl. Wait until his next time to eat, and put the bowl down for 10 minutes and then pick it up and cover. Do this for each of the three meals of the day.
He will learn to eat his food when it is available. This is helpful because when a dog is sick the first symptom is often not eating, and you then know right away that something is going on.
I know you want to give your puppy goodies. Here is what to do. The dog does not need rice at all. Once he is eating his kibble good, hard boil 7 eggs and refrigerate. Take one out of the shell and give it to him outside, one per day. It won't hurt him and it is animal protein.
Now, boil up that chicken breast and then cut it into small bite size pieces. Put it in 2-3 sandwich bags, and refrigerate. Now, 3 times per day, take 1 of the bags outside and do a short training session, using the chicken as treats -- refrigerate unused portion. Give him 1/3 to 1/2 the chicken as treats for training through the course of the day -- I would definitely start with 1/3 of a chicken breast in a day cut between 2-3 training sessions.
A perfectly healthy dog will not starve himself to death, but he might hold out for steak or chicken if you keep giving it to him. Get him to eat his kibble on time, every day. Find the right amount of kibble for healthy growth. Then shave back the kibble for the number of calories you are going to feed with training treats.
BTW, what the bag says is usually inflated. They will say a 20 pound puppy needs 3 cups, or something like that, when really the puppy needs 2 cups or less. This is because all puppies are different and have different energy levels, and also because the dog food company wants to sell you 40 pounds of food even if all you need is 30 pounds. So they are perfectly happy with you pitching 1/4th of the food. And yes, kibble does get stale and dogs don't want to eat it then.
A good rule of thumb is to up the food if the dog is eating it all and licking the bowl looking for more.
If the bag says your pup needs 3 cups, start with 3/4 cup 3 times a day. If he is eating it all and looking for more, give him and extra quarter cup. If he leaves kibble in the bowl, shave it back a little, sometimes going from level to scant is enough.
Now when you add the chicken use the number of calories per cup to determine what you need to shave off, for the training treats. This is more important for over weight dogs. Again, you might just go from level to scant, or drop 1/4 cup of kibble in 1 meal or 2 meals, and use the chicken for training.
Heidi Ho, Odie
Joy-Joy, Bear Cub, Hepsi-Pepsi
Cujo2, Karma Chameleon
Ramona the Pest, Kojak -- who loves you baby?
Tiny Tinnie, Susie's Uzzi, Kaiah -- The Baby Monster.