Preheat the oven to 400°F (200°C).
Brush the cut sides of the spaghetti squash with a thin layer of olive oil and season with garlic powder, sea salt, and cracked black pepper.
Place the squash halves cut-side up on a baking sheet and roast for about 30 minutes, or until the flesh is tender and easily separates into strands.
Meanwhile, in a mixing bowl combine the softened cream cheese and 2–3 tablespoons pesto until smooth.
Add the chopped spinach, shredded Parmesan, and 1/4 cup shredded mozzarella to the pesto mixture; stir until evenly combined. Add a bit more cream cheese if the mixture is too thick.
When the squash is done, remove from the oven and let cool a few minutes. Use a fork to scrape the flesh into spaghetti-like strands, leaving the strands in the squash halves.
Divide the pesto-cream cheese mixture between the squash halves and stir it into the squash strands to combine and fluff them.
Sprinkle the remaining shredded mozzarella over each squash half and return to the oven. Bake about 10 minutes more, or until the cheese is melted and bubbly.
Remove from oven, sprinkle with crushed red pepper (and optional fresh herbs), and serve hot.