Cook the pasta shells to al dente then put them out on a single layer on a kitchen towel so they won’t stick together
In a skillet over medium heat combine the oil and onion. Cook until onions are soft and translucent than add the garlic and cook until fragrant (1-2 more minutes).
In a separate bowl combine ricotta, cream cheese, egg, parsley, salt, basil, parmesan, spinach, and half of the mozzarella cheese. Mix well.
Preheat oven to 350° F. Get two 9x13 inch baking dishes and pour out half a jar of the marinara sauce into each pan.
Take the cheese filling and put it into a gallon size ziplock bag. Snip one corner and pipe the filling into the shells, about 2-3 Tablespoons worth in each shell.
Fill all the shells (about 20 per pan) then cover with remaining marinara and mozzarella.
Bake covered at 350°F for 40 minutes then uncovered for an additional 5-10 minutes.