Combine the flour, cocoa powder, baking soda, salt, and garam masala in a large bowl. Set aside.
Add the butter to the bowl of a stand mixer fitted with a paddle (or in a large bowl if using a hand mixer). Beat on medium-high speed until the butter is smooth, about 1 minute. Add the sugar and ginger; continue to beat over medium-high speed until light and fluffy, about 4 minutes. Scrape down the sides of the bowl and beat in the egg until fully incorporated. Add the molasses and continue to beat until fully incorporated. Add the flour in 2 batches and mix on low until combined and forms a sticky dough. Divide the dough in half, wrap in plastic wrap, and pat into 2 (1/2-inch thick) rectangles. Chill for at least 2 hours and up to overnight.
Preheat the oven to 350 degrees F and adjust racks to the bottom and top half of the oven. Line 3 to 4 baking sheets with parchment paper. Lightly dust a clean work surface with flour.
Roll each portion of the dough into a 1/4-inch thick rectangle (if the dough becomes soft, chill for a bit in the refrigerator). Cut the dough with 3-inch cookie cutters, lay on the prepared baking sheets about 1-inch apart, and chill for 10 minutes. Bake until the cookies are golden around the edges, about 12 minutes. Transfer to a rack to cool completely. Decorate, as desired, with Chocolate Glaze or Royal Icing. Garnish with toasted fennel seeds, dried rose petals, or silver dragees.
Combine all the ingredients in a microwave-safe bowl, cover with plastic wrap, and cook until the chocolate melts, about 1 1/2 minutes. Stir to smooth out and combine.
Combine all the ingredients in a medium bowl. Beat with an electric hand mixer over medium-high speed until it forms thick and glossy peaks, about 6 minutes.