Bring a large pot of water to a boil. Cook shells 12-15 minutes, until al dente (pro tip: cook a few extra pasta shells in case some rip or break). Drain pasta in a waiting colander, then use tongs to remove the hot shells and lay them on wax paper to cool.
Preheat oven to 350ºF. If using frozen spinach, first defrost then squeeze any excess water from the spinach.
While pasta is cooking, in a medium-sized mixing bowl, combine ricotta cheese, mozzarella cheese, basil, parsley, garlic, egg, salt, pepper, and spinach.
Fill shells with rounded spoonfuls of the cheese mixture and arrange them with the open/filling side down, side by side, in a large casserole dish.